Factor common libvirt-sandbox-builder-{container,machine}.c code
[libvirt-sandbox.git] / docs / testing.txt
1    Test Plan for libvirt Sandbox
2    =============================
3
4 For all tests, repeat with both KVM and LXC, eg
5
6    export LIBVIRT_DEFAULT_URI=qemu:///session
7    export LIBVIRT_DEFAULT_URI=qemu:///system
8    export LIBVIRT_DEFAULT_URI=lxc:///
9
10  1. Console I/O.
11
12      a. No I/O, with TTY
13
14           virt-sandbox /bin/false
15
16      b. Output only, with TTY
17
18           virt-sandbox /bin/date
19
20      c. Input/output, with TTY
21
22           virt-sandbox /bin/sh
23
24      d. No I/O, without TTY
25
26           virt-sandbox /bin/false < /dev/null > /dev/null
27
28      e. Output only, without TTY
29
30           virt-sandbox /bin/date > date.txt
31
32      f. Input/output, without TTY
33
34           virt-sandbox /bin/cat < src.txt > dst.txt
35
36
37  2. Filesystem config
38
39      a. Host FS only
40
41      b. Host FS + /tmp dir
42
43      c. Host FS + /tmp tempdir
44
45      d. Host FS + /home dir + /tmp tempdir
46
47      e. Host FS + /home file
48
49      f. Host FS + /home block
50
51      g. Host FS + /mnt file + /home bind + /tmp bind
52
53
54  3. File includes
55
56      a. Host FS + /tmp dir + copy file /home/tmp/foo into /tmp/foo
57
58      b. Host FS + /tmp tempdir + copy file /home/tmp/foo into /tmp/foo
59
60      c. Host FS + /tmp dir + copy dir /home/tmp/bar into /tmp/bar
61
62      d. Host FS + /tmp tempdir + copy dir /home/tmp/bar into /tmp/bar
63
64      e. Host FS + /tmp dir + copy filelist /home/tmp/foolist
65
66      f. Host FS + /tmp tempdir + copy filelist /home/tmp/foolist
67
68
69  4. Environment / security
70
71      a. Same UID/GID, same $USER, same $HOME, no capabilities
72
73      b. UID/GID > 0, USER=foo, HOME=/home/foo, no capabilities
74
75      c. UID/GID == 0, USER=root, HOME=/root, no capabilities
76
77      d. UID/GID == 0, USER=root, HOME=/root, all capabilities