summaryrefslogtreecommitdiffstats
path: root/wiki/src/contribute/release_process/test
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/src/contribute/release_process/test')
-rw-r--r--wiki/src/contribute/release_process/test/automated_tests.mdwn2
-rw-r--r--wiki/src/contribute/release_process/test/erase_memory_on_shutdown.mdwn12
-rw-r--r--wiki/src/contribute/release_process/test/erase_memory_on_shutdown/qemu_pmemsave.mdwn4
-rw-r--r--wiki/src/contribute/release_process/test/setup.mdwn26
-rw-r--r--wiki/src/contribute/release_process/test/usage.mdwn2
5 files changed, 33 insertions, 13 deletions
diff --git a/wiki/src/contribute/release_process/test/automated_tests.mdwn b/wiki/src/contribute/release_process/test/automated_tests.mdwn
index 3ee785c..22db600 100644
--- a/wiki/src/contribute/release_process/test/automated_tests.mdwn
+++ b/wiki/src/contribute/release_process/test/automated_tests.mdwn
@@ -1,3 +1,5 @@
+[[!meta title="Automated test suite"]]
+
[[!toc levels=2]]
# Introduction
diff --git a/wiki/src/contribute/release_process/test/erase_memory_on_shutdown.mdwn b/wiki/src/contribute/release_process/test/erase_memory_on_shutdown.mdwn
index 5b25a31..0a27803 100644
--- a/wiki/src/contribute/release_process/test/erase_memory_on_shutdown.mdwn
+++ b/wiki/src/contribute/release_process/test/erase_memory_on_shutdown.mdwn
@@ -35,12 +35,10 @@ Pick one of those:
# 2. Test that you can get the pattern after rebooting, if no memory wiping takes place
* Make sure your preferred memory scrapper toolkit is ready.
-* Reboot from Tails using `SysRq + b`; if testing in a VM, you'd
- better be careful not rebooting your host system and proceed like
- this:
-
- echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger
-
+* Kill fillram processes and reboot with `SysRq + 1` when free memory is under a threshold by running:
+
+ while [ $(free -m -o | grep Mem | sed -e 's/ */ /g' | cut -d ' ' -f 4) -ge 256 ] ; do sleep 0.1 ; done ; killall fillram ; echo 1 > /proc/sys/kernel/sysrq ; echo b > /proc/sysrq-trigger
+
* Dump memory and try to find the known pattern in it, e.g.:
grep -c wipe_didnt_work tails.dump
@@ -57,7 +55,7 @@ Pick one of those:
command-line if your memory scrapper toolkit needs it).
* Kill fillram processes and reboot Tails when free memory is under a threshold by running:
- while [ $(free -m -o | grep Mem | sed -e 's/ */ /g' | cut -d ' ' -f 4) -ge 128 ] ; do sleep 0.1 ; done ; killall fillram ; reboot
+ while [ $(free -m -o | grep Mem | sed -e 's/ */ /g' | cut -d ' ' -f 4) -ge 256 ] ; do sleep 0.1 ; done ; killall fillram ; reboot
This is especially important on 486 kernels. The threshold might be fine tuned.
diff --git a/wiki/src/contribute/release_process/test/erase_memory_on_shutdown/qemu_pmemsave.mdwn b/wiki/src/contribute/release_process/test/erase_memory_on_shutdown/qemu_pmemsave.mdwn
index 79bc765..eea80ed 100644
--- a/wiki/src/contribute/release_process/test/erase_memory_on_shutdown/qemu_pmemsave.mdwn
+++ b/wiki/src/contribute/release_process/test/erase_memory_on_shutdown/qemu_pmemsave.mdwn
@@ -4,11 +4,11 @@ Note that you need the qemu command, which is provided on wheezy by the `qemu-sy
- with a 64-bit CPU that supports PAE
- qemu -enable-kvm -cpu Nehalem -cdrom tails.iso -m 5120 -no-reboot -no-shutdown
+ qemu -enable-kvm -cpu Nehalem -cdrom tails.iso -m 5120
- with a 32-bit CPU that does not support PAE
- qemu -enable-kvm -cpu 486 -cdrom tails.iso -m 5120 -no-reboot -no-shutdown
+ qemu -enable-kvm -cpu 486 -cdrom tails.iso -m 5120
* Open the qemu console (CTRL-ALT-2).
* Save physical memory to the `tails.dump` file (length is an integer, max size for one dump is 4G = 0xF0000000):
diff --git a/wiki/src/contribute/release_process/test/setup.mdwn b/wiki/src/contribute/release_process/test/setup.mdwn
index 52cfe63..d9b35d4 100644
--- a/wiki/src/contribute/release_process/test/setup.mdwn
+++ b/wiki/src/contribute/release_process/test/setup.mdwn
@@ -13,11 +13,18 @@ Install dependencies
The following packages are necessary on Debian Wheezy, with
wheezy-backports sources added:
+ echo 'deb http://ftp.us.debian.org/debian/ testing main contrib non-free' \
+ > /etc/apt/sources.list.d/testing.list && \
+ echo -e "Package: *\nPin: release o=Debian,a=stable\nPin-Priority: 990" \
+ > /etc/apt/preferences.d/Debian_stable && \
+ echo -e "Package: *\nPin: release o=Debian,a=testing\nPin-Priority: 500" \
+ > /etc/apt/preferences.d/Debian_testing && \
+ apt-get update &&
apt-get install git xvfb virt-viewer libsikuli-script-java \
libxslt1-dev tcpdump unclutter radvd x11-apps syslinux \
- libcap2-bin devscripts libvirt-ruby ruby-rspec gawk ntp \
- ruby-json x11vnc xtightvncviewer ffmpeg libvpx1 dnsmasq-base \
- openjdk-7-jre && \
+ libcap2-bin devscripts libvirt-ruby ruby-rspec gawk ntp ovmf/testing \
+ ruby-json x11vnc xtightvncviewer ffmpeg libavcodec-extra-53 \
+ libvpx1 dnsmasq-base openjdk-7-jre && \
apt-get -t wheezy-backports install qemu-kvm qemu-system-x86 libvirt0 \
libvirt-dev libvirt-bin seabios ruby-rjb ruby-packetfu cucumber && \
service libvirt-bin restart
@@ -25,10 +32,19 @@ wheezy-backports sources added:
Other requirements
==================
+Synchronized clock
+------------------
+
The system running the test suite needs an accurate clock since we
sync the clock from the host to the Tails guest after a background
snapshot restore to appease Tor. This is why we installed ntp above.
+File permissions
+----------------
+
+The user that runs QEMU (via libvirt) needs read-access at least to
+the content of `features/misc_files/` in the Git checkout.
+
Special use cases
=================
@@ -46,6 +62,10 @@ where `$DISPLAY` is the display given to you by `run_test_suite` (often 0):
Running the test suite as a non-root user
-----------------------------------------
+<div class="note">
+This section may not be in tested and working shape.
+</div>
+
This is entirely possible, but there's some additional configuration
required. Run the following as `root`:
diff --git a/wiki/src/contribute/release_process/test/usage.mdwn b/wiki/src/contribute/release_process/test/usage.mdwn
index 14b3892..1535360 100644
--- a/wiki/src/contribute/release_process/test/usage.mdwn
+++ b/wiki/src/contribute/release_process/test/usage.mdwn
@@ -17,7 +17,7 @@ A typical example run of a few `@product` features could be:
--iso path/to/tails.iso \
features/apt.feature features/erase_memory.feature
-which will test only the `iceweasel` and `erase_memory` features (if
+which will test only the `apt` and `erase_memory` features (if
no feature paths are given, all features in `features/cucumber` will
be tested) of the given ISO image `tails.iso` while showing the test
session in a VNC viewer (`--view`) and also capturing it into a video