[pve-devel] [PATCH container 5/5] Add snapshot tests

Fabian Grünbichler f.gruenbichler at proxmox.com
Mon Feb 22 13:09:01 CET 2016


tested so far:
-snapshot_prepare
-snapshot_commit
-snapshot_create
-snapshot_delete
---
 src/test/Makefile                                  |  10 +-
 src/test/run_setup_tests.pl                        |  98 ++++++
 src/test/run_snapshot_tests.pl                     |  10 +
 src/test/run_tests.pl                              |  98 ------
 src/test/setup-centos6-001/config                  |   4 +
 src/test/setup-centos6-001/etc/hosts.exp           |   2 +
 .../etc/init/power-status-changed.conf.exp         |   5 +
 .../setup-centos6-001/etc/init/start-ttys.conf.exp |  18 ++
 src/test/setup-centos6-001/etc/init/tty.conf.exp   |  13 +
 src/test/setup-centos6-001/etc/rc.d/rc.sysinit     |   6 +
 src/test/setup-centos6-001/etc/rc.d/rc.sysinit.exp |   6 +
 src/test/setup-centos6-001/etc/redhat-release      |   1 +
 src/test/setup-centos6-001/etc/resolv.conf.exp     |   3 +
 src/test/setup-centos6-001/etc/securetty           |  23 ++
 src/test/setup-centos6-001/etc/securetty.exp       |  28 ++
 src/test/setup-centos6-001/etc/sysconfig/network   |   0
 .../etc/sysconfig/network-scripts/ifcfg-eth0.exp   |   6 +
 .../etc/sysconfig/network-scripts/ifcfg-eth1.exp   |   5 +
 .../setup-centos6-001/etc/sysconfig/network.exp    |   2 +
 src/test/setup-debian-001/config                   |   1 +
 src/test/setup-debian-001/etc/crontab              |  15 +
 src/test/setup-debian-001/etc/crontab.exp          |  15 +
 src/test/setup-debian-001/etc/debian_version       |   1 +
 src/test/setup-debian-001/etc/hostname.exp         |   1 +
 src/test/setup-debian-001/etc/hosts.exp            |   2 +
 src/test/setup-debian-002/config                   |   4 +
 src/test/setup-debian-002/etc/debian_version       |   1 +
 src/test/setup-debian-002/etc/hostname.exp         |   1 +
 src/test/setup-debian-002/etc/hosts.exp            |   2 +
 .../setup-debian-002/etc/network/interfaces.exp    |  14 +
 src/test/setup-debian-003/config                   |   5 +
 src/test/setup-debian-003/etc/debian_version       |   1 +
 src/test/setup-debian-003/etc/hostname.exp         |   1 +
 src/test/setup-debian-003/etc/hosts.exp            |   2 +
 src/test/setup-debian-003/etc/network/interfaces   |   2 +
 .../setup-debian-003/etc/network/interfaces.exp    |   6 +
 src/test/setup-debian-004/config                   |   5 +
 src/test/setup-debian-004/etc/debian_version       |   1 +
 src/test/setup-debian-004/etc/hostname.exp         |   1 +
 src/test/setup-debian-004/etc/hosts.exp            |   2 +
 src/test/setup-debian-004/etc/network/interfaces   |   2 +
 .../setup-debian-004/etc/network/interfaces.exp    |   9 +
 src/test/setup-debian-005/config                   |   2 +
 src/test/setup-debian-005/etc/debian_version       |   1 +
 src/test/setup-debian-005/etc/hostname.exp         |   1 +
 src/test/setup-debian-005/etc/hosts.exp            |   2 +
 src/test/setup-debian-005/etc/inittab              |  69 +++++
 src/test/setup-debian-005/etc/inittab.exp          |  64 ++++
 src/test/setup-debian-006/config                   |   2 +
 src/test/setup-debian-006/etc/debian_version       |   1 +
 src/test/setup-debian-006/etc/hostname.exp         |   1 +
 src/test/setup-debian-006/etc/hosts.exp            |   2 +
 src/test/setup-debian-006/etc/inittab              |  69 +++++
 src/test/setup-debian-006/etc/inittab.exp          |  60 ++++
 src/test/setup-debian-007/config                   |   3 +
 src/test/setup-debian-007/etc/debian_version       |   1 +
 src/test/setup-debian-007/etc/hostname.exp         |   1 +
 src/test/setup-debian-007/etc/hosts.exp            |   2 +
 src/test/setup-debian-007/etc/resolv.conf.exp      |   3 +
 src/test/setup-debian-008/config                   |   9 +
 src/test/setup-debian-008/etc/debian_version       |   1 +
 src/test/setup-debian-008/etc/hostname.exp         |   1 +
 src/test/setup-debian-008/etc/hosts                |   2 +
 src/test/setup-debian-008/etc/hosts.exp            |   2 +
 src/test/setup-debian-008/etc/network/interfaces   |   2 +
 .../setup-debian-008/etc/network/interfaces.exp    |   9 +
 src/test/setup-debian-008/etc/resolv.conf.exp      |   3 +
 src/test/setup-debian-009/config                   |   1 +
 src/test/setup-debian-009/etc/debian_version       |   1 +
 src/test/setup-debian-009/etc/hostname.exp         |   1 +
 src/test/setup-debian-009/etc/hosts.exp            |   2 +
 src/test/setup-debian-009/etc/passwd               |  21 ++
 src/test/setup-debian-009/etc/passwd.exp           |  21 ++
 src/test/setup-debian-009/etc/shadow               |  21 ++
 src/test/setup-debian-009/etc/shadow.exp           |  21 ++
 src/test/setup-debian-010/config                   |   2 +
 src/test/setup-debian-010/etc/debian_version       |   1 +
 src/test/setup-debian-010/etc/hostname.exp         |   1 +
 src/test/setup-debian-010/etc/hosts.exp            |   2 +
 src/test/setup-debian-010/etc/inittab              |  64 ++++
 src/test/setup-debian-010/etc/inittab.exp          |  64 ++++
 src/test/setup-debian-011/config                   |   1 +
 src/test/setup-debian-011/etc/debian_version       |   1 +
 src/test/setup-debian-011/etc/network/interfaces   |   2 +
 .../setup-debian-011/etc/network/interfaces.exp    |   8 +
 src/test/setup-debian-012/config                   |   2 +
 src/test/setup-debian-012/etc/debian_version       |   1 +
 src/test/setup-debian-012/etc/network/interfaces   |   2 +
 .../setup-debian-012/etc/network/interfaces.exp    |  21 ++
 src/test/setup-debian-013/config                   |   1 +
 src/test/setup-debian-013/etc/debian_version       |   1 +
 src/test/setup-debian-013/etc/hosts                |   1 +
 src/test/setup-debian-013/etc/hosts.exp            |   2 +
 src/test/setup-opensuse-001/config                 |   5 +
 src/test/setup-opensuse-001/etc/SuSE-brand         |   2 +
 src/test/setup-opensuse-001/etc/hosts.exp          |   2 +
 src/test/setup-opensuse-001/etc/resolv.conf.exp    |   3 +
 src/test/setup-opensuse-001/etc/securetty          |   7 +
 src/test/setup-opensuse-001/etc/securetty.exp      |  12 +
 .../etc/sysconfig/network/ifcfg-eth0.exp           |   3 +
 .../etc/sysconfig/network/ifcfg-eth1.exp           |   3 +
 .../etc/sysconfig/network/ifcfg-eth2.exp           |   2 +
 .../etc/sysconfig/network/ifcfg-eth3.exp           |   2 +
 .../etc/sysconfig/network/ifroute-eth0.exp         |   3 +
 .../etc/sysconfig/network/ifroute-eth1             |   1 +
 .../etc/sysconfig/network/ifroute-eth1.exp         |   1 +
 src/test/setup-opensuse-002/config                 |   4 +
 src/test/setup-opensuse-002/etc/SuSE-brand         |   2 +
 src/test/setup-opensuse-002/etc/securetty          |   7 +
 src/test/setup-opensuse-002/etc/securetty.exp      |  12 +
 .../etc/sysconfig/network/ifcfg-eth0.exp           |   3 +
 .../etc/sysconfig/network/ifcfg-eth1.exp           |   3 +
 .../etc/sysconfig/network/ifcfg-eth2.exp           |   2 +
 .../etc/sysconfig/network/ifroute-eth0.exp         |   3 +
 src/test/setup-opensuse-003/config                 |   5 +
 src/test/setup-opensuse-003/etc/SuSE-brand         |   2 +
 src/test/setup-opensuse-003/etc/securetty          |   7 +
 src/test/setup-opensuse-003/etc/securetty.exp      |  12 +
 .../etc/sysconfig/network/ifcfg-eth0.exp           |   4 +
 .../etc/sysconfig/network/ifcfg-eth1.exp           |   2 +
 .../etc/sysconfig/network/ifcfg-eth2.exp           |   2 +
 .../etc/sysconfig/network/ifcfg-eth3.exp           |   2 +
 .../etc/sysconfig/network/ifroute-eth0.exp         |   5 +
 src/test/snapshot-expected/commit/lxc/101.conf     |  23 ++
 src/test/snapshot-expected/commit/lxc/102.conf     |  37 +++
 src/test/snapshot-expected/commit/lxc/201.conf     |   9 +
 src/test/snapshot-expected/commit/lxc/202.conf     |  10 +
 src/test/snapshot-expected/commit/lxc/203.conf     |  23 ++
 src/test/snapshot-expected/create/lxc/101.conf     |  23 ++
 src/test/snapshot-expected/create/lxc/102.conf     |  37 +++
 src/test/snapshot-expected/create/lxc/201.conf     |   9 +
 src/test/snapshot-expected/create/lxc/202.conf     |   9 +
 src/test/snapshot-expected/delete/lxc/101.conf     |   9 +
 src/test/snapshot-expected/delete/lxc/102.conf     |  23 ++
 src/test/snapshot-expected/delete/lxc/103.conf     |  23 ++
 src/test/snapshot-expected/delete/lxc/104.conf     |  37 +++
 src/test/snapshot-expected/delete/lxc/105.conf     |   9 +
 src/test/snapshot-expected/delete/lxc/201.conf     |  24 ++
 src/test/snapshot-expected/delete/lxc/202.conf     |  24 ++
 src/test/snapshot-expected/prepare/lxc/101.conf    |  24 ++
 src/test/snapshot-expected/prepare/lxc/102.conf    |  39 +++
 src/test/snapshot-expected/prepare/lxc/200.conf    |  24 ++
 src/test/snapshot-expected/prepare/lxc/201.conf    |  23 ++
 src/test/snapshot-expected/prepare/lxc/202.conf    |   9 +
 src/test/snapshot-expected/prepare/lxc/300.conf    |   9 +
 src/test/snapshot-input/commit/lxc/101.conf        |  24 ++
 src/test/snapshot-input/commit/lxc/102.conf        |  39 +++
 src/test/snapshot-input/commit/lxc/201.conf        |   9 +
 src/test/snapshot-input/commit/lxc/202.conf        |  10 +
 src/test/snapshot-input/commit/lxc/203.conf        |  23 ++
 src/test/snapshot-input/create/lxc/101.conf        |   9 +
 src/test/snapshot-input/create/lxc/102.conf        |  23 ++
 src/test/snapshot-input/create/lxc/201.conf        |   9 +
 src/test/snapshot-input/create/lxc/202.conf        |   9 +
 src/test/snapshot-input/delete/lxc/101.conf        |  23 ++
 src/test/snapshot-input/delete/lxc/102.conf        |  37 +++
 src/test/snapshot-input/delete/lxc/103.conf        |  37 +++
 src/test/snapshot-input/delete/lxc/104.conf        |  51 ++++
 src/test/snapshot-input/delete/lxc/105.conf        |  23 ++
 src/test/snapshot-input/delete/lxc/201.conf        |  23 ++
 src/test/snapshot-input/delete/lxc/202.conf        |  24 ++
 src/test/snapshot-input/prepare/lxc/101.conf       |   9 +
 src/test/snapshot-input/prepare/lxc/102.conf       |  23 ++
 src/test/snapshot-input/prepare/lxc/200.conf       |  24 ++
 src/test/snapshot-input/prepare/lxc/201.conf       |  23 ++
 src/test/snapshot-input/prepare/lxc/202.conf       |   9 +
 src/test/snapshot-input/prepare/lxc/300.conf       |   9 +
 src/test/snapshot-input/storage.cfg                |   4 +
 src/test/snapshot-test.pm                          | 332 +++++++++++++++++++++
 src/test/test-centos6-001/config                   |   4 -
 src/test/test-centos6-001/etc/hosts.exp            |   2 -
 .../etc/init/power-status-changed.conf.exp         |   5 -
 .../test-centos6-001/etc/init/start-ttys.conf.exp  |  18 --
 src/test/test-centos6-001/etc/init/tty.conf.exp    |  13 -
 src/test/test-centos6-001/etc/rc.d/rc.sysinit      |   6 -
 src/test/test-centos6-001/etc/rc.d/rc.sysinit.exp  |   6 -
 src/test/test-centos6-001/etc/redhat-release       |   1 -
 src/test/test-centos6-001/etc/resolv.conf.exp      |   3 -
 src/test/test-centos6-001/etc/securetty            |  23 --
 src/test/test-centos6-001/etc/securetty.exp        |  28 --
 src/test/test-centos6-001/etc/sysconfig/network    |   0
 .../etc/sysconfig/network-scripts/ifcfg-eth0.exp   |   6 -
 .../etc/sysconfig/network-scripts/ifcfg-eth1.exp   |   5 -
 .../test-centos6-001/etc/sysconfig/network.exp     |   2 -
 src/test/test-debian-001/config                    |   1 -
 src/test/test-debian-001/etc/crontab               |  15 -
 src/test/test-debian-001/etc/crontab.exp           |  15 -
 src/test/test-debian-001/etc/debian_version        |   1 -
 src/test/test-debian-001/etc/hostname.exp          |   1 -
 src/test/test-debian-001/etc/hosts.exp             |   2 -
 src/test/test-debian-002/config                    |   4 -
 src/test/test-debian-002/etc/debian_version        |   1 -
 src/test/test-debian-002/etc/hostname.exp          |   1 -
 src/test/test-debian-002/etc/hosts.exp             |   2 -
 .../test-debian-002/etc/network/interfaces.exp     |  14 -
 src/test/test-debian-003/config                    |   5 -
 src/test/test-debian-003/etc/debian_version        |   1 -
 src/test/test-debian-003/etc/hostname.exp          |   1 -
 src/test/test-debian-003/etc/hosts.exp             |   2 -
 src/test/test-debian-003/etc/network/interfaces    |   2 -
 .../test-debian-003/etc/network/interfaces.exp     |   6 -
 src/test/test-debian-004/config                    |   5 -
 src/test/test-debian-004/etc/debian_version        |   1 -
 src/test/test-debian-004/etc/hostname.exp          |   1 -
 src/test/test-debian-004/etc/hosts.exp             |   2 -
 src/test/test-debian-004/etc/network/interfaces    |   2 -
 .../test-debian-004/etc/network/interfaces.exp     |   9 -
 src/test/test-debian-005/config                    |   2 -
 src/test/test-debian-005/etc/debian_version        |   1 -
 src/test/test-debian-005/etc/hostname.exp          |   1 -
 src/test/test-debian-005/etc/hosts.exp             |   2 -
 src/test/test-debian-005/etc/inittab               |  69 -----
 src/test/test-debian-005/etc/inittab.exp           |  64 ----
 src/test/test-debian-006/config                    |   2 -
 src/test/test-debian-006/etc/debian_version        |   1 -
 src/test/test-debian-006/etc/hostname.exp          |   1 -
 src/test/test-debian-006/etc/hosts.exp             |   2 -
 src/test/test-debian-006/etc/inittab               |  69 -----
 src/test/test-debian-006/etc/inittab.exp           |  60 ----
 src/test/test-debian-007/config                    |   3 -
 src/test/test-debian-007/etc/debian_version        |   1 -
 src/test/test-debian-007/etc/hostname.exp          |   1 -
 src/test/test-debian-007/etc/hosts.exp             |   2 -
 src/test/test-debian-007/etc/resolv.conf.exp       |   3 -
 src/test/test-debian-008/config                    |   9 -
 src/test/test-debian-008/etc/debian_version        |   1 -
 src/test/test-debian-008/etc/hostname.exp          |   1 -
 src/test/test-debian-008/etc/hosts                 |   2 -
 src/test/test-debian-008/etc/hosts.exp             |   2 -
 src/test/test-debian-008/etc/network/interfaces    |   2 -
 .../test-debian-008/etc/network/interfaces.exp     |   9 -
 src/test/test-debian-008/etc/resolv.conf.exp       |   3 -
 src/test/test-debian-009/config                    |   1 -
 src/test/test-debian-009/etc/debian_version        |   1 -
 src/test/test-debian-009/etc/hostname.exp          |   1 -
 src/test/test-debian-009/etc/hosts.exp             |   2 -
 src/test/test-debian-009/etc/passwd                |  21 --
 src/test/test-debian-009/etc/passwd.exp            |  21 --
 src/test/test-debian-009/etc/shadow                |  21 --
 src/test/test-debian-009/etc/shadow.exp            |  21 --
 src/test/test-debian-010/config                    |   2 -
 src/test/test-debian-010/etc/debian_version        |   1 -
 src/test/test-debian-010/etc/hostname.exp          |   1 -
 src/test/test-debian-010/etc/hosts.exp             |   2 -
 src/test/test-debian-010/etc/inittab               |  64 ----
 src/test/test-debian-010/etc/inittab.exp           |  64 ----
 src/test/test-debian-011/config                    |   1 -
 src/test/test-debian-011/etc/debian_version        |   1 -
 src/test/test-debian-011/etc/network/interfaces    |   2 -
 .../test-debian-011/etc/network/interfaces.exp     |   8 -
 src/test/test-debian-012/config                    |   2 -
 src/test/test-debian-012/etc/debian_version        |   1 -
 src/test/test-debian-012/etc/network/interfaces    |   2 -
 .../test-debian-012/etc/network/interfaces.exp     |  21 --
 src/test/test-debian-013/config                    |   1 -
 src/test/test-debian-013/etc/debian_version        |   1 -
 src/test/test-debian-013/etc/hosts                 |   1 -
 src/test/test-debian-013/etc/hosts.exp             |   2 -
 src/test/test-opensuse-001/config                  |   5 -
 src/test/test-opensuse-001/etc/SuSE-brand          |   2 -
 src/test/test-opensuse-001/etc/hosts.exp           |   2 -
 src/test/test-opensuse-001/etc/resolv.conf.exp     |   3 -
 src/test/test-opensuse-001/etc/securetty           |   7 -
 src/test/test-opensuse-001/etc/securetty.exp       |  12 -
 .../etc/sysconfig/network/ifcfg-eth0.exp           |   3 -
 .../etc/sysconfig/network/ifcfg-eth1.exp           |   3 -
 .../etc/sysconfig/network/ifcfg-eth2.exp           |   2 -
 .../etc/sysconfig/network/ifcfg-eth3.exp           |   2 -
 .../etc/sysconfig/network/ifroute-eth0.exp         |   3 -
 .../etc/sysconfig/network/ifroute-eth1             |   1 -
 .../etc/sysconfig/network/ifroute-eth1.exp         |   1 -
 src/test/test-opensuse-002/config                  |   4 -
 src/test/test-opensuse-002/etc/SuSE-brand          |   2 -
 src/test/test-opensuse-002/etc/securetty           |   7 -
 src/test/test-opensuse-002/etc/securetty.exp       |  12 -
 .../etc/sysconfig/network/ifcfg-eth0.exp           |   3 -
 .../etc/sysconfig/network/ifcfg-eth1.exp           |   3 -
 .../etc/sysconfig/network/ifcfg-eth2.exp           |   2 -
 .../etc/sysconfig/network/ifroute-eth0.exp         |   3 -
 src/test/test-opensuse-003/config                  |   5 -
 src/test/test-opensuse-003/etc/SuSE-brand          |   2 -
 src/test/test-opensuse-003/etc/securetty           |   7 -
 src/test/test-opensuse-003/etc/securetty.exp       |  12 -
 .../etc/sysconfig/network/ifcfg-eth0.exp           |   4 -
 .../etc/sysconfig/network/ifcfg-eth1.exp           |   2 -
 .../etc/sysconfig/network/ifcfg-eth2.exp           |   2 -
 .../etc/sysconfig/network/ifcfg-eth3.exp           |   2 -
 .../etc/sysconfig/network/ifroute-eth0.exp         |   5 -
 288 files changed, 2295 insertions(+), 1020 deletions(-)
 create mode 100755 src/test/run_setup_tests.pl
 create mode 100755 src/test/run_snapshot_tests.pl
 delete mode 100755 src/test/run_tests.pl
 create mode 100644 src/test/setup-centos6-001/config
 create mode 100644 src/test/setup-centos6-001/etc/hosts.exp
 create mode 100644 src/test/setup-centos6-001/etc/init/power-status-changed.conf.exp
 create mode 100644 src/test/setup-centos6-001/etc/init/start-ttys.conf.exp
 create mode 100644 src/test/setup-centos6-001/etc/init/tty.conf.exp
 create mode 100644 src/test/setup-centos6-001/etc/rc.d/rc.sysinit
 create mode 100644 src/test/setup-centos6-001/etc/rc.d/rc.sysinit.exp
 create mode 100644 src/test/setup-centos6-001/etc/redhat-release
 create mode 100644 src/test/setup-centos6-001/etc/resolv.conf.exp
 create mode 100644 src/test/setup-centos6-001/etc/securetty
 create mode 100644 src/test/setup-centos6-001/etc/securetty.exp
 create mode 100644 src/test/setup-centos6-001/etc/sysconfig/network
 create mode 100644 src/test/setup-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth0.exp
 create mode 100644 src/test/setup-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth1.exp
 create mode 100644 src/test/setup-centos6-001/etc/sysconfig/network.exp
 create mode 100644 src/test/setup-debian-001/config
 create mode 100644 src/test/setup-debian-001/etc/crontab
 create mode 100644 src/test/setup-debian-001/etc/crontab.exp
 create mode 100644 src/test/setup-debian-001/etc/debian_version
 create mode 100644 src/test/setup-debian-001/etc/hostname.exp
 create mode 100644 src/test/setup-debian-001/etc/hosts.exp
 create mode 100644 src/test/setup-debian-002/config
 create mode 100644 src/test/setup-debian-002/etc/debian_version
 create mode 100644 src/test/setup-debian-002/etc/hostname.exp
 create mode 100644 src/test/setup-debian-002/etc/hosts.exp
 create mode 100644 src/test/setup-debian-002/etc/network/interfaces.exp
 create mode 100644 src/test/setup-debian-003/config
 create mode 100644 src/test/setup-debian-003/etc/debian_version
 create mode 100644 src/test/setup-debian-003/etc/hostname.exp
 create mode 100644 src/test/setup-debian-003/etc/hosts.exp
 create mode 100644 src/test/setup-debian-003/etc/network/interfaces
 create mode 100644 src/test/setup-debian-003/etc/network/interfaces.exp
 create mode 100644 src/test/setup-debian-004/config
 create mode 100644 src/test/setup-debian-004/etc/debian_version
 create mode 100644 src/test/setup-debian-004/etc/hostname.exp
 create mode 100644 src/test/setup-debian-004/etc/hosts.exp
 create mode 100644 src/test/setup-debian-004/etc/network/interfaces
 create mode 100644 src/test/setup-debian-004/etc/network/interfaces.exp
 create mode 100644 src/test/setup-debian-005/config
 create mode 100644 src/test/setup-debian-005/etc/debian_version
 create mode 100644 src/test/setup-debian-005/etc/hostname.exp
 create mode 100644 src/test/setup-debian-005/etc/hosts.exp
 create mode 100644 src/test/setup-debian-005/etc/inittab
 create mode 100644 src/test/setup-debian-005/etc/inittab.exp
 create mode 100644 src/test/setup-debian-006/config
 create mode 100644 src/test/setup-debian-006/etc/debian_version
 create mode 100644 src/test/setup-debian-006/etc/hostname.exp
 create mode 100644 src/test/setup-debian-006/etc/hosts.exp
 create mode 100644 src/test/setup-debian-006/etc/inittab
 create mode 100644 src/test/setup-debian-006/etc/inittab.exp
 create mode 100644 src/test/setup-debian-007/config
 create mode 100644 src/test/setup-debian-007/etc/debian_version
 create mode 100644 src/test/setup-debian-007/etc/hostname.exp
 create mode 100644 src/test/setup-debian-007/etc/hosts.exp
 create mode 100644 src/test/setup-debian-007/etc/resolv.conf.exp
 create mode 100644 src/test/setup-debian-008/config
 create mode 100644 src/test/setup-debian-008/etc/debian_version
 create mode 100644 src/test/setup-debian-008/etc/hostname.exp
 create mode 100644 src/test/setup-debian-008/etc/hosts
 create mode 100644 src/test/setup-debian-008/etc/hosts.exp
 create mode 100644 src/test/setup-debian-008/etc/network/interfaces
 create mode 100644 src/test/setup-debian-008/etc/network/interfaces.exp
 create mode 100644 src/test/setup-debian-008/etc/resolv.conf.exp
 create mode 100644 src/test/setup-debian-009/config
 create mode 100644 src/test/setup-debian-009/etc/debian_version
 create mode 100644 src/test/setup-debian-009/etc/hostname.exp
 create mode 100644 src/test/setup-debian-009/etc/hosts.exp
 create mode 100644 src/test/setup-debian-009/etc/passwd
 create mode 100644 src/test/setup-debian-009/etc/passwd.exp
 create mode 100644 src/test/setup-debian-009/etc/shadow
 create mode 100644 src/test/setup-debian-009/etc/shadow.exp
 create mode 100644 src/test/setup-debian-010/config
 create mode 100644 src/test/setup-debian-010/etc/debian_version
 create mode 100644 src/test/setup-debian-010/etc/hostname.exp
 create mode 100644 src/test/setup-debian-010/etc/hosts.exp
 create mode 100644 src/test/setup-debian-010/etc/inittab
 create mode 100644 src/test/setup-debian-010/etc/inittab.exp
 create mode 100644 src/test/setup-debian-011/config
 create mode 100644 src/test/setup-debian-011/etc/debian_version
 create mode 100644 src/test/setup-debian-011/etc/network/interfaces
 create mode 100644 src/test/setup-debian-011/etc/network/interfaces.exp
 create mode 100644 src/test/setup-debian-012/config
 create mode 100644 src/test/setup-debian-012/etc/debian_version
 create mode 100644 src/test/setup-debian-012/etc/network/interfaces
 create mode 100644 src/test/setup-debian-012/etc/network/interfaces.exp
 create mode 100644 src/test/setup-debian-013/config
 create mode 100644 src/test/setup-debian-013/etc/debian_version
 create mode 120000 src/test/setup-debian-013/etc/hosts
 create mode 100644 src/test/setup-debian-013/etc/hosts.exp
 create mode 100644 src/test/setup-opensuse-001/config
 create mode 100644 src/test/setup-opensuse-001/etc/SuSE-brand
 create mode 100644 src/test/setup-opensuse-001/etc/hosts.exp
 create mode 100644 src/test/setup-opensuse-001/etc/resolv.conf.exp
 create mode 100644 src/test/setup-opensuse-001/etc/securetty
 create mode 100644 src/test/setup-opensuse-001/etc/securetty.exp
 create mode 100644 src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp
 create mode 100644 src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp
 create mode 100644 src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp
 create mode 100644 src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp
 create mode 100644 src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp
 create mode 100644 src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth1
 create mode 100644 src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp
 create mode 100644 src/test/setup-opensuse-002/config
 create mode 100644 src/test/setup-opensuse-002/etc/SuSE-brand
 create mode 100644 src/test/setup-opensuse-002/etc/securetty
 create mode 100644 src/test/setup-opensuse-002/etc/securetty.exp
 create mode 100644 src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp
 create mode 100644 src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp
 create mode 100644 src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp
 create mode 100644 src/test/setup-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp
 create mode 100644 src/test/setup-opensuse-003/config
 create mode 100644 src/test/setup-opensuse-003/etc/SuSE-brand
 create mode 100644 src/test/setup-opensuse-003/etc/securetty
 create mode 100644 src/test/setup-opensuse-003/etc/securetty.exp
 create mode 100644 src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp
 create mode 100644 src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp
 create mode 100644 src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp
 create mode 100644 src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp
 create mode 100644 src/test/setup-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp
 create mode 100644 src/test/snapshot-expected/commit/lxc/101.conf
 create mode 100644 src/test/snapshot-expected/commit/lxc/102.conf
 create mode 100644 src/test/snapshot-expected/commit/lxc/201.conf
 create mode 100644 src/test/snapshot-expected/commit/lxc/202.conf
 create mode 100644 src/test/snapshot-expected/commit/lxc/203.conf
 create mode 100644 src/test/snapshot-expected/create/lxc/101.conf
 create mode 100644 src/test/snapshot-expected/create/lxc/102.conf
 create mode 100644 src/test/snapshot-expected/create/lxc/201.conf
 create mode 100644 src/test/snapshot-expected/create/lxc/202.conf
 create mode 100644 src/test/snapshot-expected/delete/lxc/101.conf
 create mode 100644 src/test/snapshot-expected/delete/lxc/102.conf
 create mode 100644 src/test/snapshot-expected/delete/lxc/103.conf
 create mode 100644 src/test/snapshot-expected/delete/lxc/104.conf
 create mode 100644 src/test/snapshot-expected/delete/lxc/105.conf
 create mode 100644 src/test/snapshot-expected/delete/lxc/201.conf
 create mode 100644 src/test/snapshot-expected/delete/lxc/202.conf
 create mode 100644 src/test/snapshot-expected/prepare/lxc/101.conf
 create mode 100644 src/test/snapshot-expected/prepare/lxc/102.conf
 create mode 100644 src/test/snapshot-expected/prepare/lxc/200.conf
 create mode 100644 src/test/snapshot-expected/prepare/lxc/201.conf
 create mode 100644 src/test/snapshot-expected/prepare/lxc/202.conf
 create mode 100644 src/test/snapshot-expected/prepare/lxc/300.conf
 create mode 100644 src/test/snapshot-input/commit/lxc/101.conf
 create mode 100644 src/test/snapshot-input/commit/lxc/102.conf
 create mode 100644 src/test/snapshot-input/commit/lxc/201.conf
 create mode 100644 src/test/snapshot-input/commit/lxc/202.conf
 create mode 100644 src/test/snapshot-input/commit/lxc/203.conf
 create mode 100644 src/test/snapshot-input/create/lxc/101.conf
 create mode 100644 src/test/snapshot-input/create/lxc/102.conf
 create mode 100644 src/test/snapshot-input/create/lxc/201.conf
 create mode 100644 src/test/snapshot-input/create/lxc/202.conf
 create mode 100644 src/test/snapshot-input/delete/lxc/101.conf
 create mode 100644 src/test/snapshot-input/delete/lxc/102.conf
 create mode 100644 src/test/snapshot-input/delete/lxc/103.conf
 create mode 100644 src/test/snapshot-input/delete/lxc/104.conf
 create mode 100644 src/test/snapshot-input/delete/lxc/105.conf
 create mode 100644 src/test/snapshot-input/delete/lxc/201.conf
 create mode 100644 src/test/snapshot-input/delete/lxc/202.conf
 create mode 100644 src/test/snapshot-input/prepare/lxc/101.conf
 create mode 100644 src/test/snapshot-input/prepare/lxc/102.conf
 create mode 100644 src/test/snapshot-input/prepare/lxc/200.conf
 create mode 100644 src/test/snapshot-input/prepare/lxc/201.conf
 create mode 100644 src/test/snapshot-input/prepare/lxc/202.conf
 create mode 100644 src/test/snapshot-input/prepare/lxc/300.conf
 create mode 100644 src/test/snapshot-input/storage.cfg
 create mode 100644 src/test/snapshot-test.pm
 delete mode 100644 src/test/test-centos6-001/config
 delete mode 100644 src/test/test-centos6-001/etc/hosts.exp
 delete mode 100644 src/test/test-centos6-001/etc/init/power-status-changed.conf.exp
 delete mode 100644 src/test/test-centos6-001/etc/init/start-ttys.conf.exp
 delete mode 100644 src/test/test-centos6-001/etc/init/tty.conf.exp
 delete mode 100644 src/test/test-centos6-001/etc/rc.d/rc.sysinit
 delete mode 100644 src/test/test-centos6-001/etc/rc.d/rc.sysinit.exp
 delete mode 100644 src/test/test-centos6-001/etc/redhat-release
 delete mode 100644 src/test/test-centos6-001/etc/resolv.conf.exp
 delete mode 100644 src/test/test-centos6-001/etc/securetty
 delete mode 100644 src/test/test-centos6-001/etc/securetty.exp
 delete mode 100644 src/test/test-centos6-001/etc/sysconfig/network
 delete mode 100644 src/test/test-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth0.exp
 delete mode 100644 src/test/test-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth1.exp
 delete mode 100644 src/test/test-centos6-001/etc/sysconfig/network.exp
 delete mode 100644 src/test/test-debian-001/config
 delete mode 100644 src/test/test-debian-001/etc/crontab
 delete mode 100644 src/test/test-debian-001/etc/crontab.exp
 delete mode 100644 src/test/test-debian-001/etc/debian_version
 delete mode 100644 src/test/test-debian-001/etc/hostname.exp
 delete mode 100644 src/test/test-debian-001/etc/hosts.exp
 delete mode 100644 src/test/test-debian-002/config
 delete mode 100644 src/test/test-debian-002/etc/debian_version
 delete mode 100644 src/test/test-debian-002/etc/hostname.exp
 delete mode 100644 src/test/test-debian-002/etc/hosts.exp
 delete mode 100644 src/test/test-debian-002/etc/network/interfaces.exp
 delete mode 100644 src/test/test-debian-003/config
 delete mode 100644 src/test/test-debian-003/etc/debian_version
 delete mode 100644 src/test/test-debian-003/etc/hostname.exp
 delete mode 100644 src/test/test-debian-003/etc/hosts.exp
 delete mode 100644 src/test/test-debian-003/etc/network/interfaces
 delete mode 100644 src/test/test-debian-003/etc/network/interfaces.exp
 delete mode 100644 src/test/test-debian-004/config
 delete mode 100644 src/test/test-debian-004/etc/debian_version
 delete mode 100644 src/test/test-debian-004/etc/hostname.exp
 delete mode 100644 src/test/test-debian-004/etc/hosts.exp
 delete mode 100644 src/test/test-debian-004/etc/network/interfaces
 delete mode 100644 src/test/test-debian-004/etc/network/interfaces.exp
 delete mode 100644 src/test/test-debian-005/config
 delete mode 100644 src/test/test-debian-005/etc/debian_version
 delete mode 100644 src/test/test-debian-005/etc/hostname.exp
 delete mode 100644 src/test/test-debian-005/etc/hosts.exp
 delete mode 100644 src/test/test-debian-005/etc/inittab
 delete mode 100644 src/test/test-debian-005/etc/inittab.exp
 delete mode 100644 src/test/test-debian-006/config
 delete mode 100644 src/test/test-debian-006/etc/debian_version
 delete mode 100644 src/test/test-debian-006/etc/hostname.exp
 delete mode 100644 src/test/test-debian-006/etc/hosts.exp
 delete mode 100644 src/test/test-debian-006/etc/inittab
 delete mode 100644 src/test/test-debian-006/etc/inittab.exp
 delete mode 100644 src/test/test-debian-007/config
 delete mode 100644 src/test/test-debian-007/etc/debian_version
 delete mode 100644 src/test/test-debian-007/etc/hostname.exp
 delete mode 100644 src/test/test-debian-007/etc/hosts.exp
 delete mode 100644 src/test/test-debian-007/etc/resolv.conf.exp
 delete mode 100644 src/test/test-debian-008/config
 delete mode 100644 src/test/test-debian-008/etc/debian_version
 delete mode 100644 src/test/test-debian-008/etc/hostname.exp
 delete mode 100644 src/test/test-debian-008/etc/hosts
 delete mode 100644 src/test/test-debian-008/etc/hosts.exp
 delete mode 100644 src/test/test-debian-008/etc/network/interfaces
 delete mode 100644 src/test/test-debian-008/etc/network/interfaces.exp
 delete mode 100644 src/test/test-debian-008/etc/resolv.conf.exp
 delete mode 100644 src/test/test-debian-009/config
 delete mode 100644 src/test/test-debian-009/etc/debian_version
 delete mode 100644 src/test/test-debian-009/etc/hostname.exp
 delete mode 100644 src/test/test-debian-009/etc/hosts.exp
 delete mode 100644 src/test/test-debian-009/etc/passwd
 delete mode 100644 src/test/test-debian-009/etc/passwd.exp
 delete mode 100644 src/test/test-debian-009/etc/shadow
 delete mode 100644 src/test/test-debian-009/etc/shadow.exp
 delete mode 100644 src/test/test-debian-010/config
 delete mode 100644 src/test/test-debian-010/etc/debian_version
 delete mode 100644 src/test/test-debian-010/etc/hostname.exp
 delete mode 100644 src/test/test-debian-010/etc/hosts.exp
 delete mode 100644 src/test/test-debian-010/etc/inittab
 delete mode 100644 src/test/test-debian-010/etc/inittab.exp
 delete mode 100644 src/test/test-debian-011/config
 delete mode 100644 src/test/test-debian-011/etc/debian_version
 delete mode 100644 src/test/test-debian-011/etc/network/interfaces
 delete mode 100644 src/test/test-debian-011/etc/network/interfaces.exp
 delete mode 100644 src/test/test-debian-012/config
 delete mode 100644 src/test/test-debian-012/etc/debian_version
 delete mode 100644 src/test/test-debian-012/etc/network/interfaces
 delete mode 100644 src/test/test-debian-012/etc/network/interfaces.exp
 delete mode 100644 src/test/test-debian-013/config
 delete mode 100644 src/test/test-debian-013/etc/debian_version
 delete mode 120000 src/test/test-debian-013/etc/hosts
 delete mode 100644 src/test/test-debian-013/etc/hosts.exp
 delete mode 100644 src/test/test-opensuse-001/config
 delete mode 100644 src/test/test-opensuse-001/etc/SuSE-brand
 delete mode 100644 src/test/test-opensuse-001/etc/hosts.exp
 delete mode 100644 src/test/test-opensuse-001/etc/resolv.conf.exp
 delete mode 100644 src/test/test-opensuse-001/etc/securetty
 delete mode 100644 src/test/test-opensuse-001/etc/securetty.exp
 delete mode 100644 src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp
 delete mode 100644 src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp
 delete mode 100644 src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp
 delete mode 100644 src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp
 delete mode 100644 src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp
 delete mode 100644 src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1
 delete mode 100644 src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp
 delete mode 100644 src/test/test-opensuse-002/config
 delete mode 100644 src/test/test-opensuse-002/etc/SuSE-brand
 delete mode 100644 src/test/test-opensuse-002/etc/securetty
 delete mode 100644 src/test/test-opensuse-002/etc/securetty.exp
 delete mode 100644 src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp
 delete mode 100644 src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp
 delete mode 100644 src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp
 delete mode 100644 src/test/test-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp
 delete mode 100644 src/test/test-opensuse-003/config
 delete mode 100644 src/test/test-opensuse-003/etc/SuSE-brand
 delete mode 100644 src/test/test-opensuse-003/etc/securetty
 delete mode 100644 src/test/test-opensuse-003/etc/securetty.exp
 delete mode 100644 src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp
 delete mode 100644 src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp
 delete mode 100644 src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp
 delete mode 100644 src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp
 delete mode 100644 src/test/test-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp

