module Test_interfaces = let conf ="# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface source /etc/network/interfaces.d/*.conf auto lo eth0 #foo allow-hotplug eth1 iface lo inet \ loopback mapping eth0 script /usr/local/sbin/map-scheme map HOME eth0-home map \ WORK eth0-work iface eth0-home inet static address 192.168.1.1 netmask 255.255.255.0 bridge_maxwait 0 # up flush-mail down Mambo #5 iface eth0-work inet dhcp allow-auto eth1 iface eth1 inet dhcp iface tap0 inet static vde2-switch - mapping eth1 # I like mapping ... # ... and I like comments script\ /usr/local/sbin/map-scheme iface bond0 inet dhcp bridge-ports eth2 eth3 eth4 iface br0 inet static bond-slaves eth5 eth6 address 10.0.0.1 netmask 255.0.0.0 source /etc/network.d/*.net.conf " test Interfaces.lns get conf = { "#comment" = "This file describes the network interfaces available on your system"} { "#comment" = "and how to activate them. For more information, see interfaces(5)." } { "#comment" = "The loopback network interface" } {} {"source" = "/etc/network/interfaces.d/*.conf"} {} { "auto" { "1" = "lo" } { "2" = "eth0" } { "3" = "#foo" } } { "allow-hotplug" { "1" = "eth1" } } { } { "iface" = "lo" { "family" = "inet"} { "method" = "loopback"} {} } { "mapping" = "eth0" { "script" = "/usr/local/sbin/map-scheme"} { "map" = "HOME eth0-home"} { "map" = "WORK eth0-work"} {} } { "iface" = "eth0-home" { "family" = "inet"} { "method" = "static"} {} { "address" = "192.168.1.1" } { "netmask" = "255.255.255.0" } { "bridge_maxwait" = "0" } { "#comment" = "up flush-mail" } { "down" = "Mambo #5" } {} } { "iface" = "eth0-work" { "family" = "inet"} { "method" = "dhcp"} {} } { "auto" { "1" = "eth1" } } { "iface" = "eth1" { "family" = "inet"} { "method" = "dhcp"} {} } { "iface" = "tap0" { "family" = "inet" } { "method" = "static" } { "vde2-switch" = "-" } {} } { "mapping" = "eth1" { "#comment" = "I like mapping ..." } { "#comment" = "... and I like comments" } {} { "script" = "/usr/local/sbin/map-scheme"} {} } { "iface" = "bond0" { "family" = "inet" } { "method" = "dhcp" } { "bridge-ports" { "1" = "eth2" } { "2" = "eth3" } { "3" = "eth4" } } {} } { "iface" = "br0" { "family" = "inet" } { "method" = "static" } { "bond-slaves" { "1" = "eth5" } { "2" = "eth6" } } { "address" = "10.0.0.1" } { "netmask" = "255.0.0.0" } {} } {"source" = "/etc/network.d/*.net.conf"} test Interfaces.lns put "" after set "/iface[1]" "eth0"; set "/iface[1]/family" "inet"; set "/iface[1]/method" "dhcp" = "iface eth0 inet dhcp\n" test Interfaces.lns put "" after set "/source[0]" "/etc/network/conf.d/*.conf" = "source /etc/network/conf.d/*.conf\n" (* Test: Interfaces.lns source-directory (Issue #306) *) test Interfaces.lns get "source-directory interfaces.d\n" = { "source-directory" = "interfaces.d" }