diff --git a/src/test/Makefile b/src/test/Makefile
index 8105b7d..f3e260d 100644
--- a/src/test/Makefile
+++ b/src/test/Makefile
@@ -1,11 +1,13 @@
-
-
 all:
 
 
-test:
-	./run_tests.pl
+test: test_setup test_snapshot
+
+test_setup: run_setup_tests.pl
+	./run_setup_tests.pl
 
+test_snapshot: run_snapshot_tests.pl
+	./run_snapshot_tests.pl
 
 clean:
 	rm -rf tmprootfs
diff --git a/src/test/run_setup_tests.pl b/src/test/run_setup_tests.pl
new file mode 100755
index 0000000..31b2699
--- /dev/null
+++ b/src/test/run_setup_tests.pl
@@ -0,0 +1,98 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use PVE::Tools qw(run_command);
+
+use lib qw(..);
+
+use PVE::LXC;
+use PVE::LXC::Setup;
+
+sub test_file {
+    my ($exp_fn, $real_fn) = @_;
+
+    return if system("diff -u '$exp_fn' '$real_fn'") == 0;
+
+    die "files do not match\n";
+}
+
+sub run_test {
+    my ($testdir) = @_;
+
+    print "prepare $testdir\n";
+    
+    my $rootfs = "./tmprootfs";
+
+    run_command("rm -rf $rootfs");
+    run_command("cp -a $testdir $rootfs");
+    
+    my $config_fn = "$testdir/config";
+    
+    my $raw = PVE::Tools::file_get_contents($config_fn);
+
+    my $conf = PVE::LXC::parse_pct_config("/lxc/100.conf", $raw);
+
+    $conf->{'testmode'} = 1;
+    
+    my $lxc_setup = PVE::LXC::Setup->new($conf, $rootfs);
+
+    for (my $i = 0; $i < 2; $i++) {
+	# run tests twice, to make sure scripts are idempotent
+	
+	srand(0);
+	$lxc_setup->post_create_hook('$TEST$ABCDEF');
+
+	my @testfiles = qw(/etc/hostname
+	                   /etc/hosts
+	                   /etc/inittab
+	                   /etc/network/interfaces
+	                   /etc/resolv.conf
+	                   /etc/passwd
+	                   /etc/shadow
+	                   /etc/sysconfig/network
+	                   /etc/sysconfig/network-scripts/ifcfg-eth0
+	                   /etc/sysconfig/network-scripts/route-eth0
+	                   /etc/sysconfig/network-scripts/ifcfg-eth1
+	                   /etc/sysconfig/network-scripts/route-eth1
+	                   /etc/sysconfig/network-scripts/ifcfg-eth2
+	                   /etc/sysconfig/network-scripts/route-eth2
+	                   /etc/sysconfig/network-scripts/ifcfg-eth3
+	                   /etc/sysconfig/network-scripts/route-eth3
+	                   /etc/sysconfig/network/ifcfg-eth0
+	                   /etc/sysconfig/network/ifroute-eth0
+	                   /etc/sysconfig/network/ifcfg-eth1
+	                   /etc/sysconfig/network/ifroute-eth1
+	                   /etc/sysconfig/network/ifcfg-eth2
+	                   /etc/sysconfig/network/ifroute-eth2
+	                   /etc/sysconfig/network/ifcfg-eth3
+	                   /etc/sysconfig/network/ifroute-eth3
+	                   /etc/init/start-ttys.conf
+	                   /etc/init/tty.conf
+	                   /etc/init/power-status-changed.conf
+	                   /etc/securetty
+	                   /etc/crontab);
+	foreach my $fn (@testfiles) {
+	    next if !-f "$testdir/$fn.exp";
+	    test_file("$testdir/$fn.exp", "$rootfs/$fn");
+	}
+    }
+    
+    print "TEST $testdir => OK\n";
+}
+
+if (scalar(@ARGV)) {
+
+    foreach my $testdir (@ARGV) {
+	run_test($testdir);  
+    }
+
+} else {
+
+    foreach my $testdir (<setup-*>) {#
+	next if ! -d $testdir; 
+	run_test($testdir);
+    }
+}
+
+exit(0);
diff --git a/src/test/run_snapshot_tests.pl b/src/test/run_snapshot_tests.pl
new file mode 100755
index 0000000..6def87f
--- /dev/null
+++ b/src/test/run_snapshot_tests.pl
@@ -0,0 +1,10 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use TAP::Harness;
+
+my $harness = TAP::Harness->new( { "verbosity" => -2 });
+$harness->runtests( "snapshot-test.pm");
+system( "rm -rf snapshot-working/");
diff --git a/src/test/run_tests.pl b/src/test/run_tests.pl
deleted file mode 100755
index 3babf44..0000000
--- a/src/test/run_tests.pl
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-use PVE::Tools qw(run_command);
-
-use lib qw(..);
-
-use PVE::LXC;
-use PVE::LXC::Setup;
-
-sub test_file {
-    my ($exp_fn, $real_fn) = @_;
-
-    return if system("diff -u '$exp_fn' '$real_fn'") == 0;
-
-    die "files do not match\n";
-}
-
-sub run_test {
-    my ($testdir) = @_;
-
-    print "prepare $testdir\n";
-    
-    my $rootfs = "./tmprootfs";
-
-    run_command("rm -rf $rootfs");
-    run_command("cp -a $testdir $rootfs");
-    
-    my $config_fn = "$testdir/config";
-    
-    my $raw = PVE::Tools::file_get_contents($config_fn);
-
-    my $conf = PVE::LXC::parse_pct_config("/lxc/100.conf", $raw);
-
-    $conf->{'testmode'} = 1;
-    
-    my $lxc_setup = PVE::LXC::Setup->new($conf, $rootfs);
-
-    for (my $i = 0; $i < 2; $i++) {
-	# run tests twice, to make sure scripts are idempotent
-	
-	srand(0);
-	$lxc_setup->post_create_hook('$TEST$ABCDEF');
-
-	my @testfiles = qw(/etc/hostname
-	                   /etc/hosts
-	                   /etc/inittab
-	                   /etc/network/interfaces
-	                   /etc/resolv.conf
-	                   /etc/passwd
-	                   /etc/shadow
-	                   /etc/sysconfig/network
-	                   /etc/sysconfig/network-scripts/ifcfg-eth0
-	                   /etc/sysconfig/network-scripts/route-eth0
-	                   /etc/sysconfig/network-scripts/ifcfg-eth1
-	                   /etc/sysconfig/network-scripts/route-eth1
-	                   /etc/sysconfig/network-scripts/ifcfg-eth2
-	                   /etc/sysconfig/network-scripts/route-eth2
-	                   /etc/sysconfig/network-scripts/ifcfg-eth3
-	                   /etc/sysconfig/network-scripts/route-eth3
-	                   /etc/sysconfig/network/ifcfg-eth0
-	                   /etc/sysconfig/network/ifroute-eth0
-	                   /etc/sysconfig/network/ifcfg-eth1
-	                   /etc/sysconfig/network/ifroute-eth1
-	                   /etc/sysconfig/network/ifcfg-eth2
-	                   /etc/sysconfig/network/ifroute-eth2
-	                   /etc/sysconfig/network/ifcfg-eth3
-	                   /etc/sysconfig/network/ifroute-eth3
-	                   /etc/init/start-ttys.conf
-	                   /etc/init/tty.conf
-	                   /etc/init/power-status-changed.conf
-	                   /etc/securetty
-	                   /etc/crontab);
-	foreach my $fn (@testfiles) {
-	    next if !-f "$testdir/$fn.exp";
-	    test_file("$testdir/$fn.exp", "$rootfs/$fn");
-	}
-    }
-    
-    print "TEST $testdir => OK\n";
-}
-
-if (scalar(@ARGV)) {
-
-    foreach my $testdir (@ARGV) {
-	run_test($testdir);  
-    }
-
-} else {
-
-    foreach my $testdir (<test-*>) {#
-	next if ! -d $testdir; 
-	run_test($testdir);
-    }
-}
-
-exit(0);
diff --git a/src/test/setup-centos6-001/config b/src/test/setup-centos6-001/config
new file mode 100644
index 0000000..afe246f
--- /dev/null
+++ b/src/test/setup-centos6-001/config
@@ -0,0 +1,4 @@
+hostname: test1
+net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=1.2.3.1
+net1: bridge=vmbr0,name=eth1,ip=10.2.3.4/24
+net2: bridge=vmbr0,name=eth2
diff --git a/src/test/setup-centos6-001/etc/hosts.exp b/src/test/setup-centos6-001/etc/hosts.exp
new file mode 100644
index 0000000..0791e77
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+1.2.3.4 test1.proxmox.com test1
diff --git a/src/test/setup-centos6-001/etc/init/power-status-changed.conf.exp b/src/test/setup-centos6-001/etc/init/power-status-changed.conf.exp
new file mode 100644
index 0000000..0763ae5
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/init/power-status-changed.conf.exp
@@ -0,0 +1,5 @@
+#  power-status-changed - shutdown on SIGPWR
+#
+start on power-status-changed
+    
+exec /sbin/shutdown -h now "SIGPWR received"
diff --git a/src/test/setup-centos6-001/etc/init/start-ttys.conf.exp b/src/test/setup-centos6-001/etc/init/start-ttys.conf.exp
new file mode 100644
index 0000000..20e379b
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/init/start-ttys.conf.exp
@@ -0,0 +1,18 @@
+#
+# This service starts the configured number of gettys.
+#
+# Do not edit this file directly. If you want to change the behaviour,
+# please create a file start-ttys.override and put your changes there.
+
+start on stopped rc RUNLEVEL=[2345]
+
+env ACTIVE_CONSOLES=/dev/tty[1-6]
+env X_TTY=/dev/tty1
+task
+script
+        . /etc/sysconfig/init
+        for tty in $(echo $ACTIVE_CONSOLES) ; do
+                [ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue
+                initctl start tty TTY=$tty
+        done
+end script
diff --git a/src/test/setup-centos6-001/etc/init/tty.conf.exp b/src/test/setup-centos6-001/etc/init/tty.conf.exp
new file mode 100644
index 0000000..5dcd7ad
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/init/tty.conf.exp
@@ -0,0 +1,13 @@
+# tty - getty
+#
+# This service maintains a getty on the specified device.
+#
+# Do not edit this file directly. If you want to change the behaviour,
+# please create a file tty.override and put your changes there.
+
+stop on runlevel [S016]
+
+respawn
+instance $TTY
+exec /sbin/mingetty $TTY
+usage 'tty TTY=/dev/ttyX  - where X is console id'
diff --git a/src/test/setup-centos6-001/etc/rc.d/rc.sysinit b/src/test/setup-centos6-001/etc/rc.d/rc.sysinit
new file mode 100644
index 0000000..a98b7dd
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/rc.d/rc.sysinit
@@ -0,0 +1,6 @@
+# just a test
+# dummy
+
+/sbin/start_udev xxxxxxxxxxyyyyyyzzzz
+
+
diff --git a/src/test/setup-centos6-001/etc/rc.d/rc.sysinit.exp b/src/test/setup-centos6-001/etc/rc.d/rc.sysinit.exp
new file mode 100644
index 0000000..097907e
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/rc.d/rc.sysinit.exp
@@ -0,0 +1,6 @@
+# just a test
+# dummy
+
+#/sbin/start_udev xxxxxxxxxxyyyyyyzzzz
+
+
diff --git a/src/test/setup-centos6-001/etc/redhat-release b/src/test/setup-centos6-001/etc/redhat-release
new file mode 100644
index 0000000..cdb73e8
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/redhat-release
@@ -0,0 +1 @@
+CentOS release 6.3 (Final)
diff --git a/src/test/setup-centos6-001/etc/resolv.conf.exp b/src/test/setup-centos6-001/etc/resolv.conf.exp
new file mode 100644
index 0000000..e505ad3
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/resolv.conf.exp
@@ -0,0 +1,3 @@
+search proxmox.com
+nameserver 8.8.8.8
+nameserver 8.8.8.9
diff --git a/src/test/setup-centos6-001/etc/securetty b/src/test/setup-centos6-001/etc/securetty
new file mode 100644
index 0000000..fae1648
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/securetty
@@ -0,0 +1,23 @@
+console
+vc/1
+vc/2
+vc/3
+vc/4
+vc/5
+vc/6
+vc/7
+vc/8
+vc/9
+vc/10
+vc/11
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+tty7
+tty8
+tty9
+tty10
+tty11
\ No newline at end of file
diff --git a/src/test/setup-centos6-001/etc/securetty.exp b/src/test/setup-centos6-001/etc/securetty.exp
new file mode 100644
index 0000000..573c668
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/securetty.exp
@@ -0,0 +1,28 @@
+console
+vc/1
+vc/2
+vc/3
+vc/4
+vc/5
+vc/6
+vc/7
+vc/8
+vc/9
+vc/10
+vc/11
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+tty7
+tty8
+tty9
+tty10
+tty11
+lxc/console
+lxc/tty1
+lxc/tty2
+lxc/tty3
+lxc/tty4
diff --git a/src/test/setup-centos6-001/etc/sysconfig/network b/src/test/setup-centos6-001/etc/sysconfig/network
new file mode 100644
index 0000000..e69de29
diff --git a/src/test/setup-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth0.exp b/src/test/setup-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth0.exp
new file mode 100644
index 0000000..2c5e570
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth0.exp
@@ -0,0 +1,6 @@
+DEVICE=eth0
+ONBOOT=yes
+BOOTPROTO=none
+IPADDR=1.2.3.4
+NETMASK=255.255.255.0
+GATEWAY=1.2.3.1
diff --git a/src/test/setup-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth1.exp b/src/test/setup-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth1.exp
new file mode 100644
index 0000000..7be5df0
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth1.exp
@@ -0,0 +1,5 @@
+DEVICE=eth1
+ONBOOT=yes
+BOOTPROTO=none
+IPADDR=10.2.3.4
+NETMASK=255.255.255.0
diff --git a/src/test/setup-centos6-001/etc/sysconfig/network.exp b/src/test/setup-centos6-001/etc/sysconfig/network.exp
new file mode 100644
index 0000000..03d42fd
--- /dev/null
+++ b/src/test/setup-centos6-001/etc/sysconfig/network.exp
@@ -0,0 +1,2 @@
+NETWORKING=yes
+HOSTNAME=test1
diff --git a/src/test/setup-debian-001/config b/src/test/setup-debian-001/config
new file mode 100644
index 0000000..f8d7636
--- /dev/null
+++ b/src/test/setup-debian-001/config
@@ -0,0 +1 @@
+hostname: test1
diff --git a/src/test/setup-debian-001/etc/crontab b/src/test/setup-debian-001/etc/crontab
new file mode 100644
index 0000000..95edd9b
--- /dev/null
+++ b/src/test/setup-debian-001/etc/crontab
@@ -0,0 +1,15 @@
+# /etc/crontab: system-wide crontab
+# Unlike any other crontab you don't have to run the `crontab'
+# command to install the new version when you edit this file
+# and files in /etc/cron.d. These files also have username fields,
+# that none of the other crontabs do.
+
+SHELL=/bin/sh
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+# m h dom mon dow user	command
+17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
+25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
+47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
+52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
+#
diff --git a/src/test/setup-debian-001/etc/crontab.exp b/src/test/setup-debian-001/etc/crontab.exp
new file mode 100644
index 0000000..f57dc8d
--- /dev/null
+++ b/src/test/setup-debian-001/etc/crontab.exp
@@ -0,0 +1,15 @@
+# /etc/crontab: system-wide crontab
+# Unlike any other crontab you don't have to run the `crontab'
+# command to install the new version when you edit this file
+# and files in /etc/cron.d. These files also have username fields,
+# that none of the other crontabs do.
+
+SHELL=/bin/sh
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+# m h dom mon dow user	command
+10 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
+44 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
+5 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
+51 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
+#
diff --git a/src/test/setup-debian-001/etc/debian_version b/src/test/setup-debian-001/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-001/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-001/etc/hostname.exp b/src/test/setup-debian-001/etc/hostname.exp
new file mode 100644
index 0000000..a5bce3f
--- /dev/null
+++ b/src/test/setup-debian-001/etc/hostname.exp
@@ -0,0 +1 @@
+test1
diff --git a/src/test/setup-debian-001/etc/hosts.exp b/src/test/setup-debian-001/etc/hosts.exp
new file mode 100644
index 0000000..7f3910c
--- /dev/null
+++ b/src/test/setup-debian-001/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+127.0.1.1 test1
diff --git a/src/test/setup-debian-002/config b/src/test/setup-debian-002/config
new file mode 100644
index 0000000..5191092
--- /dev/null
+++ b/src/test/setup-debian-002/config
@@ -0,0 +1,4 @@
+hostname: test1
+net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=1.2.3.1
+net1: bridge=vmbr0,name=eth1,ip=10.2.3.4/24
+net2: bridge=vmbr0,name=eth2,ip=manual
diff --git a/src/test/setup-debian-002/etc/debian_version b/src/test/setup-debian-002/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-002/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-002/etc/hostname.exp b/src/test/setup-debian-002/etc/hostname.exp
new file mode 100644
index 0000000..a5bce3f
--- /dev/null
+++ b/src/test/setup-debian-002/etc/hostname.exp
@@ -0,0 +1 @@
+test1
diff --git a/src/test/setup-debian-002/etc/hosts.exp b/src/test/setup-debian-002/etc/hosts.exp
new file mode 100644
index 0000000..0791e77
--- /dev/null
+++ b/src/test/setup-debian-002/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+1.2.3.4 test1.proxmox.com test1
diff --git a/src/test/setup-debian-002/etc/network/interfaces.exp b/src/test/setup-debian-002/etc/network/interfaces.exp
new file mode 100644
index 0000000..9d9dbcc
--- /dev/null
+++ b/src/test/setup-debian-002/etc/network/interfaces.exp
@@ -0,0 +1,14 @@
+auto eth0
+iface eth0 inet static
+	address 1.2.3.4
+	netmask 255.255.255.0
+	gateway 1.2.3.1
+
+auto eth1
+iface eth1 inet static
+	address 10.2.3.4
+	netmask 255.255.255.0
+
+auto eth2
+iface eth2 inet manual
+
diff --git a/src/test/setup-debian-003/config b/src/test/setup-debian-003/config
new file mode 100644
index 0000000..6df1aba
--- /dev/null
+++ b/src/test/setup-debian-003/config
@@ -0,0 +1,5 @@
+arch: i386
+memory: 512
+ostype: debian
+hostname: test3
+net0: bridge=vmbr0,name=eth0,hwaddr=26:2B:CC:E5:7F:F9,ip=manual
diff --git a/src/test/setup-debian-003/etc/debian_version b/src/test/setup-debian-003/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-003/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-003/etc/hostname.exp b/src/test/setup-debian-003/etc/hostname.exp
new file mode 100644
index 0000000..df6b0d2
--- /dev/null
+++ b/src/test/setup-debian-003/etc/hostname.exp
@@ -0,0 +1 @@
+test3
diff --git a/src/test/setup-debian-003/etc/hosts.exp b/src/test/setup-debian-003/etc/hosts.exp
new file mode 100644
index 0000000..9e3fb59
--- /dev/null
+++ b/src/test/setup-debian-003/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+127.0.1.1 test3
diff --git a/src/test/setup-debian-003/etc/network/interfaces b/src/test/setup-debian-003/etc/network/interfaces
new file mode 100644
index 0000000..f1bd92e
--- /dev/null
+++ b/src/test/setup-debian-003/etc/network/interfaces
@@ -0,0 +1,2 @@
+auto lo
+iface lo inet loopback
diff --git a/src/test/setup-debian-003/etc/network/interfaces.exp b/src/test/setup-debian-003/etc/network/interfaces.exp
new file mode 100644
index 0000000..cdb8d13
--- /dev/null
+++ b/src/test/setup-debian-003/etc/network/interfaces.exp
@@ -0,0 +1,6 @@
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet manual
+
diff --git a/src/test/setup-debian-004/config b/src/test/setup-debian-004/config
new file mode 100644
index 0000000..bdd25d7
--- /dev/null
+++ b/src/test/setup-debian-004/config
@@ -0,0 +1,5 @@
+arch: i386
+memory: 512
+ostype: debian
+hostname: test3.use-fqdn.com
+net0: bridge=vmbr0,name=eth0,hwaddr=26:2B:CC:E5:7F:F9,ip=1.2.3.2/24,gw=1.2.3.1
diff --git a/src/test/setup-debian-004/etc/debian_version b/src/test/setup-debian-004/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-004/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-004/etc/hostname.exp b/src/test/setup-debian-004/etc/hostname.exp
new file mode 100644
index 0000000..df6b0d2
--- /dev/null
+++ b/src/test/setup-debian-004/etc/hostname.exp
@@ -0,0 +1 @@
+test3
diff --git a/src/test/setup-debian-004/etc/hosts.exp b/src/test/setup-debian-004/etc/hosts.exp
new file mode 100644
index 0000000..cd65bdf
--- /dev/null
+++ b/src/test/setup-debian-004/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+1.2.3.2 test3.use-fqdn.com test3
diff --git a/src/test/setup-debian-004/etc/network/interfaces b/src/test/setup-debian-004/etc/network/interfaces
new file mode 100644
index 0000000..f1bd92e
--- /dev/null
+++ b/src/test/setup-debian-004/etc/network/interfaces
@@ -0,0 +1,2 @@
+auto lo
+iface lo inet loopback
diff --git a/src/test/setup-debian-004/etc/network/interfaces.exp b/src/test/setup-debian-004/etc/network/interfaces.exp
new file mode 100644
index 0000000..6003326
--- /dev/null
+++ b/src/test/setup-debian-004/etc/network/interfaces.exp
@@ -0,0 +1,9 @@
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet static
+	address 1.2.3.2
+	netmask 255.255.255.0
+	gateway 1.2.3.1
+
diff --git a/src/test/setup-debian-005/config b/src/test/setup-debian-005/config
new file mode 100644
index 0000000..1d794fe
--- /dev/null
+++ b/src/test/setup-debian-005/config
@@ -0,0 +1,2 @@
+hostname: test1
+tty: 4
diff --git a/src/test/setup-debian-005/etc/debian_version b/src/test/setup-debian-005/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-005/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-005/etc/hostname.exp b/src/test/setup-debian-005/etc/hostname.exp
new file mode 100644
index 0000000..a5bce3f
--- /dev/null
+++ b/src/test/setup-debian-005/etc/hostname.exp
@@ -0,0 +1 @@
+test1
diff --git a/src/test/setup-debian-005/etc/hosts.exp b/src/test/setup-debian-005/etc/hosts.exp
new file mode 100644
index 0000000..7f3910c
--- /dev/null
+++ b/src/test/setup-debian-005/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+127.0.1.1 test1
diff --git a/src/test/setup-debian-005/etc/inittab b/src/test/setup-debian-005/etc/inittab
new file mode 100644
index 0000000..ddc59b8
--- /dev/null
+++ b/src/test/setup-debian-005/etc/inittab
@@ -0,0 +1,69 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+pf::powerwait:/etc/init.d/powerfail start
+pn::powerfailnow:/etc/init.d/powerfail now
+po::powerokwait:/etc/init.d/powerfail stop
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  <id>:<runlevels>:<action>:<process>
+#
+# Note that on most Debian systems tty7 is used by the X Window System,
+# so if you want to add more getty's go ahead but skip tty7 if you run X.
+#
+1:2345:respawn:/sbin/getty --noclear 38400 tty1
+2:23:respawn:/sbin/getty 38400 tty2
+3:23:respawn:/sbin/getty 38400 tty3
+4:23:respawn:/sbin/getty 38400 tty4
+5:23:respawn:/sbin/getty 38400 tty5
+6:23:respawn:/sbin/getty 38400 tty6
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
+
diff --git a/src/test/setup-debian-005/etc/inittab.exp b/src/test/setup-debian-005/etc/inittab.exp
new file mode 100644
index 0000000..7d881db
--- /dev/null
+++ b/src/test/setup-debian-005/etc/inittab.exp
@@ -0,0 +1,64 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  <id>:<runlevels>:<action>:<process>
+#
+# Note that on most Debian systems tty7 is used by the X Window System,
+# so if you want to add more getty's go ahead but skip tty7 if you run X.
+#
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
+p0::powerfail:/sbin/init 0
+1:2345:respawn:/sbin/getty --noclear 38400 tty1
+2:23:respawn:/sbin/getty --noclear 38400 tty2
+3:23:respawn:/sbin/getty --noclear 38400 tty3
+4:23:respawn:/sbin/getty --noclear 38400 tty4
diff --git a/src/test/setup-debian-006/config b/src/test/setup-debian-006/config
new file mode 100644
index 0000000..3ad4192
--- /dev/null
+++ b/src/test/setup-debian-006/config
@@ -0,0 +1,2 @@
+hostname: test1
+tty: 0
\ No newline at end of file
diff --git a/src/test/setup-debian-006/etc/debian_version b/src/test/setup-debian-006/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-006/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-006/etc/hostname.exp b/src/test/setup-debian-006/etc/hostname.exp
new file mode 100644
index 0000000..a5bce3f
--- /dev/null
+++ b/src/test/setup-debian-006/etc/hostname.exp
@@ -0,0 +1 @@
+test1
diff --git a/src/test/setup-debian-006/etc/hosts.exp b/src/test/setup-debian-006/etc/hosts.exp
new file mode 100644
index 0000000..7f3910c
--- /dev/null
+++ b/src/test/setup-debian-006/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+127.0.1.1 test1
diff --git a/src/test/setup-debian-006/etc/inittab b/src/test/setup-debian-006/etc/inittab
new file mode 100644
index 0000000..ddc59b8
--- /dev/null
+++ b/src/test/setup-debian-006/etc/inittab
@@ -0,0 +1,69 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+pf::powerwait:/etc/init.d/powerfail start
+pn::powerfailnow:/etc/init.d/powerfail now
+po::powerokwait:/etc/init.d/powerfail stop
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  <id>:<runlevels>:<action>:<process>
+#
+# Note that on most Debian systems tty7 is used by the X Window System,
+# so if you want to add more getty's go ahead but skip tty7 if you run X.
+#
+1:2345:respawn:/sbin/getty --noclear 38400 tty1
+2:23:respawn:/sbin/getty 38400 tty2
+3:23:respawn:/sbin/getty 38400 tty3
+4:23:respawn:/sbin/getty 38400 tty4
+5:23:respawn:/sbin/getty 38400 tty5
+6:23:respawn:/sbin/getty 38400 tty6
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
+
diff --git a/src/test/setup-debian-006/etc/inittab.exp b/src/test/setup-debian-006/etc/inittab.exp
new file mode 100644
index 0000000..937a7e0
--- /dev/null
+++ b/src/test/setup-debian-006/etc/inittab.exp
@@ -0,0 +1,60 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  <id>:<runlevels>:<action>:<process>
+#
+# Note that on most Debian systems tty7 is used by the X Window System,
+# so if you want to add more getty's go ahead but skip tty7 if you run X.
+#
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
+p0::powerfail:/sbin/init 0
diff --git a/src/test/setup-debian-007/config b/src/test/setup-debian-007/config
new file mode 100644
index 0000000..dbf0e93
--- /dev/null
+++ b/src/test/setup-debian-007/config
@@ -0,0 +1,3 @@
+hostname: test1
+searchdomain: proxmox.com
+nameserver: 8.8.8.8,8.8.8.9
\ No newline at end of file
diff --git a/src/test/setup-debian-007/etc/debian_version b/src/test/setup-debian-007/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-007/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-007/etc/hostname.exp b/src/test/setup-debian-007/etc/hostname.exp
new file mode 100644
index 0000000..a5bce3f
--- /dev/null
+++ b/src/test/setup-debian-007/etc/hostname.exp
@@ -0,0 +1 @@
+test1
diff --git a/src/test/setup-debian-007/etc/hosts.exp b/src/test/setup-debian-007/etc/hosts.exp
new file mode 100644
index 0000000..7f3910c
--- /dev/null
+++ b/src/test/setup-debian-007/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+127.0.1.1 test1
diff --git a/src/test/setup-debian-007/etc/resolv.conf.exp b/src/test/setup-debian-007/etc/resolv.conf.exp
new file mode 100644
index 0000000..e505ad3
--- /dev/null
+++ b/src/test/setup-debian-007/etc/resolv.conf.exp
@@ -0,0 +1,3 @@
+search proxmox.com
+nameserver 8.8.8.8
+nameserver 8.8.8.9
diff --git a/src/test/setup-debian-008/config b/src/test/setup-debian-008/config
new file mode 100644
index 0000000..5861be4
--- /dev/null
+++ b/src/test/setup-debian-008/config
@@ -0,0 +1,9 @@
+arch: i386
+cpulimit: 1
+memory: 512
+swap: 512
+ostype: debian
+hostname: CT102
+nameserver: 8.8.8.8,8.8.8.9
+searchdomain: proxmox.com
+net0: bridge=vmbr0,name=eth0,hwaddr=2A:31:01:D5:A4:BF,ip=192.168.3.102/20,gw=192.168.2.1
diff --git a/src/test/setup-debian-008/etc/debian_version b/src/test/setup-debian-008/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-008/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-008/etc/hostname.exp b/src/test/setup-debian-008/etc/hostname.exp
new file mode 100644
index 0000000..473d65d
--- /dev/null
+++ b/src/test/setup-debian-008/etc/hostname.exp
@@ -0,0 +1 @@
+CT102
diff --git a/src/test/setup-debian-008/etc/hosts b/src/test/setup-debian-008/etc/hosts
new file mode 100644
index 0000000..e7bce03
--- /dev/null
+++ b/src/test/setup-debian-008/etc/hosts
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localdomain localhost
+127.0.1.1 CT102
diff --git a/src/test/setup-debian-008/etc/hosts.exp b/src/test/setup-debian-008/etc/hosts.exp
new file mode 100644
index 0000000..58c7bba
--- /dev/null
+++ b/src/test/setup-debian-008/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localdomain localhost
+192.168.3.102 CT102.proxmox.com CT102
diff --git a/src/test/setup-debian-008/etc/network/interfaces b/src/test/setup-debian-008/etc/network/interfaces
new file mode 100644
index 0000000..f1bd92e
--- /dev/null
+++ b/src/test/setup-debian-008/etc/network/interfaces
@@ -0,0 +1,2 @@
+auto lo
+iface lo inet loopback
diff --git a/src/test/setup-debian-008/etc/network/interfaces.exp b/src/test/setup-debian-008/etc/network/interfaces.exp
new file mode 100644
index 0000000..b5ce7f8
--- /dev/null
+++ b/src/test/setup-debian-008/etc/network/interfaces.exp
@@ -0,0 +1,9 @@
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet static
+	address 192.168.3.102
+	netmask 255.255.240.0
+	gateway 192.168.2.1
+
diff --git a/src/test/setup-debian-008/etc/resolv.conf.exp b/src/test/setup-debian-008/etc/resolv.conf.exp
new file mode 100644
index 0000000..e505ad3
--- /dev/null
+++ b/src/test/setup-debian-008/etc/resolv.conf.exp
@@ -0,0 +1,3 @@
+search proxmox.com
+nameserver 8.8.8.8
+nameserver 8.8.8.9
diff --git a/src/test/setup-debian-009/config b/src/test/setup-debian-009/config
new file mode 100644
index 0000000..8f09fd8
--- /dev/null
+++ b/src/test/setup-debian-009/config
@@ -0,0 +1 @@
+hostname: test9
diff --git a/src/test/setup-debian-009/etc/debian_version b/src/test/setup-debian-009/etc/debian_version
new file mode 100644
index 0000000..4fedf1d
--- /dev/null
+++ b/src/test/setup-debian-009/etc/debian_version
@@ -0,0 +1 @@
+7.0
diff --git a/src/test/setup-debian-009/etc/hostname.exp b/src/test/setup-debian-009/etc/hostname.exp
new file mode 100644
index 0000000..c372db4
--- /dev/null
+++ b/src/test/setup-debian-009/etc/hostname.exp
@@ -0,0 +1 @@
+test9
diff --git a/src/test/setup-debian-009/etc/hosts.exp b/src/test/setup-debian-009/etc/hosts.exp
new file mode 100644
index 0000000..41eed1f
--- /dev/null
+++ b/src/test/setup-debian-009/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+127.0.1.1 test9
diff --git a/src/test/setup-debian-009/etc/passwd b/src/test/setup-debian-009/etc/passwd
new file mode 100644
index 0000000..e505613
--- /dev/null
+++ b/src/test/setup-debian-009/etc/passwd
@@ -0,0 +1,21 @@
+root:x:0:0:root:/root:/bin/bash
+daemon:x:1:1:daemon:/usr/sbin:/bin/sh
+bin:x:2:2:bin:/bin:/bin/sh
+sys:x:3:3:sys:/dev:/bin/sh
+sync:x:4:65534:sync:/bin:/bin/sync
+games:x:5:60:games:/usr/games:/bin/sh
+man:x:6:12:man:/var/cache/man:/bin/sh
+lp:x:7:7:lp:/var/spool/lpd:/bin/sh
+mail:x:8:8:mail:/var/mail:/bin/sh
+news:x:9:9:news:/var/spool/news:/bin/sh
+uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
+proxy:x:13:13:proxy:/bin:/bin/sh
+www-data:x:33:33:www-data:/var/www:/bin/sh
+backup:x:34:34:backup:/var/backups:/bin/sh
+list:x:38:38:Mailing List Manager:/var/list:/bin/sh
+irc:x:39:39:ircd:/var/run/ircd:/bin/sh
+gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
+nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
+libuuid:x:100:101::/var/lib/libuuid:/bin/sh
+postfix:x:101:104::/var/spool/postfix:/bin/false
+sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
diff --git a/src/test/setup-debian-009/etc/passwd.exp b/src/test/setup-debian-009/etc/passwd.exp
new file mode 100644
index 0000000..e505613
--- /dev/null
+++ b/src/test/setup-debian-009/etc/passwd.exp
@@ -0,0 +1,21 @@
+root:x:0:0:root:/root:/bin/bash
+daemon:x:1:1:daemon:/usr/sbin:/bin/sh
+bin:x:2:2:bin:/bin:/bin/sh
+sys:x:3:3:sys:/dev:/bin/sh
+sync:x:4:65534:sync:/bin:/bin/sync
+games:x:5:60:games:/usr/games:/bin/sh
+man:x:6:12:man:/var/cache/man:/bin/sh
+lp:x:7:7:lp:/var/spool/lpd:/bin/sh
+mail:x:8:8:mail:/var/mail:/bin/sh
+news:x:9:9:news:/var/spool/news:/bin/sh
+uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
+proxy:x:13:13:proxy:/bin:/bin/sh
+www-data:x:33:33:www-data:/var/www:/bin/sh
+backup:x:34:34:backup:/var/backups:/bin/sh
+list:x:38:38:Mailing List Manager:/var/list:/bin/sh
+irc:x:39:39:ircd:/var/run/ircd:/bin/sh
+gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
+nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
+libuuid:x:100:101::/var/lib/libuuid:/bin/sh
+postfix:x:101:104::/var/spool/postfix:/bin/false
+sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
diff --git a/src/test/setup-debian-009/etc/shadow b/src/test/setup-debian-009/etc/shadow
new file mode 100644
index 0000000..7d4be16
--- /dev/null
+++ b/src/test/setup-debian-009/etc/shadow
@@ -0,0 +1,21 @@
+root:!*:15908:0:99999:7:::
+daemon:*:15908:0:99999:7:::
+bin:*:15908:0:99999:7:::
+sys:*:15908:0:99999:7:::
+sync:*:15908:0:99999:7:::
+games:*:15908:0:99999:7:::
+man:*:15908:0:99999:7:::
+lp:*:15908:0:99999:7:::
+mail:*:15908:0:99999:7:::
+news:*:15908:0:99999:7:::
+uucp:*:15908:0:99999:7:::
+proxy:*:15908:0:99999:7:::
+www-data:*:15908:0:99999:7:::
+backup:*:15908:0:99999:7:::
+list:*:15908:0:99999:7:::
+irc:*:15908:0:99999:7:::
+gnats:*:15908:0:99999:7:::
+nobody:*:15908:0:99999:7:::
+libuuid:!:15908:0:99999:7:::
+postfix:*:15908:0:99999:7:::
+sshd:*:15908:0:99999:7:::
diff --git a/src/test/setup-debian-009/etc/shadow.exp b/src/test/setup-debian-009/etc/shadow.exp
new file mode 100644
index 0000000..deb9e2d
--- /dev/null
+++ b/src/test/setup-debian-009/etc/shadow.exp
@@ -0,0 +1,21 @@
+root:$TEST$ABCDEF:12345:0:99999:7:::
+daemon:*:15908:0:99999:7:::
+bin:*:15908:0:99999:7:::
+sys:*:15908:0:99999:7:::
+sync:*:15908:0:99999:7:::
+games:*:15908:0:99999:7:::
+man:*:15908:0:99999:7:::
+lp:*:15908:0:99999:7:::
+mail:*:15908:0:99999:7:::
+news:*:15908:0:99999:7:::
+uucp:*:15908:0:99999:7:::
+proxy:*:15908:0:99999:7:::
+www-data:*:15908:0:99999:7:::
+backup:*:15908:0:99999:7:::
+list:*:15908:0:99999:7:::
+irc:*:15908:0:99999:7:::
+gnats:*:15908:0:99999:7:::
+nobody:*:15908:0:99999:7:::
+libuuid:!:15908:0:99999:7:::
+postfix:*:15908:0:99999:7:::
+sshd:*:15908:0:99999:7:::
diff --git a/src/test/setup-debian-010/config b/src/test/setup-debian-010/config
new file mode 100644
index 0000000..8d6386c
--- /dev/null
+++ b/src/test/setup-debian-010/config
@@ -0,0 +1,2 @@
+hostname: test10
+tty: 4
diff --git a/src/test/setup-debian-010/etc/debian_version b/src/test/setup-debian-010/etc/debian_version
new file mode 100644
index 0000000..c7d48f0
--- /dev/null
+++ b/src/test/setup-debian-010/etc/debian_version
@@ -0,0 +1 @@
+6.0.10
diff --git a/src/test/setup-debian-010/etc/hostname.exp b/src/test/setup-debian-010/etc/hostname.exp
new file mode 100644
index 0000000..5e08671
--- /dev/null
+++ b/src/test/setup-debian-010/etc/hostname.exp
@@ -0,0 +1 @@
+test10
diff --git a/src/test/setup-debian-010/etc/hosts.exp b/src/test/setup-debian-010/etc/hosts.exp
new file mode 100644
index 0000000..00a9546
--- /dev/null
+++ b/src/test/setup-debian-010/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+127.0.1.1 test10
diff --git a/src/test/setup-debian-010/etc/inittab b/src/test/setup-debian-010/etc/inittab
new file mode 100644
index 0000000..19ed447
--- /dev/null
+++ b/src/test/setup-debian-010/etc/inittab
@@ -0,0 +1,64 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+pf::powerwait:/etc/init.d/powerfail start
+pn::powerfailnow:/etc/init.d/powerfail now
+po::powerokwait:/etc/init.d/powerfail stop
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  <id>:<runlevels>:<action>:<process>
+#
+# Note that on most Debian systems tty7 is used by the X Window System,
+# so if you want to add more getty's go ahead but skip tty7 if you run X.
+#
+1:2345:respawn:/sbin/getty 38400 tty1
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
+
diff --git a/src/test/setup-debian-010/etc/inittab.exp b/src/test/setup-debian-010/etc/inittab.exp
new file mode 100644
index 0000000..c0e7e5a
--- /dev/null
+++ b/src/test/setup-debian-010/etc/inittab.exp
@@ -0,0 +1,64 @@
+# /etc/inittab: init(8) configuration.
+# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
+
+# The default runlevel.
+id:2:initdefault:
+
+# Boot-time system configuration/initialization script.
+# This is run first except when booting in emergency (-b) mode.
+si::sysinit:/etc/init.d/rcS
+
+# What to do in single-user mode.
+~~:S:wait:/sbin/sulogin
+
+# /etc/init.d executes the S and K scripts upon change
+# of runlevel.
+#
+# Runlevel 0 is halt.
+# Runlevel 1 is single-user.
+# Runlevels 2-5 are multi-user.
+# Runlevel 6 is reboot.
+
+l0:0:wait:/etc/init.d/rc 0
+l1:1:wait:/etc/init.d/rc 1
+l2:2:wait:/etc/init.d/rc 2
+l3:3:wait:/etc/init.d/rc 3
+l4:4:wait:/etc/init.d/rc 4
+l5:5:wait:/etc/init.d/rc 5
+l6:6:wait:/etc/init.d/rc 6
+# Normally not reached, but fallthrough in case of emergency.
+z6:6:respawn:/sbin/sulogin
+
+# What to do when CTRL-ALT-DEL is pressed.
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+# Action on special keypress (ALT-UpArrow).
+#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
+
+# What to do when the power fails/returns.
+
+# /sbin/getty invocations for the runlevels.
+#
+# The "id" field MUST be the same as the last
+# characters of the device (after "tty").
+#
+# Format:
+#  <id>:<runlevels>:<action>:<process>
+#
+# Note that on most Debian systems tty7 is used by the X Window System,
+# so if you want to add more getty's go ahead but skip tty7 if you run X.
+#
+
+# Example how to put a getty on a serial line (for a terminal)
+#
+#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
+#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
+
+# Example how to put a getty on a modem line.
+#
+#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
+p0::powerfail:/sbin/init 0
+1:2345:respawn:/sbin/getty -L 38400 tty1
+2:23:respawn:/sbin/getty -L 38400 tty2
+3:23:respawn:/sbin/getty -L 38400 tty3
+4:23:respawn:/sbin/getty -L 38400 tty4
diff --git a/src/test/setup-debian-011/config b/src/test/setup-debian-011/config
new file mode 100644
index 0000000..63c9ff5
--- /dev/null
+++ b/src/test/setup-debian-011/config
@@ -0,0 +1 @@
+net0: name=eth0,hwaddr=46:6B:2E:6F:B1:13,bridge=vmbr0,ip6=fc00::89:c:1/96
diff --git a/src/test/setup-debian-011/etc/debian_version b/src/test/setup-debian-011/etc/debian_version
new file mode 100644
index 0000000..cc40bca
--- /dev/null
+++ b/src/test/setup-debian-011/etc/debian_version
@@ -0,0 +1 @@
+8.0
diff --git a/src/test/setup-debian-011/etc/network/interfaces b/src/test/setup-debian-011/etc/network/interfaces
new file mode 100644
index 0000000..f1bd92e
--- /dev/null
+++ b/src/test/setup-debian-011/etc/network/interfaces
@@ -0,0 +1,2 @@
+auto lo
+iface lo inet loopback
diff --git a/src/test/setup-debian-011/etc/network/interfaces.exp b/src/test/setup-debian-011/etc/network/interfaces.exp
new file mode 100644
index 0000000..16e619d
--- /dev/null
+++ b/src/test/setup-debian-011/etc/network/interfaces.exp
@@ -0,0 +1,8 @@
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet6 static
+	address fc00::89:c:1
+	netmask 96
+
diff --git a/src/test/setup-debian-012/config b/src/test/setup-debian-012/config
new file mode 100644
index 0000000..1aeb8c8
--- /dev/null
+++ b/src/test/setup-debian-012/config
@@ -0,0 +1,2 @@
+net0: name=eth0,hwaddr=11:22:33:44:55:66,bridge=vmbr0,ip=10.0.0.100/32,gw=11.0.0.1
+net1: name=eth1,hwaddr=22:33:44:55:66:77,bridge=vmbr0,ip6=fc00::1/64,gw6=fc00:1::ff
diff --git a/src/test/setup-debian-012/etc/debian_version b/src/test/setup-debian-012/etc/debian_version
new file mode 100644
index 0000000..cc40bca
--- /dev/null
+++ b/src/test/setup-debian-012/etc/debian_version
@@ -0,0 +1 @@
+8.0
diff --git a/src/test/setup-debian-012/etc/network/interfaces b/src/test/setup-debian-012/etc/network/interfaces
new file mode 100644
index 0000000..f1bd92e
--- /dev/null
+++ b/src/test/setup-debian-012/etc/network/interfaces
@@ -0,0 +1,2 @@
+auto lo
+iface lo inet loopback
diff --git a/src/test/setup-debian-012/etc/network/interfaces.exp b/src/test/setup-debian-012/etc/network/interfaces.exp
new file mode 100644
index 0000000..4606578
--- /dev/null
+++ b/src/test/setup-debian-012/etc/network/interfaces.exp
@@ -0,0 +1,21 @@
+auto lo
+iface lo inet loopback
+
+auto eth0
+iface eth0 inet static
+	address 10.0.0.100
+	netmask 255.255.255.255
+	post-up ip route add 11.0.0.1 dev eth0
+	post-up ip route add default via 11.0.0.1
+	pre-down ip route del default via 11.0.0.1
+	pre-down ip route del 11.0.0.1 dev eth0
+
+auto eth1
+iface eth1 inet6 static
+	address fc00::1
+	netmask 64
+	post-up ip route add fc00:1::ff dev eth1
+	post-up ip route add default via fc00:1::ff
+	pre-down ip route del default via fc00:1::ff
+	pre-down ip route del fc00:1::ff dev eth1
+
diff --git a/src/test/setup-debian-013/config b/src/test/setup-debian-013/config
new file mode 100644
index 0000000..1d29eb6
--- /dev/null
+++ b/src/test/setup-debian-013/config
@@ -0,0 +1 @@
+net0: name=eth0,hwaddr=11:22:33:44:55:66,bridge=vmbr0
diff --git a/src/test/setup-debian-013/etc/debian_version b/src/test/setup-debian-013/etc/debian_version
new file mode 100644
index 0000000..cc40bca
--- /dev/null
+++ b/src/test/setup-debian-013/etc/debian_version
@@ -0,0 +1 @@
+8.0
diff --git a/src/test/setup-debian-013/etc/hosts b/src/test/setup-debian-013/etc/hosts
new file mode 120000
index 0000000..1d68d2e
--- /dev/null
+++ b/src/test/setup-debian-013/etc/hosts
@@ -0,0 +1 @@
+../../bad-path.txt
\ No newline at end of file
diff --git a/src/test/setup-debian-013/etc/hosts.exp b/src/test/setup-debian-013/etc/hosts.exp
new file mode 100644
index 0000000..bd9bcd7
--- /dev/null
+++ b/src/test/setup-debian-013/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+127.0.1.1 localhost
diff --git a/src/test/setup-opensuse-001/config b/src/test/setup-opensuse-001/config
new file mode 100644
index 0000000..48a4020
--- /dev/null
+++ b/src/test/setup-opensuse-001/config
@@ -0,0 +1,5 @@
+hostname: pvesuse1
+net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=1.2.3.1
+net1: bridge=vmbr0,name=eth1,ip=10.2.3.4/24
+net2: bridge=vmbr0,name=eth2,ip=manual
+net3: bridge=vmbr0,name=eth3
diff --git a/src/test/setup-opensuse-001/etc/SuSE-brand b/src/test/setup-opensuse-001/etc/SuSE-brand
new file mode 100644
index 0000000..e696c32
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/SuSE-brand
@@ -0,0 +1,2 @@
+BasedOnopenSUSE
+VERSION = 13.1
diff --git a/src/test/setup-opensuse-001/etc/hosts.exp b/src/test/setup-opensuse-001/etc/hosts.exp
new file mode 100644
index 0000000..c0113b8
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/hosts.exp
@@ -0,0 +1,2 @@
+127.0.0.1 localhost.localnet localhost
+1.2.3.4 pvesuse1.proxmox.com pvesuse1
diff --git a/src/test/setup-opensuse-001/etc/resolv.conf.exp b/src/test/setup-opensuse-001/etc/resolv.conf.exp
new file mode 100644
index 0000000..e505ad3
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/resolv.conf.exp
@@ -0,0 +1,3 @@
+search proxmox.com
+nameserver 8.8.8.8
+nameserver 8.8.8.9
diff --git a/src/test/setup-opensuse-001/etc/securetty b/src/test/setup-opensuse-001/etc/securetty
new file mode 100644
index 0000000..e0bd229
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/securetty
@@ -0,0 +1,7 @@
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+console
diff --git a/src/test/setup-opensuse-001/etc/securetty.exp b/src/test/setup-opensuse-001/etc/securetty.exp
new file mode 100644
index 0000000..a0f3062
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/securetty.exp
@@ -0,0 +1,12 @@
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+console
+lxc/console
+lxc/tty1
+lxc/tty2
+lxc/tty3
+lxc/tty4
diff --git a/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp
new file mode 100644
index 0000000..65bbdac
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp
@@ -0,0 +1,3 @@
+STARTMODE=onboot
+BOOTPROTO=static
+IPADDR=1.2.3.4/24
diff --git a/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp
new file mode 100644
index 0000000..eeeb459
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp
@@ -0,0 +1,3 @@
+STARTMODE=onboot
+BOOTPROTO=static
+IPADDR=10.2.3.4/24
diff --git a/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp
new file mode 100644
index 0000000..28fdc31
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp
@@ -0,0 +1,2 @@
+STARTMODE=manual
+BOOTPROTO=static
diff --git a/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp b/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp
new file mode 100644
index 0000000..28fdc31
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp
@@ -0,0 +1,2 @@
+STARTMODE=manual
+BOOTPROTO=static
diff --git a/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp b/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp
new file mode 100644
index 0000000..a936f06
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp
@@ -0,0 +1,3 @@
+# --- BEGIN PVE ROUTES ---
+default 1.2.3.1 0.0.0.0 eth0
+# --- END PVE ROUTES ---
diff --git a/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth1 b/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth1
new file mode 100644
index 0000000..b864673
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth1
@@ -0,0 +1 @@
+# Nothing else
diff --git a/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp b/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp
new file mode 100644
index 0000000..b864673
--- /dev/null
+++ b/src/test/setup-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp
@@ -0,0 +1 @@
+# Nothing else
diff --git a/src/test/setup-opensuse-002/config b/src/test/setup-opensuse-002/config
new file mode 100644
index 0000000..3337969
--- /dev/null
+++ b/src/test/setup-opensuse-002/config
@@ -0,0 +1,4 @@
+hostname: pvesuse1
+net0: bridge=vmbr0,name=eth0,ip6=2001:1::/64,gw6=2001:1::ffff
+net1: bridge=vmbr0,name=eth1,ip6=2001:2::/64
+net2: bridge=vmbr0,name=eth2,ip6=manual
diff --git a/src/test/setup-opensuse-002/etc/SuSE-brand b/src/test/setup-opensuse-002/etc/SuSE-brand
new file mode 100644
index 0000000..e696c32
--- /dev/null
+++ b/src/test/setup-opensuse-002/etc/SuSE-brand
@@ -0,0 +1,2 @@
+BasedOnopenSUSE
+VERSION = 13.1
diff --git a/src/test/setup-opensuse-002/etc/securetty b/src/test/setup-opensuse-002/etc/securetty
new file mode 100644
index 0000000..e0bd229
--- /dev/null
+++ b/src/test/setup-opensuse-002/etc/securetty
@@ -0,0 +1,7 @@
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+console
diff --git a/src/test/setup-opensuse-002/etc/securetty.exp b/src/test/setup-opensuse-002/etc/securetty.exp
new file mode 100644
index 0000000..a0f3062
--- /dev/null
+++ b/src/test/setup-opensuse-002/etc/securetty.exp
@@ -0,0 +1,12 @@
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+console
+lxc/console
+lxc/tty1
+lxc/tty2
+lxc/tty3
+lxc/tty4
diff --git a/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp
new file mode 100644
index 0000000..477cae7
--- /dev/null
+++ b/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp
@@ -0,0 +1,3 @@
+STARTMODE=onboot
+BOOTPROTO=static
+IPADDR=2001:1::/64
diff --git a/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp
new file mode 100644
index 0000000..2abcd37
--- /dev/null
+++ b/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp
@@ -0,0 +1,3 @@
+STARTMODE=onboot
+BOOTPROTO=static
+IPADDR=2001:2::/64
diff --git a/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp
new file mode 100644
index 0000000..28fdc31
--- /dev/null
+++ b/src/test/setup-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp
@@ -0,0 +1,2 @@
+STARTMODE=manual
+BOOTPROTO=static
diff --git a/src/test/setup-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp b/src/test/setup-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp
new file mode 100644
index 0000000..11d7b71
--- /dev/null
+++ b/src/test/setup-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp
@@ -0,0 +1,3 @@
+# --- BEGIN PVE ROUTES ---
+default 2001:1::ffff - eth0
+# --- END PVE ROUTES ---
diff --git a/src/test/setup-opensuse-003/config b/src/test/setup-opensuse-003/config
new file mode 100644
index 0000000..cbe2dcd
--- /dev/null
+++ b/src/test/setup-opensuse-003/config
@@ -0,0 +1,5 @@
+hostname: pvesuse1
+net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=4.3.2.1,ip6=2001:1::/64,gw6=2001:1::ffff
+net1: bridge=vmbr0,name=eth1,ip=dhcp
+net2: bridge=vmbr0,name=eth2,ip6=dhcp
+net3: bridge=vmbr0,name=eth3,ip=dhcp,ip6=dhcp
diff --git a/src/test/setup-opensuse-003/etc/SuSE-brand b/src/test/setup-opensuse-003/etc/SuSE-brand
new file mode 100644
index 0000000..e696c32
--- /dev/null
+++ b/src/test/setup-opensuse-003/etc/SuSE-brand
@@ -0,0 +1,2 @@
+BasedOnopenSUSE
+VERSION = 13.1
diff --git a/src/test/setup-opensuse-003/etc/securetty b/src/test/setup-opensuse-003/etc/securetty
new file mode 100644
index 0000000..e0bd229
--- /dev/null
+++ b/src/test/setup-opensuse-003/etc/securetty
@@ -0,0 +1,7 @@
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+console
diff --git a/src/test/setup-opensuse-003/etc/securetty.exp b/src/test/setup-opensuse-003/etc/securetty.exp
new file mode 100644
index 0000000..a0f3062
--- /dev/null
+++ b/src/test/setup-opensuse-003/etc/securetty.exp
@@ -0,0 +1,12 @@
+tty1
+tty2
+tty3
+tty4
+tty5
+tty6
+console
+lxc/console
+lxc/tty1
+lxc/tty2
+lxc/tty3
+lxc/tty4
diff --git a/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp
new file mode 100644
index 0000000..d5255e2
--- /dev/null
+++ b/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp
@@ -0,0 +1,4 @@
+STARTMODE=onboot
+BOOTPROTO=static
+IPADDR_1=1.2.3.4/24
+IPADDR_2=2001:1::/64
diff --git a/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp
new file mode 100644
index 0000000..9afa8b7
--- /dev/null
+++ b/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp
@@ -0,0 +1,2 @@
+STARTMODE=onboot
+BOOTPROTO=dhcp4
diff --git a/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp
new file mode 100644
index 0000000..4b5bf6f
--- /dev/null
+++ b/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp
@@ -0,0 +1,2 @@
+STARTMODE=onboot
+BOOTPROTO=dhcp6
diff --git a/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp b/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp
new file mode 100644
index 0000000..e498f5b
--- /dev/null
+++ b/src/test/setup-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp
@@ -0,0 +1,2 @@
+STARTMODE=onboot
+BOOTPROTO=dhcp
diff --git a/src/test/setup-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp b/src/test/setup-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp
new file mode 100644
index 0000000..c784a38
--- /dev/null
+++ b/src/test/setup-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp
@@ -0,0 +1,5 @@
+# --- BEGIN PVE ROUTES ---
+4.3.2.1 0.0.0.0 255.255.255.255 eth0
+default 4.3.2.1 0.0.0.0 eth0
+default 2001:1::ffff - eth0
+# --- END PVE ROUTES ---
diff --git a/src/test/snapshot-expected/commit/lxc/101.conf b/src/test/snapshot-expected/commit/lxc/101.conf
new file mode 100644
index 0000000..ac8f306
--- /dev/null
+++ b/src/test/snapshot-expected/commit/lxc/101.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/commit/lxc/102.conf b/src/test/snapshot-expected/commit/lxc/102.conf
new file mode 100644
index 0000000..70b5bcf
--- /dev/null
+++ b/src/test/snapshot-expected/commit/lxc/102.conf
@@ -0,0 +1,37 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test2
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
+
+[test2]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/commit/lxc/201.conf b/src/test/snapshot-expected/commit/lxc/201.conf
new file mode 100644
index 0000000..f871426
--- /dev/null
+++ b/src/test/snapshot-expected/commit/lxc/201.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-expected/commit/lxc/202.conf b/src/test/snapshot-expected/commit/lxc/202.conf
new file mode 100644
index 0000000..e7a3843
--- /dev/null
+++ b/src/test/snapshot-expected/commit/lxc/202.conf
@@ -0,0 +1,10 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-expected/commit/lxc/203.conf b/src/test/snapshot-expected/commit/lxc/203.conf
new file mode 100644
index 0000000..96a775f
--- /dev/null
+++ b/src/test/snapshot-expected/commit/lxc/203.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/create/lxc/101.conf b/src/test/snapshot-expected/create/lxc/101.conf
new file mode 100644
index 0000000..092c185
--- /dev/null
+++ b/src/test/snapshot-expected/create/lxc/101.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/create/lxc/102.conf b/src/test/snapshot-expected/create/lxc/102.conf
new file mode 100644
index 0000000..d702822
--- /dev/null
+++ b/src/test/snapshot-expected/create/lxc/102.conf
@@ -0,0 +1,37 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test2
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
+
+[test2]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/create/lxc/201.conf b/src/test/snapshot-expected/create/lxc/201.conf
new file mode 100644
index 0000000..da4d72c
--- /dev/null
+++ b/src/test/snapshot-expected/create/lxc/201.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:unsnapshotable-disk-1
+swap: 512
diff --git a/src/test/snapshot-expected/create/lxc/202.conf b/src/test/snapshot-expected/create/lxc/202.conf
new file mode 100644
index 0000000..c6d04c9
--- /dev/null
+++ b/src/test/snapshot-expected/create/lxc/202.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+swap: 512
diff --git a/src/test/snapshot-expected/delete/lxc/101.conf b/src/test/snapshot-expected/delete/lxc/101.conf
new file mode 100644
index 0000000..c6d04c9
--- /dev/null
+++ b/src/test/snapshot-expected/delete/lxc/101.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+swap: 512
diff --git a/src/test/snapshot-expected/delete/lxc/102.conf b/src/test/snapshot-expected/delete/lxc/102.conf
new file mode 100644
index 0000000..092c185
--- /dev/null
+++ b/src/test/snapshot-expected/delete/lxc/102.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/delete/lxc/103.conf b/src/test/snapshot-expected/delete/lxc/103.conf
new file mode 100644
index 0000000..08bc80d
--- /dev/null
+++ b/src/test/snapshot-expected/delete/lxc/103.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test2
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test2]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/delete/lxc/104.conf b/src/test/snapshot-expected/delete/lxc/104.conf
new file mode 100644
index 0000000..ce35c79
--- /dev/null
+++ b/src/test/snapshot-expected/delete/lxc/104.conf
@@ -0,0 +1,37 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test3
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
+
+[test3]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/delete/lxc/105.conf b/src/test/snapshot-expected/delete/lxc/105.conf
new file mode 100644
index 0000000..c6d04c9
--- /dev/null
+++ b/src/test/snapshot-expected/delete/lxc/105.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+swap: 512
diff --git a/src/test/snapshot-expected/delete/lxc/201.conf b/src/test/snapshot-expected/delete/lxc/201.conf
new file mode 100644
index 0000000..b010dfb
--- /dev/null
+++ b/src/test/snapshot-expected/delete/lxc/201.conf
@@ -0,0 +1,24 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:unsnapshotable-disk-1
+snapstate: delete
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/delete/lxc/202.conf b/src/test/snapshot-expected/delete/lxc/202.conf
new file mode 100644
index 0000000..2b2c5e2
--- /dev/null
+++ b/src/test/snapshot-expected/delete/lxc/202.conf
@@ -0,0 +1,24 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: backup
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/prepare/lxc/101.conf b/src/test/snapshot-expected/prepare/lxc/101.conf
new file mode 100644
index 0000000..08f6734
--- /dev/null
+++ b/src/test/snapshot-expected/prepare/lxc/101.conf
@@ -0,0 +1,24 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snapstate: prepare
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/prepare/lxc/102.conf b/src/test/snapshot-expected/prepare/lxc/102.conf
new file mode 100644
index 0000000..fa59022
--- /dev/null
+++ b/src/test/snapshot-expected/prepare/lxc/102.conf
@@ -0,0 +1,39 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
+
+[test2]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+snapstate: prepare
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/prepare/lxc/200.conf b/src/test/snapshot-expected/prepare/lxc/200.conf
new file mode 100644
index 0000000..08f6734
--- /dev/null
+++ b/src/test/snapshot-expected/prepare/lxc/200.conf
@@ -0,0 +1,24 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snapstate: prepare
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/prepare/lxc/201.conf b/src/test/snapshot-expected/prepare/lxc/201.conf
new file mode 100644
index 0000000..ac8f306
--- /dev/null
+++ b/src/test/snapshot-expected/prepare/lxc/201.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-expected/prepare/lxc/202.conf b/src/test/snapshot-expected/prepare/lxc/202.conf
new file mode 100644
index 0000000..f871426
--- /dev/null
+++ b/src/test/snapshot-expected/prepare/lxc/202.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-expected/prepare/lxc/300.conf b/src/test/snapshot-expected/prepare/lxc/300.conf
new file mode 100644
index 0000000..f871426
--- /dev/null
+++ b/src/test/snapshot-expected/prepare/lxc/300.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-input/commit/lxc/101.conf b/src/test/snapshot-input/commit/lxc/101.conf
new file mode 100644
index 0000000..08f6734
--- /dev/null
+++ b/src/test/snapshot-input/commit/lxc/101.conf
@@ -0,0 +1,24 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snapstate: prepare
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/commit/lxc/102.conf b/src/test/snapshot-input/commit/lxc/102.conf
new file mode 100644
index 0000000..fa59022
--- /dev/null
+++ b/src/test/snapshot-input/commit/lxc/102.conf
@@ -0,0 +1,39 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
+
+[test2]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+snapstate: prepare
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/commit/lxc/201.conf b/src/test/snapshot-input/commit/lxc/201.conf
new file mode 100644
index 0000000..f871426
--- /dev/null
+++ b/src/test/snapshot-input/commit/lxc/201.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-input/commit/lxc/202.conf b/src/test/snapshot-input/commit/lxc/202.conf
new file mode 100644
index 0000000..e7a3843
--- /dev/null
+++ b/src/test/snapshot-input/commit/lxc/202.conf
@@ -0,0 +1,10 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-input/commit/lxc/203.conf b/src/test/snapshot-input/commit/lxc/203.conf
new file mode 100644
index 0000000..96a775f
--- /dev/null
+++ b/src/test/snapshot-input/commit/lxc/203.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/create/lxc/101.conf b/src/test/snapshot-input/create/lxc/101.conf
new file mode 100644
index 0000000..c6d04c9
--- /dev/null
+++ b/src/test/snapshot-input/create/lxc/101.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+swap: 512
diff --git a/src/test/snapshot-input/create/lxc/102.conf b/src/test/snapshot-input/create/lxc/102.conf
new file mode 100644
index 0000000..092c185
--- /dev/null
+++ b/src/test/snapshot-input/create/lxc/102.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/create/lxc/201.conf b/src/test/snapshot-input/create/lxc/201.conf
new file mode 100644
index 0000000..da4d72c
--- /dev/null
+++ b/src/test/snapshot-input/create/lxc/201.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:unsnapshotable-disk-1
+swap: 512
diff --git a/src/test/snapshot-input/create/lxc/202.conf b/src/test/snapshot-input/create/lxc/202.conf
new file mode 100644
index 0000000..c6d04c9
--- /dev/null
+++ b/src/test/snapshot-input/create/lxc/202.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+swap: 512
diff --git a/src/test/snapshot-input/delete/lxc/101.conf b/src/test/snapshot-input/delete/lxc/101.conf
new file mode 100644
index 0000000..092c185
--- /dev/null
+++ b/src/test/snapshot-input/delete/lxc/101.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/delete/lxc/102.conf b/src/test/snapshot-input/delete/lxc/102.conf
new file mode 100644
index 0000000..d702822
--- /dev/null
+++ b/src/test/snapshot-input/delete/lxc/102.conf
@@ -0,0 +1,37 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test2
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
+
+[test2]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/delete/lxc/103.conf b/src/test/snapshot-input/delete/lxc/103.conf
new file mode 100644
index 0000000..d702822
--- /dev/null
+++ b/src/test/snapshot-input/delete/lxc/103.conf
@@ -0,0 +1,37 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test2
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
+
+[test2]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/delete/lxc/104.conf b/src/test/snapshot-input/delete/lxc/104.conf
new file mode 100644
index 0000000..9b7fb78
--- /dev/null
+++ b/src/test/snapshot-input/delete/lxc/104.conf
@@ -0,0 +1,51 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test3
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
+
+[test2]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
+
+[test3]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test2
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/delete/lxc/105.conf b/src/test/snapshot-input/delete/lxc/105.conf
new file mode 100644
index 0000000..ad0bdf1
--- /dev/null
+++ b/src/test/snapshot-input/delete/lxc/105.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:unsnapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/delete/lxc/201.conf b/src/test/snapshot-input/delete/lxc/201.conf
new file mode 100644
index 0000000..ad0bdf1
--- /dev/null
+++ b/src/test/snapshot-input/delete/lxc/201.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:unsnapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/delete/lxc/202.conf b/src/test/snapshot-input/delete/lxc/202.conf
new file mode 100644
index 0000000..2b2c5e2
--- /dev/null
+++ b/src/test/snapshot-input/delete/lxc/202.conf
@@ -0,0 +1,24 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: backup
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: local:snapshotable-disk-1
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: local:snapshotable-disk-1
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/prepare/lxc/101.conf b/src/test/snapshot-input/prepare/lxc/101.conf
new file mode 100644
index 0000000..f871426
--- /dev/null
+++ b/src/test/snapshot-input/prepare/lxc/101.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-input/prepare/lxc/102.conf b/src/test/snapshot-input/prepare/lxc/102.conf
new file mode 100644
index 0000000..ac8f306
--- /dev/null
+++ b/src/test/snapshot-input/prepare/lxc/102.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/prepare/lxc/200.conf b/src/test/snapshot-input/prepare/lxc/200.conf
new file mode 100644
index 0000000..08f6734
--- /dev/null
+++ b/src/test/snapshot-input/prepare/lxc/200.conf
@@ -0,0 +1,24 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+lock: snapshot
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snapstate: prepare
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/prepare/lxc/201.conf b/src/test/snapshot-input/prepare/lxc/201.conf
new file mode 100644
index 0000000..ac8f306
--- /dev/null
+++ b/src/test/snapshot-input/prepare/lxc/201.conf
@@ -0,0 +1,23 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+parent: test
+rootfs: somestore:somedisk
+swap: 512
+
+[test]
+#test comment
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+snaptime: 1234567890
+swap: 512
diff --git a/src/test/snapshot-input/prepare/lxc/202.conf b/src/test/snapshot-input/prepare/lxc/202.conf
new file mode 100644
index 0000000..f871426
--- /dev/null
+++ b/src/test/snapshot-input/prepare/lxc/202.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-input/prepare/lxc/300.conf b/src/test/snapshot-input/prepare/lxc/300.conf
new file mode 100644
index 0000000..f871426
--- /dev/null
+++ b/src/test/snapshot-input/prepare/lxc/300.conf
@@ -0,0 +1,9 @@
+arch: amd64
+cpulimit: 1
+cpuunits: 1024
+hostname: test
+memory: 2048
+net0: bridge=vmbr0,hwaddr=12:34:56:78:90:12,ip=dhcp,ip6=dhcp,name=eth0,type=veth
+ostype: redhat
+rootfs: somestore:somedisk
+swap: 512
diff --git a/src/test/snapshot-input/storage.cfg b/src/test/snapshot-input/storage.cfg
new file mode 100644
index 0000000..e5b9703
--- /dev/null
+++ b/src/test/snapshot-input/storage.cfg
@@ -0,0 +1,4 @@
+dir: local
+  path tmp/storage/
+  maxfiles 0
+  content vztmpl,rootdir,iso,images
diff --git a/src/test/snapshot-test.pm b/src/test/snapshot-test.pm
new file mode 100644
index 0000000..f0ce678
--- /dev/null
+++ b/src/test/snapshot-test.pm
@@ -0,0 +1,332 @@
+package PVE::LXC;
+
+use strict;
+use warnings;
+
+use PVE::Storage;
+use PVE::Storage::Plugin;
+use PVE::LXC;
+use PVE::Tools;
+
+use Test::MockModule;
+use Test::More;
+
+my $nodename;
+my $snapshot_possible;
+my $vol_snapshot_possible = {};
+my $vol_snapshot_delete_possible = {};
+my $vol_snapshot = {};
+my $vol_snapshot_delete = {};
+my $running;
+my $freeze_possible;
+
+# Mocked methods
+
+sub mocked_volume_snapshot {
+    my ($storecfg, $volid, $snapname) = @_;
+    die "Storage config not mocked! aborting"
+	if defined($storecfg);
+    die "volid undefined"
+	if !defined($volid);
+    die "snapname undefined"
+	if !defined($snapname);
+    if ($vol_snapshot_possible->{$volid}) {
+	if (defined($vol_snapshot->{$volid})) {
+	    $vol_snapshot->{$volid} .= ",$snapname";
+	} else {
+	    $vol_snapshot->{$volid} = $snapname;
+	}
+	return 1;
+    } else {
+	die "volume snapshot disabled";
+    }
+}
+
+sub mocked_volume_snapshot_delete {
+    my ($storecfg, $volid, $snapname) = @_;
+    die "Storage config not mocked! aborting"
+	if defined($storecfg);
+    die "volid undefined"
+	if !defined($volid);
+    die "snapname undefined"
+	if !defined($snapname);
+    if ($vol_snapshot_delete_possible->{$volid}) {
+	if (defined($vol_snapshot_delete->{$volid})) {
+	    $vol_snapshot_delete->{$volid} .= ",$snapname";
+	} else {
+	    $vol_snapshot_delete->{$volid} = $snapname;
+	}
+	return 1;
+    } else {
+	die "volume snapshot delete disabled";
+    }
+}
+
+sub mocked_run_command {
+    my ($cmd, %param) = @_;
+    my $cmdstring;
+    if (my $ref = ref($cmd)) {
+	$cmdstring = PVE::Tools::cmd2string($cmd);
+	if ($cmdstring =~ m/.*\/lxc-(un)?freeze.*/) {
+	    return 1 if $freeze_possible;
+	    die "lxc-[un]freeze disabled";
+	}
+    }
+    die "unexpected run_command call, aborting";
+}
+
+# Testing methods
+
+sub test_file {
+    my ($exp_fn, $real_fn) = @_;
+    my $ret;
+    eval {
+	$ret = system("diff -u '$exp_fn' '$real_fn'");
+    };
+    die if $@;
+    return !$ret;
+}
+
+sub testcase_prepare {
+    my ($vmid, $snapname, $save_vmstate, $comment, $exp_err) = @_;
+    subtest "Preparing snapshot '$snapname' for vm '$vmid'" => sub {
+	plan tests => 2;
+	$@ = undef;
+	eval {
+	    PVE::LXC::snapshot_prepare($vmid, $snapname, $save_vmstate, $comment);
+	};
+	is($@, $exp_err, "\$@ correct");
+	ok(test_file("snapshot-expected/prepare/lxc/$vmid.conf", "snapshot-working/prepare/lxc/$vmid.conf"), "config file correct");
+    };
+}
+
+sub testcase_commit {
+    my ($vmid, $snapname, $exp_err) = @_;
+    subtest "Committing snapshot '$snapname' for vm '$vmid'" => sub {
+	plan tests => 2;
+	$@ = undef;
+	eval {
+	    PVE::LXC::snapshot_commit($vmid, $snapname);
+	};
+	is($@, $exp_err, "\$@ correct");
+	ok(test_file("snapshot-expected/commit/lxc/$vmid.conf", "snapshot-working/commit/lxc/$vmid.conf"), "config file correct");
+    }
+}
+
+sub testcase_create {
+    my ($vmid, $snapname, $save_vmstate, $comment, $exp_err, $exp_vol_snap, $exp_vol_snap_delete) = @_;
+    subtest "Creating snapshot '$snapname' for vm '$vmid'" => sub {
+	plan tests => 4;
+	$vol_snapshot = {};
+	$vol_snapshot_delete = {};
+	$exp_vol_snap = {} if !defined($exp_vol_snap);
+	$exp_vol_snap_delete = {} if !defined($exp_vol_snap_delete);
+	$@ = undef;
+	eval {
+	    PVE::LXC::snapshot_create($vmid, $snapname, $save_vmstate, $comment);
+	};
+	is($@, $exp_err, "\$@ correct");
+	is_deeply($vol_snapshot, $exp_vol_snap, "created correct volume snapshots");
+	is_deeply($vol_snapshot_delete, $exp_vol_snap_delete, "deleted correct volume snapshots");
+	ok(test_file("snapshot-expected/create/lxc/$vmid.conf", "snapshot-working/create/lxc/$vmid.conf"), "config file correct");
+    };
+}
+
+sub testcase_delete {
+    my ($vmid, $snapname, $force, $exp_err, $exp_vol_snap_delete) = @_;
+    subtest "Deleting snapshot '$snapname' of vm '$vmid'" => sub {
+	plan tests => 3;
+	$vol_snapshot_delete = {};
+	$exp_vol_snap_delete = {} if !defined($exp_vol_snap_delete);
+	$@ = undef;
+	eval {
+	    PVE::LXC::snapshot_delete($vmid, $snapname, $force);
+	};
+	is($@, $exp_err, "\$@ correct");
+	is_deeply($vol_snapshot_delete, $exp_vol_snap_delete, "deleted correct volume snapshots");
+	ok(test_file("snapshot-expected/delete/lxc/$vmid.conf", "snapshot-working/delete/lxc/$vmid.conf"), "config file correct");
+    };
+}
+
+# BEGIN redefine PVE::LXC methods 
+sub config_file_lock {
+    return "snapshot-working/pve-test.lock";
+}
+
+sub cfs_config_path {
+    my ($vmid, $node) = @_;
+
+    $node = $nodename if !$node;
+    return "snapshot-working/$node/lxc/$vmid.conf";
+}
+
+sub load_config {
+    my ($vmid, $node) = @_;
+
+    my $filename = cfs_config_path($vmid, $node);
+
+    my $raw = PVE::Tools::file_get_contents($filename);
+
+    my $conf = PVE::LXC::parse_pct_config($filename, $raw);
+    return $conf;
+}
+
+sub write_config {
+    my ($vmid, $conf) = @_;
+
+    my $filename = cfs_config_path($vmid);
+
+    if ($conf->{snapshots}) {
+	foreach my $snapname (keys %{$conf->{snapshots}}) {
+	    $conf->{snapshots}->{$snapname}->{snaptime} = "1234567890"
+		if $conf->{snapshots}->{$snapname}->{snaptime};
+	}
+    }
+
+    my $raw = PVE::LXC::write_pct_config($filename, $conf);
+
+    PVE::Tools::file_set_contents($filename, $raw);
+}
+
+sub has_feature {
+    my ($feature, $conf, $storecfg, $snapname) = @_;
+    return $snapshot_possible;
+}
+
+sub check_running {
+    return $running;
+}
+
+sub sync_container_namespace {
+    return;
+}
+
+# END redefine PVE::LXC methods
+
+PVE::Tools::run_command("rm -rf snapshot-working");
+PVE::Tools::run_command("cp -a snapshot-input snapshot-working");
+
+$running = 1;
+$freeze_possible = 1;
+
+printf("");
+printf("Running prepare tests");
+printf("");
+$nodename = "prepare";
+
+printf("");
+printf("Setting has_feature to return true");
+printf("");
+$snapshot_possible = 1;
+
+printf("Successful snapshot_prepare with no existing snapshots");
+testcase_prepare("101", "test", 0, "test comment", '');
+
+printf("Successful snapshot_prepare with one existing snapshot");
+testcase_prepare("102", "test2", 0, "test comment", "");
+
+printf("Expected error for snapshot_prepare on locked container");
+testcase_prepare("200", "test", 0, "test comment", "VM is locked (snapshot)\n");
+
+printf("Expected error for snapshot_prepare with duplicate snapshot name");
+testcase_prepare("201", "test", 0, "test comment", "snapshot name 'test' already used\n");
+
+printf("Expected error for snapshot_prepare with save_vmstate");
+testcase_prepare("202", "test", 1, "test comment", "implement me - snapshot_save_vmstate\n");
+
+printf("");
+printf("Setting has_feature to return false");
+printf("");
+$snapshot_possible = 0;
+
+printf("Expected error for snapshot_prepare if snapshots not possible");
+testcase_prepare("300", "test", 0, "test comment", "snapshot feature is not available\n");
+
+printf("");
+printf("Running commit tests");
+printf("");
+$nodename = "commit";
+
+printf("");
+printf("Setting has_feature to return true");
+printf("");
+$snapshot_possible = 1;
+
+printf("Successful snapshot_commit with one prepared snapshot");
+testcase_commit("101", "test", "");
+
+printf("Successful snapshot_commit with one committed and one prepared snapshot");
+testcase_commit("102", "test2", "");
+
+printf("Expected error for snapshot_commit with no snapshot lock");
+testcase_commit("201", "test", "missing snapshot lock\n");
+
+printf("Expected error for snapshot_commit with invalid snapshot name");
+testcase_commit("202", "test", "snapshot 'test' does not exist\n");
+
+printf("Expected error for snapshot_commit with invalid snapshot state");
+testcase_commit("203", "test", "wrong snapshot state\n");
+
+$vol_snapshot_possible->{"local:snapshotable-disk-1"} = 1;
+$vol_snapshot_delete_possible->{"local:snapshotable-disk-1"} = 1;
+printf("");
+printf("Setting up Mocking for PVE::Storage");
+my $storage_module = new Test::MockModule('PVE::Storage');
+$storage_module->mock('config', sub { return undef; });
+$storage_module->mock('volume_snapshot', \&mocked_volume_snapshot);
+$storage_module->mock('volume_snapshot_delete', \&mocked_volume_snapshot_delete);
+printf("\tconfig(), volume_snapshot() and volume_snapshot_delete() mocked");
+
+printf("");
+printf("Setting up Mocking for PVE::Tools");
+my $tools_module = new Test::MockModule('PVE::Tools');
+$tools_module->mock('run_command' => \&mocked_run_command);
+printf("\trun_command() mocked");
+
+$nodename = "create";
+printf("");
+printf("Running create tests");
+printf("");
+
+printf("Successful snapshot_create with no existing snapshots");
+testcase_create("101", "test", 0, "test comment", "", { "local:snapshotable-disk-1" => "test" });
+
+printf("Successful snapshot_create with one existing snapshots");
+testcase_create("102", "test2", 0, "test comment", "", { "local:snapshotable-disk-1" => "test2" });
+
+printf("Expected error for snapshot_create when volume snapshot is not possible");
+testcase_create("201", "test", 0, "test comment", "volume snapshot disabled at snapshot-test.pm line 41.\n\n");
+
+printf("Expected error for snapshot_create with broken lxc-freeze");
+$freeze_possible = 0;
+testcase_create("202", "test", 0, "test comment", "lxc-[un]freeze disabled at snapshot-test.pm line 72.\n\n", undef, { "local:snapshotable-disk-1" => "test" });
+$freeze_possible = 1;
+
+$nodename = "delete";
+printf("");
+printf("Running delete tests");
+printf("");
+
+printf("Successful snapshot_delete of only existing snapshot");
+testcase_delete("101", "test", 0, "", { "local:snapshotable-disk-1" => "test" });
+
+printf("Successful snapshot_delete of leaf snapshot");
+testcase_delete("102", "test2", 0, "", { "local:snapshotable-disk-1" => "test2" });
+
+printf("Successful snapshot_delete of root snapshot");
+testcase_delete("103", "test", 0, "", { "local:snapshotable-disk-1" => "test" });
+
+printf("Successful snapshot_delete of intermediate snapshot");
+testcase_delete("104", "test2", 0, "", { "local:snapshotable-disk-1" => "test2" });
+
+printf("Successful snapshot_delete with broken volume_snapshot_delete and force=1");
+testcase_delete("105", "test", 1, "");
+
+printf("Expected error when snapshot_delete fails with broken volume_snapshot_delete and force=0");
+testcase_delete("201", "test", 0, "volume snapshot delete disabled at snapshot-test.pm line 61.\n");
+
+printf("Expected error for snapshot_delete with locked config");
+testcase_delete("202", "test", 0, "VM is locked (backup)\n");
+
+
+done_testing();
diff --git a/src/test/test-centos6-001/config b/src/test/test-centos6-001/config
deleted file mode 100644
index afe246f..0000000
--- a/src/test/test-centos6-001/config
+++ /dev/null
@@ -1,4 +0,0 @@
-hostname: test1
-net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=1.2.3.1
-net1: bridge=vmbr0,name=eth1,ip=10.2.3.4/24
-net2: bridge=vmbr0,name=eth2
diff --git a/src/test/test-centos6-001/etc/hosts.exp b/src/test/test-centos6-001/etc/hosts.exp
deleted file mode 100644
index 0791e77..0000000
--- a/src/test/test-centos6-001/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-1.2.3.4 test1.proxmox.com test1
diff --git a/src/test/test-centos6-001/etc/init/power-status-changed.conf.exp b/src/test/test-centos6-001/etc/init/power-status-changed.conf.exp
deleted file mode 100644
index 0763ae5..0000000
--- a/src/test/test-centos6-001/etc/init/power-status-changed.conf.exp
+++ /dev/null
@@ -1,5 +0,0 @@
-#  power-status-changed - shutdown on SIGPWR
-#
-start on power-status-changed
-    
-exec /sbin/shutdown -h now "SIGPWR received"
diff --git a/src/test/test-centos6-001/etc/init/start-ttys.conf.exp b/src/test/test-centos6-001/etc/init/start-ttys.conf.exp
deleted file mode 100644
index 20e379b..0000000
--- a/src/test/test-centos6-001/etc/init/start-ttys.conf.exp
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# This service starts the configured number of gettys.
-#
-# Do not edit this file directly. If you want to change the behaviour,
-# please create a file start-ttys.override and put your changes there.
-
-start on stopped rc RUNLEVEL=[2345]
-
-env ACTIVE_CONSOLES=/dev/tty[1-6]
-env X_TTY=/dev/tty1
-task
-script
-        . /etc/sysconfig/init
-        for tty in $(echo $ACTIVE_CONSOLES) ; do
-                [ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue
-                initctl start tty TTY=$tty
-        done
-end script
diff --git a/src/test/test-centos6-001/etc/init/tty.conf.exp b/src/test/test-centos6-001/etc/init/tty.conf.exp
deleted file mode 100644
index 5dcd7ad..0000000
--- a/src/test/test-centos6-001/etc/init/tty.conf.exp
+++ /dev/null
@@ -1,13 +0,0 @@
-# tty - getty
-#
-# This service maintains a getty on the specified device.
-#
-# Do not edit this file directly. If you want to change the behaviour,
-# please create a file tty.override and put your changes there.
-
-stop on runlevel [S016]
-
-respawn
-instance $TTY
-exec /sbin/mingetty $TTY
-usage 'tty TTY=/dev/ttyX  - where X is console id'
diff --git a/src/test/test-centos6-001/etc/rc.d/rc.sysinit b/src/test/test-centos6-001/etc/rc.d/rc.sysinit
deleted file mode 100644
index a98b7dd..0000000
--- a/src/test/test-centos6-001/etc/rc.d/rc.sysinit
+++ /dev/null
@@ -1,6 +0,0 @@
-# just a test
-# dummy
-
-/sbin/start_udev xxxxxxxxxxyyyyyyzzzz
-
-
diff --git a/src/test/test-centos6-001/etc/rc.d/rc.sysinit.exp b/src/test/test-centos6-001/etc/rc.d/rc.sysinit.exp
deleted file mode 100644
index 097907e..0000000
--- a/src/test/test-centos6-001/etc/rc.d/rc.sysinit.exp
+++ /dev/null
@@ -1,6 +0,0 @@
-# just a test
-# dummy
-
-#/sbin/start_udev xxxxxxxxxxyyyyyyzzzz
-
-
diff --git a/src/test/test-centos6-001/etc/redhat-release b/src/test/test-centos6-001/etc/redhat-release
deleted file mode 100644
index cdb73e8..0000000
--- a/src/test/test-centos6-001/etc/redhat-release
+++ /dev/null
@@ -1 +0,0 @@
-CentOS release 6.3 (Final)
diff --git a/src/test/test-centos6-001/etc/resolv.conf.exp b/src/test/test-centos6-001/etc/resolv.conf.exp
deleted file mode 100644
index e505ad3..0000000
--- a/src/test/test-centos6-001/etc/resolv.conf.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-search proxmox.com
-nameserver 8.8.8.8
-nameserver 8.8.8.9
diff --git a/src/test/test-centos6-001/etc/securetty b/src/test/test-centos6-001/etc/securetty
deleted file mode 100644
index fae1648..0000000
--- a/src/test/test-centos6-001/etc/securetty
+++ /dev/null
@@ -1,23 +0,0 @@
-console
-vc/1
-vc/2
-vc/3
-vc/4
-vc/5
-vc/6
-vc/7
-vc/8
-vc/9
-vc/10
-vc/11
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-tty7
-tty8
-tty9
-tty10
-tty11
\ No newline at end of file
diff --git a/src/test/test-centos6-001/etc/securetty.exp b/src/test/test-centos6-001/etc/securetty.exp
deleted file mode 100644
index 573c668..0000000
--- a/src/test/test-centos6-001/etc/securetty.exp
+++ /dev/null
@@ -1,28 +0,0 @@
-console
-vc/1
-vc/2
-vc/3
-vc/4
-vc/5
-vc/6
-vc/7
-vc/8
-vc/9
-vc/10
-vc/11
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-tty7
-tty8
-tty9
-tty10
-tty11
-lxc/console
-lxc/tty1
-lxc/tty2
-lxc/tty3
-lxc/tty4
diff --git a/src/test/test-centos6-001/etc/sysconfig/network b/src/test/test-centos6-001/etc/sysconfig/network
deleted file mode 100644
index e69de29..0000000
diff --git a/src/test/test-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth0.exp b/src/test/test-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth0.exp
deleted file mode 100644
index 2c5e570..0000000
--- a/src/test/test-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth0.exp
+++ /dev/null
@@ -1,6 +0,0 @@
-DEVICE=eth0
-ONBOOT=yes
-BOOTPROTO=none
-IPADDR=1.2.3.4
-NETMASK=255.255.255.0
-GATEWAY=1.2.3.1
diff --git a/src/test/test-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth1.exp b/src/test/test-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth1.exp
deleted file mode 100644
index 7be5df0..0000000
--- a/src/test/test-centos6-001/etc/sysconfig/network-scripts/ifcfg-eth1.exp
+++ /dev/null
@@ -1,5 +0,0 @@
-DEVICE=eth1
-ONBOOT=yes
-BOOTPROTO=none
-IPADDR=10.2.3.4
-NETMASK=255.255.255.0
diff --git a/src/test/test-centos6-001/etc/sysconfig/network.exp b/src/test/test-centos6-001/etc/sysconfig/network.exp
deleted file mode 100644
index 03d42fd..0000000
--- a/src/test/test-centos6-001/etc/sysconfig/network.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-NETWORKING=yes
-HOSTNAME=test1
diff --git a/src/test/test-debian-001/config b/src/test/test-debian-001/config
deleted file mode 100644
index f8d7636..0000000
--- a/src/test/test-debian-001/config
+++ /dev/null
@@ -1 +0,0 @@
-hostname: test1
diff --git a/src/test/test-debian-001/etc/crontab b/src/test/test-debian-001/etc/crontab
deleted file mode 100644
index 95edd9b..0000000
--- a/src/test/test-debian-001/etc/crontab
+++ /dev/null
@@ -1,15 +0,0 @@
-# /etc/crontab: system-wide crontab
-# Unlike any other crontab you don't have to run the `crontab'
-# command to install the new version when you edit this file
-# and files in /etc/cron.d. These files also have username fields,
-# that none of the other crontabs do.
-
-SHELL=/bin/sh
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-# m h dom mon dow user	command
-17 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
-25 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
-47 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
-52 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
-#
diff --git a/src/test/test-debian-001/etc/crontab.exp b/src/test/test-debian-001/etc/crontab.exp
deleted file mode 100644
index f57dc8d..0000000
--- a/src/test/test-debian-001/etc/crontab.exp
+++ /dev/null
@@ -1,15 +0,0 @@
-# /etc/crontab: system-wide crontab
-# Unlike any other crontab you don't have to run the `crontab'
-# command to install the new version when you edit this file
-# and files in /etc/cron.d. These files also have username fields,
-# that none of the other crontabs do.
-
-SHELL=/bin/sh
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-# m h dom mon dow user	command
-10 *	* * *	root    cd / && run-parts --report /etc/cron.hourly
-44 6	* * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
-5 6	* * 7	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
-51 6	1 * *	root	test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
-#
diff --git a/src/test/test-debian-001/etc/debian_version b/src/test/test-debian-001/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-001/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-001/etc/hostname.exp b/src/test/test-debian-001/etc/hostname.exp
deleted file mode 100644
index a5bce3f..0000000
--- a/src/test/test-debian-001/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test1
diff --git a/src/test/test-debian-001/etc/hosts.exp b/src/test/test-debian-001/etc/hosts.exp
deleted file mode 100644
index 7f3910c..0000000
--- a/src/test/test-debian-001/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-127.0.1.1 test1
diff --git a/src/test/test-debian-002/config b/src/test/test-debian-002/config
deleted file mode 100644
index 5191092..0000000
--- a/src/test/test-debian-002/config
+++ /dev/null
@@ -1,4 +0,0 @@
-hostname: test1
-net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=1.2.3.1
-net1: bridge=vmbr0,name=eth1,ip=10.2.3.4/24
-net2: bridge=vmbr0,name=eth2,ip=manual
diff --git a/src/test/test-debian-002/etc/debian_version b/src/test/test-debian-002/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-002/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-002/etc/hostname.exp b/src/test/test-debian-002/etc/hostname.exp
deleted file mode 100644
index a5bce3f..0000000
--- a/src/test/test-debian-002/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test1
diff --git a/src/test/test-debian-002/etc/hosts.exp b/src/test/test-debian-002/etc/hosts.exp
deleted file mode 100644
index 0791e77..0000000
--- a/src/test/test-debian-002/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-1.2.3.4 test1.proxmox.com test1
diff --git a/src/test/test-debian-002/etc/network/interfaces.exp b/src/test/test-debian-002/etc/network/interfaces.exp
deleted file mode 100644
index 9d9dbcc..0000000
--- a/src/test/test-debian-002/etc/network/interfaces.exp
+++ /dev/null
@@ -1,14 +0,0 @@
-auto eth0
-iface eth0 inet static
-	address 1.2.3.4
-	netmask 255.255.255.0
-	gateway 1.2.3.1
-
-auto eth1
-iface eth1 inet static
-	address 10.2.3.4
-	netmask 255.255.255.0
-
-auto eth2
-iface eth2 inet manual
-
diff --git a/src/test/test-debian-003/config b/src/test/test-debian-003/config
deleted file mode 100644
index 6df1aba..0000000
--- a/src/test/test-debian-003/config
+++ /dev/null
@@ -1,5 +0,0 @@
-arch: i386
-memory: 512
-ostype: debian
-hostname: test3
-net0: bridge=vmbr0,name=eth0,hwaddr=26:2B:CC:E5:7F:F9,ip=manual
diff --git a/src/test/test-debian-003/etc/debian_version b/src/test/test-debian-003/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-003/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-003/etc/hostname.exp b/src/test/test-debian-003/etc/hostname.exp
deleted file mode 100644
index df6b0d2..0000000
--- a/src/test/test-debian-003/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test3
diff --git a/src/test/test-debian-003/etc/hosts.exp b/src/test/test-debian-003/etc/hosts.exp
deleted file mode 100644
index 9e3fb59..0000000
--- a/src/test/test-debian-003/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-127.0.1.1 test3
diff --git a/src/test/test-debian-003/etc/network/interfaces b/src/test/test-debian-003/etc/network/interfaces
deleted file mode 100644
index f1bd92e..0000000
--- a/src/test/test-debian-003/etc/network/interfaces
+++ /dev/null
@@ -1,2 +0,0 @@
-auto lo
-iface lo inet loopback
diff --git a/src/test/test-debian-003/etc/network/interfaces.exp b/src/test/test-debian-003/etc/network/interfaces.exp
deleted file mode 100644
index cdb8d13..0000000
--- a/src/test/test-debian-003/etc/network/interfaces.exp
+++ /dev/null
@@ -1,6 +0,0 @@
-auto lo
-iface lo inet loopback
-
-auto eth0
-iface eth0 inet manual
-
diff --git a/src/test/test-debian-004/config b/src/test/test-debian-004/config
deleted file mode 100644
index bdd25d7..0000000
--- a/src/test/test-debian-004/config
+++ /dev/null
@@ -1,5 +0,0 @@
-arch: i386
-memory: 512
-ostype: debian
-hostname: test3.use-fqdn.com
-net0: bridge=vmbr0,name=eth0,hwaddr=26:2B:CC:E5:7F:F9,ip=1.2.3.2/24,gw=1.2.3.1
diff --git a/src/test/test-debian-004/etc/debian_version b/src/test/test-debian-004/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-004/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-004/etc/hostname.exp b/src/test/test-debian-004/etc/hostname.exp
deleted file mode 100644
index df6b0d2..0000000
--- a/src/test/test-debian-004/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test3
diff --git a/src/test/test-debian-004/etc/hosts.exp b/src/test/test-debian-004/etc/hosts.exp
deleted file mode 100644
index cd65bdf..0000000
--- a/src/test/test-debian-004/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-1.2.3.2 test3.use-fqdn.com test3
diff --git a/src/test/test-debian-004/etc/network/interfaces b/src/test/test-debian-004/etc/network/interfaces
deleted file mode 100644
index f1bd92e..0000000
--- a/src/test/test-debian-004/etc/network/interfaces
+++ /dev/null
@@ -1,2 +0,0 @@
-auto lo
-iface lo inet loopback
diff --git a/src/test/test-debian-004/etc/network/interfaces.exp b/src/test/test-debian-004/etc/network/interfaces.exp
deleted file mode 100644
index 6003326..0000000
--- a/src/test/test-debian-004/etc/network/interfaces.exp
+++ /dev/null
@@ -1,9 +0,0 @@
-auto lo
-iface lo inet loopback
-
-auto eth0
-iface eth0 inet static
-	address 1.2.3.2
-	netmask 255.255.255.0
-	gateway 1.2.3.1
-
diff --git a/src/test/test-debian-005/config b/src/test/test-debian-005/config
deleted file mode 100644
index 1d794fe..0000000
--- a/src/test/test-debian-005/config
+++ /dev/null
@@ -1,2 +0,0 @@
-hostname: test1
-tty: 4
diff --git a/src/test/test-debian-005/etc/debian_version b/src/test/test-debian-005/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-005/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-005/etc/hostname.exp b/src/test/test-debian-005/etc/hostname.exp
deleted file mode 100644
index a5bce3f..0000000
--- a/src/test/test-debian-005/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test1
diff --git a/src/test/test-debian-005/etc/hosts.exp b/src/test/test-debian-005/etc/hosts.exp
deleted file mode 100644
index 7f3910c..0000000
--- a/src/test/test-debian-005/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-127.0.1.1 test1
diff --git a/src/test/test-debian-005/etc/inittab b/src/test/test-debian-005/etc/inittab
deleted file mode 100644
index ddc59b8..0000000
--- a/src/test/test-debian-005/etc/inittab
+++ /dev/null
@@ -1,69 +0,0 @@
-# /etc/inittab: init(8) configuration.
-# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
-
-# The default runlevel.
-id:2:initdefault:
-
-# Boot-time system configuration/initialization script.
-# This is run first except when booting in emergency (-b) mode.
-si::sysinit:/etc/init.d/rcS
-
-# What to do in single-user mode.
-~~:S:wait:/sbin/sulogin
-
-# /etc/init.d executes the S and K scripts upon change
-# of runlevel.
-#
-# Runlevel 0 is halt.
-# Runlevel 1 is single-user.
-# Runlevels 2-5 are multi-user.
-# Runlevel 6 is reboot.
-
-l0:0:wait:/etc/init.d/rc 0
-l1:1:wait:/etc/init.d/rc 1
-l2:2:wait:/etc/init.d/rc 2
-l3:3:wait:/etc/init.d/rc 3
-l4:4:wait:/etc/init.d/rc 4
-l5:5:wait:/etc/init.d/rc 5
-l6:6:wait:/etc/init.d/rc 6
-# Normally not reached, but fallthrough in case of emergency.
-z6:6:respawn:/sbin/sulogin
-
-# What to do when CTRL-ALT-DEL is pressed.
-ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
-
-# Action on special keypress (ALT-UpArrow).
-#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
-
-# What to do when the power fails/returns.
-pf::powerwait:/etc/init.d/powerfail start
-pn::powerfailnow:/etc/init.d/powerfail now
-po::powerokwait:/etc/init.d/powerfail stop
-
-# /sbin/getty invocations for the runlevels.
-#
-# The "id" field MUST be the same as the last
-# characters of the device (after "tty").
-#
-# Format:
-#  <id>:<runlevels>:<action>:<process>
-#
-# Note that on most Debian systems tty7 is used by the X Window System,
-# so if you want to add more getty's go ahead but skip tty7 if you run X.
-#
-1:2345:respawn:/sbin/getty --noclear 38400 tty1
-2:23:respawn:/sbin/getty 38400 tty2
-3:23:respawn:/sbin/getty 38400 tty3
-4:23:respawn:/sbin/getty 38400 tty4
-5:23:respawn:/sbin/getty 38400 tty5
-6:23:respawn:/sbin/getty 38400 tty6
-
-# Example how to put a getty on a serial line (for a terminal)
-#
-#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
-#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
-
-# Example how to put a getty on a modem line.
-#
-#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
-
diff --git a/src/test/test-debian-005/etc/inittab.exp b/src/test/test-debian-005/etc/inittab.exp
deleted file mode 100644
index 7d881db..0000000
--- a/src/test/test-debian-005/etc/inittab.exp
+++ /dev/null
@@ -1,64 +0,0 @@
-# /etc/inittab: init(8) configuration.
-# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
-
-# The default runlevel.
-id:2:initdefault:
-
-# Boot-time system configuration/initialization script.
-# This is run first except when booting in emergency (-b) mode.
-si::sysinit:/etc/init.d/rcS
-
-# What to do in single-user mode.
-~~:S:wait:/sbin/sulogin
-
-# /etc/init.d executes the S and K scripts upon change
-# of runlevel.
-#
-# Runlevel 0 is halt.
-# Runlevel 1 is single-user.
-# Runlevels 2-5 are multi-user.
-# Runlevel 6 is reboot.
-
-l0:0:wait:/etc/init.d/rc 0
-l1:1:wait:/etc/init.d/rc 1
-l2:2:wait:/etc/init.d/rc 2
-l3:3:wait:/etc/init.d/rc 3
-l4:4:wait:/etc/init.d/rc 4
-l5:5:wait:/etc/init.d/rc 5
-l6:6:wait:/etc/init.d/rc 6
-# Normally not reached, but fallthrough in case of emergency.
-z6:6:respawn:/sbin/sulogin
-
-# What to do when CTRL-ALT-DEL is pressed.
-ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
-
-# Action on special keypress (ALT-UpArrow).
-#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
-
-# What to do when the power fails/returns.
-
-# /sbin/getty invocations for the runlevels.
-#
-# The "id" field MUST be the same as the last
-# characters of the device (after "tty").
-#
-# Format:
-#  <id>:<runlevels>:<action>:<process>
-#
-# Note that on most Debian systems tty7 is used by the X Window System,
-# so if you want to add more getty's go ahead but skip tty7 if you run X.
-#
-
-# Example how to put a getty on a serial line (for a terminal)
-#
-#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
-#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
-
-# Example how to put a getty on a modem line.
-#
-#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
-p0::powerfail:/sbin/init 0
-1:2345:respawn:/sbin/getty --noclear 38400 tty1
-2:23:respawn:/sbin/getty --noclear 38400 tty2
-3:23:respawn:/sbin/getty --noclear 38400 tty3
-4:23:respawn:/sbin/getty --noclear 38400 tty4
diff --git a/src/test/test-debian-006/config b/src/test/test-debian-006/config
deleted file mode 100644
index 3ad4192..0000000
--- a/src/test/test-debian-006/config
+++ /dev/null
@@ -1,2 +0,0 @@
-hostname: test1
-tty: 0
\ No newline at end of file
diff --git a/src/test/test-debian-006/etc/debian_version b/src/test/test-debian-006/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-006/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-006/etc/hostname.exp b/src/test/test-debian-006/etc/hostname.exp
deleted file mode 100644
index a5bce3f..0000000
--- a/src/test/test-debian-006/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test1
diff --git a/src/test/test-debian-006/etc/hosts.exp b/src/test/test-debian-006/etc/hosts.exp
deleted file mode 100644
index 7f3910c..0000000
--- a/src/test/test-debian-006/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-127.0.1.1 test1
diff --git a/src/test/test-debian-006/etc/inittab b/src/test/test-debian-006/etc/inittab
deleted file mode 100644
index ddc59b8..0000000
--- a/src/test/test-debian-006/etc/inittab
+++ /dev/null
@@ -1,69 +0,0 @@
-# /etc/inittab: init(8) configuration.
-# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
-
-# The default runlevel.
-id:2:initdefault:
-
-# Boot-time system configuration/initialization script.
-# This is run first except when booting in emergency (-b) mode.
-si::sysinit:/etc/init.d/rcS
-
-# What to do in single-user mode.
-~~:S:wait:/sbin/sulogin
-
-# /etc/init.d executes the S and K scripts upon change
-# of runlevel.
-#
-# Runlevel 0 is halt.
-# Runlevel 1 is single-user.
-# Runlevels 2-5 are multi-user.
-# Runlevel 6 is reboot.
-
-l0:0:wait:/etc/init.d/rc 0
-l1:1:wait:/etc/init.d/rc 1
-l2:2:wait:/etc/init.d/rc 2
-l3:3:wait:/etc/init.d/rc 3
-l4:4:wait:/etc/init.d/rc 4
-l5:5:wait:/etc/init.d/rc 5
-l6:6:wait:/etc/init.d/rc 6
-# Normally not reached, but fallthrough in case of emergency.
-z6:6:respawn:/sbin/sulogin
-
-# What to do when CTRL-ALT-DEL is pressed.
-ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
-
-# Action on special keypress (ALT-UpArrow).
-#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
-
-# What to do when the power fails/returns.
-pf::powerwait:/etc/init.d/powerfail start
-pn::powerfailnow:/etc/init.d/powerfail now
-po::powerokwait:/etc/init.d/powerfail stop
-
-# /sbin/getty invocations for the runlevels.
-#
-# The "id" field MUST be the same as the last
-# characters of the device (after "tty").
-#
-# Format:
-#  <id>:<runlevels>:<action>:<process>
-#
-# Note that on most Debian systems tty7 is used by the X Window System,
-# so if you want to add more getty's go ahead but skip tty7 if you run X.
-#
-1:2345:respawn:/sbin/getty --noclear 38400 tty1
-2:23:respawn:/sbin/getty 38400 tty2
-3:23:respawn:/sbin/getty 38400 tty3
-4:23:respawn:/sbin/getty 38400 tty4
-5:23:respawn:/sbin/getty 38400 tty5
-6:23:respawn:/sbin/getty 38400 tty6
-
-# Example how to put a getty on a serial line (for a terminal)
-#
-#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
-#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
-
-# Example how to put a getty on a modem line.
-#
-#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
-
diff --git a/src/test/test-debian-006/etc/inittab.exp b/src/test/test-debian-006/etc/inittab.exp
deleted file mode 100644
index 937a7e0..0000000
--- a/src/test/test-debian-006/etc/inittab.exp
+++ /dev/null
@@ -1,60 +0,0 @@
-# /etc/inittab: init(8) configuration.
-# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
-
-# The default runlevel.
-id:2:initdefault:
-
-# Boot-time system configuration/initialization script.
-# This is run first except when booting in emergency (-b) mode.
-si::sysinit:/etc/init.d/rcS
-
-# What to do in single-user mode.
-~~:S:wait:/sbin/sulogin
-
-# /etc/init.d executes the S and K scripts upon change
-# of runlevel.
-#
-# Runlevel 0 is halt.
-# Runlevel 1 is single-user.
-# Runlevels 2-5 are multi-user.
-# Runlevel 6 is reboot.
-
-l0:0:wait:/etc/init.d/rc 0
-l1:1:wait:/etc/init.d/rc 1
-l2:2:wait:/etc/init.d/rc 2
-l3:3:wait:/etc/init.d/rc 3
-l4:4:wait:/etc/init.d/rc 4
-l5:5:wait:/etc/init.d/rc 5
-l6:6:wait:/etc/init.d/rc 6
-# Normally not reached, but fallthrough in case of emergency.
-z6:6:respawn:/sbin/sulogin
-
-# What to do when CTRL-ALT-DEL is pressed.
-ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
-
-# Action on special keypress (ALT-UpArrow).
-#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
-
-# What to do when the power fails/returns.
-
-# /sbin/getty invocations for the runlevels.
-#
-# The "id" field MUST be the same as the last
-# characters of the device (after "tty").
-#
-# Format:
-#  <id>:<runlevels>:<action>:<process>
-#
-# Note that on most Debian systems tty7 is used by the X Window System,
-# so if you want to add more getty's go ahead but skip tty7 if you run X.
-#
-
-# Example how to put a getty on a serial line (for a terminal)
-#
-#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
-#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
-
-# Example how to put a getty on a modem line.
-#
-#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
-p0::powerfail:/sbin/init 0
diff --git a/src/test/test-debian-007/config b/src/test/test-debian-007/config
deleted file mode 100644
index dbf0e93..0000000
--- a/src/test/test-debian-007/config
+++ /dev/null
@@ -1,3 +0,0 @@
-hostname: test1
-searchdomain: proxmox.com
-nameserver: 8.8.8.8,8.8.8.9
\ No newline at end of file
diff --git a/src/test/test-debian-007/etc/debian_version b/src/test/test-debian-007/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-007/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-007/etc/hostname.exp b/src/test/test-debian-007/etc/hostname.exp
deleted file mode 100644
index a5bce3f..0000000
--- a/src/test/test-debian-007/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test1
diff --git a/src/test/test-debian-007/etc/hosts.exp b/src/test/test-debian-007/etc/hosts.exp
deleted file mode 100644
index 7f3910c..0000000
--- a/src/test/test-debian-007/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-127.0.1.1 test1
diff --git a/src/test/test-debian-007/etc/resolv.conf.exp b/src/test/test-debian-007/etc/resolv.conf.exp
deleted file mode 100644
index e505ad3..0000000
--- a/src/test/test-debian-007/etc/resolv.conf.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-search proxmox.com
-nameserver 8.8.8.8
-nameserver 8.8.8.9
diff --git a/src/test/test-debian-008/config b/src/test/test-debian-008/config
deleted file mode 100644
index 5861be4..0000000
--- a/src/test/test-debian-008/config
+++ /dev/null
@@ -1,9 +0,0 @@
-arch: i386
-cpulimit: 1
-memory: 512
-swap: 512
-ostype: debian
-hostname: CT102
-nameserver: 8.8.8.8,8.8.8.9
-searchdomain: proxmox.com
-net0: bridge=vmbr0,name=eth0,hwaddr=2A:31:01:D5:A4:BF,ip=192.168.3.102/20,gw=192.168.2.1
diff --git a/src/test/test-debian-008/etc/debian_version b/src/test/test-debian-008/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-008/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-008/etc/hostname.exp b/src/test/test-debian-008/etc/hostname.exp
deleted file mode 100644
index 473d65d..0000000
--- a/src/test/test-debian-008/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-CT102
diff --git a/src/test/test-debian-008/etc/hosts b/src/test/test-debian-008/etc/hosts
deleted file mode 100644
index e7bce03..0000000
--- a/src/test/test-debian-008/etc/hosts
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localdomain localhost
-127.0.1.1 CT102
diff --git a/src/test/test-debian-008/etc/hosts.exp b/src/test/test-debian-008/etc/hosts.exp
deleted file mode 100644
index 58c7bba..0000000
--- a/src/test/test-debian-008/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localdomain localhost
-192.168.3.102 CT102.proxmox.com CT102
diff --git a/src/test/test-debian-008/etc/network/interfaces b/src/test/test-debian-008/etc/network/interfaces
deleted file mode 100644
index f1bd92e..0000000
--- a/src/test/test-debian-008/etc/network/interfaces
+++ /dev/null
@@ -1,2 +0,0 @@
-auto lo
-iface lo inet loopback
diff --git a/src/test/test-debian-008/etc/network/interfaces.exp b/src/test/test-debian-008/etc/network/interfaces.exp
deleted file mode 100644
index b5ce7f8..0000000
--- a/src/test/test-debian-008/etc/network/interfaces.exp
+++ /dev/null
@@ -1,9 +0,0 @@
-auto lo
-iface lo inet loopback
-
-auto eth0
-iface eth0 inet static
-	address 192.168.3.102
-	netmask 255.255.240.0
-	gateway 192.168.2.1
-
diff --git a/src/test/test-debian-008/etc/resolv.conf.exp b/src/test/test-debian-008/etc/resolv.conf.exp
deleted file mode 100644
index e505ad3..0000000
--- a/src/test/test-debian-008/etc/resolv.conf.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-search proxmox.com
-nameserver 8.8.8.8
-nameserver 8.8.8.9
diff --git a/src/test/test-debian-009/config b/src/test/test-debian-009/config
deleted file mode 100644
index 8f09fd8..0000000
--- a/src/test/test-debian-009/config
+++ /dev/null
@@ -1 +0,0 @@
-hostname: test9
diff --git a/src/test/test-debian-009/etc/debian_version b/src/test/test-debian-009/etc/debian_version
deleted file mode 100644
index 4fedf1d..0000000
--- a/src/test/test-debian-009/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-7.0
diff --git a/src/test/test-debian-009/etc/hostname.exp b/src/test/test-debian-009/etc/hostname.exp
deleted file mode 100644
index c372db4..0000000
--- a/src/test/test-debian-009/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test9
diff --git a/src/test/test-debian-009/etc/hosts.exp b/src/test/test-debian-009/etc/hosts.exp
deleted file mode 100644
index 41eed1f..0000000
--- a/src/test/test-debian-009/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-127.0.1.1 test9
diff --git a/src/test/test-debian-009/etc/passwd b/src/test/test-debian-009/etc/passwd
deleted file mode 100644
index e505613..0000000
--- a/src/test/test-debian-009/etc/passwd
+++ /dev/null
@@ -1,21 +0,0 @@
-root:x:0:0:root:/root:/bin/bash
-daemon:x:1:1:daemon:/usr/sbin:/bin/sh
-bin:x:2:2:bin:/bin:/bin/sh
-sys:x:3:3:sys:/dev:/bin/sh
-sync:x:4:65534:sync:/bin:/bin/sync
-games:x:5:60:games:/usr/games:/bin/sh
-man:x:6:12:man:/var/cache/man:/bin/sh
-lp:x:7:7:lp:/var/spool/lpd:/bin/sh
-mail:x:8:8:mail:/var/mail:/bin/sh
-news:x:9:9:news:/var/spool/news:/bin/sh
-uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
-proxy:x:13:13:proxy:/bin:/bin/sh
-www-data:x:33:33:www-data:/var/www:/bin/sh
-backup:x:34:34:backup:/var/backups:/bin/sh
-list:x:38:38:Mailing List Manager:/var/list:/bin/sh
-irc:x:39:39:ircd:/var/run/ircd:/bin/sh
-gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
-nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
-libuuid:x:100:101::/var/lib/libuuid:/bin/sh
-postfix:x:101:104::/var/spool/postfix:/bin/false
-sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
diff --git a/src/test/test-debian-009/etc/passwd.exp b/src/test/test-debian-009/etc/passwd.exp
deleted file mode 100644
index e505613..0000000
--- a/src/test/test-debian-009/etc/passwd.exp
+++ /dev/null
@@ -1,21 +0,0 @@
-root:x:0:0:root:/root:/bin/bash
-daemon:x:1:1:daemon:/usr/sbin:/bin/sh
-bin:x:2:2:bin:/bin:/bin/sh
-sys:x:3:3:sys:/dev:/bin/sh
-sync:x:4:65534:sync:/bin:/bin/sync
-games:x:5:60:games:/usr/games:/bin/sh
-man:x:6:12:man:/var/cache/man:/bin/sh
-lp:x:7:7:lp:/var/spool/lpd:/bin/sh
-mail:x:8:8:mail:/var/mail:/bin/sh
-news:x:9:9:news:/var/spool/news:/bin/sh
-uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
-proxy:x:13:13:proxy:/bin:/bin/sh
-www-data:x:33:33:www-data:/var/www:/bin/sh
-backup:x:34:34:backup:/var/backups:/bin/sh
-list:x:38:38:Mailing List Manager:/var/list:/bin/sh
-irc:x:39:39:ircd:/var/run/ircd:/bin/sh
-gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
-nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
-libuuid:x:100:101::/var/lib/libuuid:/bin/sh
-postfix:x:101:104::/var/spool/postfix:/bin/false
-sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
diff --git a/src/test/test-debian-009/etc/shadow b/src/test/test-debian-009/etc/shadow
deleted file mode 100644
index 7d4be16..0000000
--- a/src/test/test-debian-009/etc/shadow
+++ /dev/null
@@ -1,21 +0,0 @@
-root:!*:15908:0:99999:7:::
-daemon:*:15908:0:99999:7:::
-bin:*:15908:0:99999:7:::
-sys:*:15908:0:99999:7:::
-sync:*:15908:0:99999:7:::
-games:*:15908:0:99999:7:::
-man:*:15908:0:99999:7:::
-lp:*:15908:0:99999:7:::
-mail:*:15908:0:99999:7:::
-news:*:15908:0:99999:7:::
-uucp:*:15908:0:99999:7:::
-proxy:*:15908:0:99999:7:::
-www-data:*:15908:0:99999:7:::
-backup:*:15908:0:99999:7:::
-list:*:15908:0:99999:7:::
-irc:*:15908:0:99999:7:::
-gnats:*:15908:0:99999:7:::
-nobody:*:15908:0:99999:7:::
-libuuid:!:15908:0:99999:7:::
-postfix:*:15908:0:99999:7:::
-sshd:*:15908:0:99999:7:::
diff --git a/src/test/test-debian-009/etc/shadow.exp b/src/test/test-debian-009/etc/shadow.exp
deleted file mode 100644
index deb9e2d..0000000
--- a/src/test/test-debian-009/etc/shadow.exp
+++ /dev/null
@@ -1,21 +0,0 @@
-root:$TEST$ABCDEF:12345:0:99999:7:::
-daemon:*:15908:0:99999:7:::
-bin:*:15908:0:99999:7:::
-sys:*:15908:0:99999:7:::
-sync:*:15908:0:99999:7:::
-games:*:15908:0:99999:7:::
-man:*:15908:0:99999:7:::
-lp:*:15908:0:99999:7:::
-mail:*:15908:0:99999:7:::
-news:*:15908:0:99999:7:::
-uucp:*:15908:0:99999:7:::
-proxy:*:15908:0:99999:7:::
-www-data:*:15908:0:99999:7:::
-backup:*:15908:0:99999:7:::
-list:*:15908:0:99999:7:::
-irc:*:15908:0:99999:7:::
-gnats:*:15908:0:99999:7:::
-nobody:*:15908:0:99999:7:::
-libuuid:!:15908:0:99999:7:::
-postfix:*:15908:0:99999:7:::
-sshd:*:15908:0:99999:7:::
diff --git a/src/test/test-debian-010/config b/src/test/test-debian-010/config
deleted file mode 100644
index 8d6386c..0000000
--- a/src/test/test-debian-010/config
+++ /dev/null
@@ -1,2 +0,0 @@
-hostname: test10
-tty: 4
diff --git a/src/test/test-debian-010/etc/debian_version b/src/test/test-debian-010/etc/debian_version
deleted file mode 100644
index c7d48f0..0000000
--- a/src/test/test-debian-010/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-6.0.10
diff --git a/src/test/test-debian-010/etc/hostname.exp b/src/test/test-debian-010/etc/hostname.exp
deleted file mode 100644
index 5e08671..0000000
--- a/src/test/test-debian-010/etc/hostname.exp
+++ /dev/null
@@ -1 +0,0 @@
-test10
diff --git a/src/test/test-debian-010/etc/hosts.exp b/src/test/test-debian-010/etc/hosts.exp
deleted file mode 100644
index 00a9546..0000000
--- a/src/test/test-debian-010/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-127.0.1.1 test10
diff --git a/src/test/test-debian-010/etc/inittab b/src/test/test-debian-010/etc/inittab
deleted file mode 100644
index 19ed447..0000000
--- a/src/test/test-debian-010/etc/inittab
+++ /dev/null
@@ -1,64 +0,0 @@
-# /etc/inittab: init(8) configuration.
-# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
-
-# The default runlevel.
-id:2:initdefault:
-
-# Boot-time system configuration/initialization script.
-# This is run first except when booting in emergency (-b) mode.
-si::sysinit:/etc/init.d/rcS
-
-# What to do in single-user mode.
-~~:S:wait:/sbin/sulogin
-
-# /etc/init.d executes the S and K scripts upon change
-# of runlevel.
-#
-# Runlevel 0 is halt.
-# Runlevel 1 is single-user.
-# Runlevels 2-5 are multi-user.
-# Runlevel 6 is reboot.
-
-l0:0:wait:/etc/init.d/rc 0
-l1:1:wait:/etc/init.d/rc 1
-l2:2:wait:/etc/init.d/rc 2
-l3:3:wait:/etc/init.d/rc 3
-l4:4:wait:/etc/init.d/rc 4
-l5:5:wait:/etc/init.d/rc 5
-l6:6:wait:/etc/init.d/rc 6
-# Normally not reached, but fallthrough in case of emergency.
-z6:6:respawn:/sbin/sulogin
-
-# What to do when CTRL-ALT-DEL is pressed.
-ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
-
-# Action on special keypress (ALT-UpArrow).
-#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
-
-# What to do when the power fails/returns.
-pf::powerwait:/etc/init.d/powerfail start
-pn::powerfailnow:/etc/init.d/powerfail now
-po::powerokwait:/etc/init.d/powerfail stop
-
-# /sbin/getty invocations for the runlevels.
-#
-# The "id" field MUST be the same as the last
-# characters of the device (after "tty").
-#
-# Format:
-#  <id>:<runlevels>:<action>:<process>
-#
-# Note that on most Debian systems tty7 is used by the X Window System,
-# so if you want to add more getty's go ahead but skip tty7 if you run X.
-#
-1:2345:respawn:/sbin/getty 38400 tty1
-
-# Example how to put a getty on a serial line (for a terminal)
-#
-#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
-#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
-
-# Example how to put a getty on a modem line.
-#
-#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
-
diff --git a/src/test/test-debian-010/etc/inittab.exp b/src/test/test-debian-010/etc/inittab.exp
deleted file mode 100644
index c0e7e5a..0000000
--- a/src/test/test-debian-010/etc/inittab.exp
+++ /dev/null
@@ -1,64 +0,0 @@
-# /etc/inittab: init(8) configuration.
-# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
-
-# The default runlevel.
-id:2:initdefault:
-
-# Boot-time system configuration/initialization script.
-# This is run first except when booting in emergency (-b) mode.
-si::sysinit:/etc/init.d/rcS
-
-# What to do in single-user mode.
-~~:S:wait:/sbin/sulogin
-
-# /etc/init.d executes the S and K scripts upon change
-# of runlevel.
-#
-# Runlevel 0 is halt.
-# Runlevel 1 is single-user.
-# Runlevels 2-5 are multi-user.
-# Runlevel 6 is reboot.
-
-l0:0:wait:/etc/init.d/rc 0
-l1:1:wait:/etc/init.d/rc 1
-l2:2:wait:/etc/init.d/rc 2
-l3:3:wait:/etc/init.d/rc 3
-l4:4:wait:/etc/init.d/rc 4
-l5:5:wait:/etc/init.d/rc 5
-l6:6:wait:/etc/init.d/rc 6
-# Normally not reached, but fallthrough in case of emergency.
-z6:6:respawn:/sbin/sulogin
-
-# What to do when CTRL-ALT-DEL is pressed.
-ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
-
-# Action on special keypress (ALT-UpArrow).
-#kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work."
-
-# What to do when the power fails/returns.
-
-# /sbin/getty invocations for the runlevels.
-#
-# The "id" field MUST be the same as the last
-# characters of the device (after "tty").
-#
-# Format:
-#  <id>:<runlevels>:<action>:<process>
-#
-# Note that on most Debian systems tty7 is used by the X Window System,
-# so if you want to add more getty's go ahead but skip tty7 if you run X.
-#
-
-# Example how to put a getty on a serial line (for a terminal)
-#
-#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
-#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100
-
-# Example how to put a getty on a modem line.
-#
-#T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3
-p0::powerfail:/sbin/init 0
-1:2345:respawn:/sbin/getty -L 38400 tty1
-2:23:respawn:/sbin/getty -L 38400 tty2
-3:23:respawn:/sbin/getty -L 38400 tty3
-4:23:respawn:/sbin/getty -L 38400 tty4
diff --git a/src/test/test-debian-011/config b/src/test/test-debian-011/config
deleted file mode 100644
index 63c9ff5..0000000
--- a/src/test/test-debian-011/config
+++ /dev/null
@@ -1 +0,0 @@
-net0: name=eth0,hwaddr=46:6B:2E:6F:B1:13,bridge=vmbr0,ip6=fc00::89:c:1/96
diff --git a/src/test/test-debian-011/etc/debian_version b/src/test/test-debian-011/etc/debian_version
deleted file mode 100644
index cc40bca..0000000
--- a/src/test/test-debian-011/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-8.0
diff --git a/src/test/test-debian-011/etc/network/interfaces b/src/test/test-debian-011/etc/network/interfaces
deleted file mode 100644
index f1bd92e..0000000
--- a/src/test/test-debian-011/etc/network/interfaces
+++ /dev/null
@@ -1,2 +0,0 @@
-auto lo
-iface lo inet loopback
diff --git a/src/test/test-debian-011/etc/network/interfaces.exp b/src/test/test-debian-011/etc/network/interfaces.exp
deleted file mode 100644
index 16e619d..0000000
--- a/src/test/test-debian-011/etc/network/interfaces.exp
+++ /dev/null
@@ -1,8 +0,0 @@
-auto lo
-iface lo inet loopback
-
-auto eth0
-iface eth0 inet6 static
-	address fc00::89:c:1
-	netmask 96
-
diff --git a/src/test/test-debian-012/config b/src/test/test-debian-012/config
deleted file mode 100644
index 1aeb8c8..0000000
--- a/src/test/test-debian-012/config
+++ /dev/null
@@ -1,2 +0,0 @@
-net0: name=eth0,hwaddr=11:22:33:44:55:66,bridge=vmbr0,ip=10.0.0.100/32,gw=11.0.0.1
-net1: name=eth1,hwaddr=22:33:44:55:66:77,bridge=vmbr0,ip6=fc00::1/64,gw6=fc00:1::ff
diff --git a/src/test/test-debian-012/etc/debian_version b/src/test/test-debian-012/etc/debian_version
deleted file mode 100644
index cc40bca..0000000
--- a/src/test/test-debian-012/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-8.0
diff --git a/src/test/test-debian-012/etc/network/interfaces b/src/test/test-debian-012/etc/network/interfaces
deleted file mode 100644
index f1bd92e..0000000
--- a/src/test/test-debian-012/etc/network/interfaces
+++ /dev/null
@@ -1,2 +0,0 @@
-auto lo
-iface lo inet loopback
diff --git a/src/test/test-debian-012/etc/network/interfaces.exp b/src/test/test-debian-012/etc/network/interfaces.exp
deleted file mode 100644
index 4606578..0000000
--- a/src/test/test-debian-012/etc/network/interfaces.exp
+++ /dev/null
@@ -1,21 +0,0 @@
-auto lo
-iface lo inet loopback
-
-auto eth0
-iface eth0 inet static
-	address 10.0.0.100
-	netmask 255.255.255.255
-	post-up ip route add 11.0.0.1 dev eth0
-	post-up ip route add default via 11.0.0.1
-	pre-down ip route del default via 11.0.0.1
-	pre-down ip route del 11.0.0.1 dev eth0
-
-auto eth1
-iface eth1 inet6 static
-	address fc00::1
-	netmask 64
-	post-up ip route add fc00:1::ff dev eth1
-	post-up ip route add default via fc00:1::ff
-	pre-down ip route del default via fc00:1::ff
-	pre-down ip route del fc00:1::ff dev eth1
-
diff --git a/src/test/test-debian-013/config b/src/test/test-debian-013/config
deleted file mode 100644
index 1d29eb6..0000000
--- a/src/test/test-debian-013/config
+++ /dev/null
@@ -1 +0,0 @@
-net0: name=eth0,hwaddr=11:22:33:44:55:66,bridge=vmbr0
diff --git a/src/test/test-debian-013/etc/debian_version b/src/test/test-debian-013/etc/debian_version
deleted file mode 100644
index cc40bca..0000000
--- a/src/test/test-debian-013/etc/debian_version
+++ /dev/null
@@ -1 +0,0 @@
-8.0
diff --git a/src/test/test-debian-013/etc/hosts b/src/test/test-debian-013/etc/hosts
deleted file mode 120000
index 1d68d2e..0000000
--- a/src/test/test-debian-013/etc/hosts
+++ /dev/null
@@ -1 +0,0 @@
-../../bad-path.txt
\ No newline at end of file
diff --git a/src/test/test-debian-013/etc/hosts.exp b/src/test/test-debian-013/etc/hosts.exp
deleted file mode 100644
index bd9bcd7..0000000
--- a/src/test/test-debian-013/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-127.0.1.1 localhost
diff --git a/src/test/test-opensuse-001/config b/src/test/test-opensuse-001/config
deleted file mode 100644
index 48a4020..0000000
--- a/src/test/test-opensuse-001/config
+++ /dev/null
@@ -1,5 +0,0 @@
-hostname: pvesuse1
-net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=1.2.3.1
-net1: bridge=vmbr0,name=eth1,ip=10.2.3.4/24
-net2: bridge=vmbr0,name=eth2,ip=manual
-net3: bridge=vmbr0,name=eth3
diff --git a/src/test/test-opensuse-001/etc/SuSE-brand b/src/test/test-opensuse-001/etc/SuSE-brand
deleted file mode 100644
index e696c32..0000000
--- a/src/test/test-opensuse-001/etc/SuSE-brand
+++ /dev/null
@@ -1,2 +0,0 @@
-BasedOnopenSUSE
-VERSION = 13.1
diff --git a/src/test/test-opensuse-001/etc/hosts.exp b/src/test/test-opensuse-001/etc/hosts.exp
deleted file mode 100644
index c0113b8..0000000
--- a/src/test/test-opensuse-001/etc/hosts.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-127.0.0.1 localhost.localnet localhost
-1.2.3.4 pvesuse1.proxmox.com pvesuse1
diff --git a/src/test/test-opensuse-001/etc/resolv.conf.exp b/src/test/test-opensuse-001/etc/resolv.conf.exp
deleted file mode 100644
index e505ad3..0000000
--- a/src/test/test-opensuse-001/etc/resolv.conf.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-search proxmox.com
-nameserver 8.8.8.8
-nameserver 8.8.8.9
diff --git a/src/test/test-opensuse-001/etc/securetty b/src/test/test-opensuse-001/etc/securetty
deleted file mode 100644
index e0bd229..0000000
--- a/src/test/test-opensuse-001/etc/securetty
+++ /dev/null
@@ -1,7 +0,0 @@
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-console
diff --git a/src/test/test-opensuse-001/etc/securetty.exp b/src/test/test-opensuse-001/etc/securetty.exp
deleted file mode 100644
index a0f3062..0000000
--- a/src/test/test-opensuse-001/etc/securetty.exp
+++ /dev/null
@@ -1,12 +0,0 @@
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-console
-lxc/console
-lxc/tty1
-lxc/tty2
-lxc/tty3
-lxc/tty4
diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp
deleted file mode 100644
index 65bbdac..0000000
--- a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth0.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-STARTMODE=onboot
-BOOTPROTO=static
-IPADDR=1.2.3.4/24
diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp
deleted file mode 100644
index eeeb459..0000000
--- a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth1.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-STARTMODE=onboot
-BOOTPROTO=static
-IPADDR=10.2.3.4/24
diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp
deleted file mode 100644
index 28fdc31..0000000
--- a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth2.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-STARTMODE=manual
-BOOTPROTO=static
diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp
deleted file mode 100644
index 28fdc31..0000000
--- a/src/test/test-opensuse-001/etc/sysconfig/network/ifcfg-eth3.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-STARTMODE=manual
-BOOTPROTO=static
diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp
deleted file mode 100644
index a936f06..0000000
--- a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth0.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-# --- BEGIN PVE ROUTES ---
-default 1.2.3.1 0.0.0.0 eth0
-# --- END PVE ROUTES ---
diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1 b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1
deleted file mode 100644
index b864673..0000000
--- a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1
+++ /dev/null
@@ -1 +0,0 @@
-# Nothing else
diff --git a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp b/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp
deleted file mode 100644
index b864673..0000000
--- a/src/test/test-opensuse-001/etc/sysconfig/network/ifroute-eth1.exp
+++ /dev/null
@@ -1 +0,0 @@
-# Nothing else
diff --git a/src/test/test-opensuse-002/config b/src/test/test-opensuse-002/config
deleted file mode 100644
index 3337969..0000000
--- a/src/test/test-opensuse-002/config
+++ /dev/null
@@ -1,4 +0,0 @@
-hostname: pvesuse1
-net0: bridge=vmbr0,name=eth0,ip6=2001:1::/64,gw6=2001:1::ffff
-net1: bridge=vmbr0,name=eth1,ip6=2001:2::/64
-net2: bridge=vmbr0,name=eth2,ip6=manual
diff --git a/src/test/test-opensuse-002/etc/SuSE-brand b/src/test/test-opensuse-002/etc/SuSE-brand
deleted file mode 100644
index e696c32..0000000
--- a/src/test/test-opensuse-002/etc/SuSE-brand
+++ /dev/null
@@ -1,2 +0,0 @@
-BasedOnopenSUSE
-VERSION = 13.1
diff --git a/src/test/test-opensuse-002/etc/securetty b/src/test/test-opensuse-002/etc/securetty
deleted file mode 100644
index e0bd229..0000000
--- a/src/test/test-opensuse-002/etc/securetty
+++ /dev/null
@@ -1,7 +0,0 @@
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-console
diff --git a/src/test/test-opensuse-002/etc/securetty.exp b/src/test/test-opensuse-002/etc/securetty.exp
deleted file mode 100644
index a0f3062..0000000
--- a/src/test/test-opensuse-002/etc/securetty.exp
+++ /dev/null
@@ -1,12 +0,0 @@
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-console
-lxc/console
-lxc/tty1
-lxc/tty2
-lxc/tty3
-lxc/tty4
diff --git a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp
deleted file mode 100644
index 477cae7..0000000
--- a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth0.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-STARTMODE=onboot
-BOOTPROTO=static
-IPADDR=2001:1::/64
diff --git a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp
deleted file mode 100644
index 2abcd37..0000000
--- a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth1.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-STARTMODE=onboot
-BOOTPROTO=static
-IPADDR=2001:2::/64
diff --git a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp
deleted file mode 100644
index 28fdc31..0000000
--- a/src/test/test-opensuse-002/etc/sysconfig/network/ifcfg-eth2.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-STARTMODE=manual
-BOOTPROTO=static
diff --git a/src/test/test-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp b/src/test/test-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp
deleted file mode 100644
index 11d7b71..0000000
--- a/src/test/test-opensuse-002/etc/sysconfig/network/ifroute-eth0.exp
+++ /dev/null
@@ -1,3 +0,0 @@
-# --- BEGIN PVE ROUTES ---
-default 2001:1::ffff - eth0
-# --- END PVE ROUTES ---
diff --git a/src/test/test-opensuse-003/config b/src/test/test-opensuse-003/config
deleted file mode 100644
index cbe2dcd..0000000
--- a/src/test/test-opensuse-003/config
+++ /dev/null
@@ -1,5 +0,0 @@
-hostname: pvesuse1
-net0: bridge=vmbr0,name=eth0,ip=1.2.3.4/24,gw=4.3.2.1,ip6=2001:1::/64,gw6=2001:1::ffff
-net1: bridge=vmbr0,name=eth1,ip=dhcp
-net2: bridge=vmbr0,name=eth2,ip6=dhcp
-net3: bridge=vmbr0,name=eth3,ip=dhcp,ip6=dhcp
diff --git a/src/test/test-opensuse-003/etc/SuSE-brand b/src/test/test-opensuse-003/etc/SuSE-brand
deleted file mode 100644
index e696c32..0000000
--- a/src/test/test-opensuse-003/etc/SuSE-brand
+++ /dev/null
@@ -1,2 +0,0 @@
-BasedOnopenSUSE
-VERSION = 13.1
diff --git a/src/test/test-opensuse-003/etc/securetty b/src/test/test-opensuse-003/etc/securetty
deleted file mode 100644
index e0bd229..0000000
--- a/src/test/test-opensuse-003/etc/securetty
+++ /dev/null
@@ -1,7 +0,0 @@
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-console
diff --git a/src/test/test-opensuse-003/etc/securetty.exp b/src/test/test-opensuse-003/etc/securetty.exp
deleted file mode 100644
index a0f3062..0000000
--- a/src/test/test-opensuse-003/etc/securetty.exp
+++ /dev/null
@@ -1,12 +0,0 @@
-tty1
-tty2
-tty3
-tty4
-tty5
-tty6
-console
-lxc/console
-lxc/tty1
-lxc/tty2
-lxc/tty3
-lxc/tty4
diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp
deleted file mode 100644
index d5255e2..0000000
--- a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth0.exp
+++ /dev/null
@@ -1,4 +0,0 @@
-STARTMODE=onboot
-BOOTPROTO=static
-IPADDR_1=1.2.3.4/24
-IPADDR_2=2001:1::/64
diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp
deleted file mode 100644
index 9afa8b7..0000000
--- a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth1.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-STARTMODE=onboot
-BOOTPROTO=dhcp4
diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp
deleted file mode 100644
index 4b5bf6f..0000000
--- a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth2.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-STARTMODE=onboot
-BOOTPROTO=dhcp6
diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp
deleted file mode 100644
index e498f5b..0000000
--- a/src/test/test-opensuse-003/etc/sysconfig/network/ifcfg-eth3.exp
+++ /dev/null
@@ -1,2 +0,0 @@
-STARTMODE=onboot
-BOOTPROTO=dhcp
diff --git a/src/test/test-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp b/src/test/test-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp
deleted file mode 100644
index c784a38..0000000
--- a/src/test/test-opensuse-003/etc/sysconfig/network/ifroute-eth0.exp
+++ /dev/null
@@ -1,5 +0,0 @@
-# --- BEGIN PVE ROUTES ---
-4.3.2.1 0.0.0.0 255.255.255.255 eth0
-default 4.3.2.1 0.0.0.0 eth0
-default 2001:1::ffff - eth0
-# --- END PVE ROUTES ---
-- 
2.1.4





More information about the pve-devel mailing list