diff options
-rw-r--r-- | cucumber/README-sikuli-cucumber (renamed from features/README-sikuli-cucumber) | 0 | ||||
-rwxr-xr-x | cucumber/bin/run_test_suite (renamed from bin/lvc/run_test_suite) | 0 | ||||
-rw-r--r-- | cucumber/features/config/defaults.yml (renamed from features/config/defaults.yml) | 0 | ||||
-rw-r--r-- | cucumber/features/domains/default.xml (renamed from features/domains/default.xml) | 0 | ||||
-rw-r--r-- | cucumber/features/domains/default_net.xml (renamed from features/domains/default_net.xml) | 0 | ||||
-rw-r--r-- | cucumber/features/domains/disk.xml (renamed from features/domains/disk.xml) | 0 | ||||
-rw-r--r-- | cucumber/features/domains/fs_share.xml (renamed from features/domains/fs_share.xml) | 0 | ||||
-rw-r--r-- | cucumber/features/domains/storage_pool.xml (renamed from features/domains/storage_pool.xml) | 0 | ||||
-rw-r--r-- | cucumber/features/domains/volume.xml (renamed from features/domains/volume.xml) | 0 | ||||
-rw-r--r-- | cucumber/features/images/DebianInstallerCountrySelection.png (renamed from features/images/DebianInstallerCountrySelection.png) | bin | 5303 -> 5303 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerDomainPrompt.png (renamed from features/images/DebianInstallerDomainPrompt.png) | bin | 2225 -> 2225 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerHostnamePrompt.png (renamed from features/images/DebianInstallerHostnamePrompt.png) | bin | 5643 -> 5643 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerHttpProxy.png (renamed from features/images/DebianInstallerHttpProxy.png) | bin | 485 -> 485 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerInstallingBaseSystem.png (renamed from features/images/DebianInstallerInstallingBaseSystem.png) | bin | 3554 -> 3554 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerMirrorCountry.png (renamed from features/images/DebianInstallerMirrorCountry.png) | bin | 3769 -> 3769 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerNameOfUser.png (renamed from features/images/DebianInstallerNameOfUser.png) | bin | 3792 -> 3792 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerNoDiskFound.png (renamed from features/images/DebianInstallerNoDiskFound.png) | bin | 4005 -> 4005 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerPartitioningMethod.png (renamed from features/images/DebianInstallerPartitioningMethod.png) | bin | 13953 -> 13953 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerPartitioningScheme.png (renamed from features/images/DebianInstallerPartitioningScheme.png) | bin | 2879 -> 2879 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerRootPassword.png (renamed from features/images/DebianInstallerRootPassword.png) | bin | 3226 -> 3226 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerSelectDiskToPartition.png (renamed from features/images/DebianInstallerSelectDiskToPartition.png) | bin | 5403 -> 5403 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerSelectLangEnglish.png (renamed from features/images/DebianInstallerSelectLangEnglish.png) | bin | 7229 -> 7229 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerSelectLangEnglishUK.png (renamed from features/images/DebianInstallerSelectLangEnglishUK.png) | bin | 4853 -> 4853 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianInstallerUserPassword.png (renamed from features/images/DebianInstallerUserPassword.png) | bin | 4892 -> 4892 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianLive7BootSplash.png (renamed from features/images/DebianLive7BootSplash.png) | bin | 13399 -> 13399 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianLive7BootSplashTabMsg.png (renamed from features/images/DebianLive7BootSplashTabMsg.png) | bin | 4260 -> 4260 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianLive7Greeter.png (renamed from features/images/DebianLive7Greeter.png) | bin | 3166 -> 3166 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianLiveBootSplash.png (renamed from features/images/DebianLiveBootSplash.png) | bin | 1569 -> 1569 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianLiveBootSplashTabMsg.png (renamed from features/images/DebianLiveBootSplashTabMsg.png) | bin | 790 -> 790 bytes | |||
-rw-r--r-- | cucumber/features/images/DebianLoginPromptVT.png (renamed from features/images/DebianLoginPromptVT.png) | bin | 7466 -> 7466 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i8_bootsplash.png (renamed from features/images/d-i8_bootsplash.png) | bin | 9930 -> 9930 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_ArchiveMirror.png (renamed from features/images/d-i_ArchiveMirror.png) | bin | 2908 -> 2908 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_ChooseSoftware.png (renamed from features/images/d-i_ChooseSoftware.png) | bin | 4204 -> 4204 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_DesktopTask_No.png (renamed from features/images/d-i_DesktopTask_No.png) | bin | 7161 -> 7161 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_DesktopTask_Yes.png (renamed from features/images/d-i_DesktopTask_Yes.png) | bin | 4152 -> 4152 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_F12BootMenu.png (renamed from features/images/d-i_F12BootMenu.png) | bin | 482 -> 482 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_FinishPartitioning.png (renamed from features/images/d-i_FinishPartitioning.png) | bin | 8734 -> 8734 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_GRUBEnterDev.png (renamed from features/images/d-i_GRUBEnterDev.png) | bin | 2490 -> 2490 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_GRUB_Debian.png (renamed from features/images/d-i_GRUB_Debian.png) | bin | 387 -> 387 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_GRUBdev.png (renamed from features/images/d-i_GRUBdev.png) | bin | 1765 -> 1765 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_HttpProxy.png (renamed from features/images/d-i_HttpProxy.png) | bin | 5324 -> 5324 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_InstallComplete.png (renamed from features/images/d-i_InstallComplete.png) | bin | 2740 -> 2740 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_InstallGRUB.png (renamed from features/images/d-i_InstallGRUB.png) | bin | 6367 -> 6367 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_No.png (renamed from features/images/d-i_No.png) | bin | 995 -> 995 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_ScanCD.png (renamed from features/images/d-i_ScanCD.png) | bin | 3216 -> 3216 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_SelectBootDev.png (renamed from features/images/d-i_SelectBootDev.png) | bin | 559 -> 559 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_UseNetMirror.png (renamed from features/images/d-i_UseNetMirror.png) | bin | 2975 -> 2975 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_Yes.png (renamed from features/images/d-i_Yes.png) | bin | 1163 -> 1163 bytes | |||
-rw-r--r-- | cucumber/features/images/d-i_popcon.png (renamed from features/images/d-i_popcon.png) | bin | 3894 -> 3894 bytes | |||
-rw-r--r-- | cucumber/features/install.feature (renamed from features/DebianLive/apt.feature) | 0 | ||||
-rw-r--r-- | cucumber/features/misc_files/sample.pdf (renamed from features/misc_files/sample.pdf) | bin | 22347 -> 22347 bytes | |||
-rw-r--r-- | cucumber/features/misc_files/sample.tex (renamed from features/misc_files/sample.tex) | 0 | ||||
-rwxr-xr-x | cucumber/features/scripts/otr-bot.py (renamed from features/scripts/otr-bot.py) | 0 | ||||
-rwxr-xr-x | cucumber/features/scripts/vm-execute (renamed from features/scripts/vm-execute) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/apt.rb (renamed from features/step_definitions/apt.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/browser.rb (renamed from features/step_definitions/browser.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/build.rb (renamed from features/step_definitions/build.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/checks.rb (renamed from features/step_definitions/checks.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/common_steps.rb (renamed from features/step_definitions/common_steps.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/dhcp.rb (renamed from features/step_definitions/dhcp.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/electrum.rb (renamed from features/step_definitions/electrum.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/encryption.rb (renamed from features/step_definitions/encryption.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/evince.rb (renamed from features/step_definitions/evince.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/firewall_leaks.rb (renamed from features/step_definitions/firewall_leaks.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/git.rb (renamed from features/step_definitions/git.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/icedove.rb (renamed from features/step_definitions/icedove.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/mac_spoofing.rb (renamed from features/step_definitions/mac_spoofing.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/pidgin.rb (renamed from features/step_definitions/pidgin.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/po.rb (renamed from features/step_definitions/po.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/root_access_control.rb (renamed from features/step_definitions/root_access_control.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/snapshots.rb (renamed from features/step_definitions/snapshots.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/ssh.rb (renamed from features/step_definitions/ssh.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/time_syncing.rb (renamed from features/step_definitions/time_syncing.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/tor.rb (renamed from features/step_definitions/tor.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/torified_browsing.rb (renamed from features/step_definitions/torified_browsing.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/torified_gnupg.rb (renamed from features/step_definitions/torified_gnupg.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/torified_misc.rb (renamed from features/step_definitions/torified_misc.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/totem.rb (renamed from features/step_definitions/totem.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/unsafe_browser.rb (renamed from features/step_definitions/unsafe_browser.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/untrusted_partitions.rb (renamed from features/step_definitions/untrusted_partitions.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/step_definitions/usb.rb (renamed from features/step_definitions/usb.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/config.rb (renamed from features/support/config.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/env.rb (renamed from features/support/env.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/extra_hooks.rb (renamed from features/support/extra_hooks.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/chatbot_helper.rb (renamed from features/support/helpers/chatbot_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/ctcp_helper.rb (renamed from features/support/helpers/ctcp_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/display_helper.rb (renamed from features/support/helpers/display_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/exec_helper.rb (renamed from features/support/helpers/exec_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/firewall_helper.rb (renamed from features/support/helpers/firewall_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/misc_helpers.rb (renamed from features/support/helpers/misc_helpers.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/sikuli_helper.rb (renamed from features/support/helpers/sikuli_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/sniffing_helper.rb (renamed from features/support/helpers/sniffing_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/sshd_helper.rb (renamed from features/support/helpers/sshd_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/storage_helper.rb (renamed from features/support/helpers/storage_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/helpers/vm_helper.rb (renamed from features/support/helpers/vm_helper.rb) | 0 | ||||
-rw-r--r-- | cucumber/features/support/hooks.rb (renamed from features/support/hooks.rb) | 0 | ||||
-rw-r--r-- | features/apt.feature | 36 | ||||
-rw-r--r-- | features/build.feature | 212 | ||||
-rw-r--r-- | features/checks.feature | 107 | ||||
-rw-r--r-- | features/dhcp.feature | 22 | ||||
-rw-r--r-- | features/electrum.feature | 34 | ||||
-rw-r--r-- | features/encryption.feature | 35 | ||||
-rw-r--r-- | features/evince.feature | 66 | ||||
-rw-r--r-- | features/icedove.feature | 39 | ||||
-rw-r--r-- | features/localization.feature | 19 | ||||
-rw-r--r-- | features/mac_spoofing.feature | 71 | ||||
-rw-r--r-- | features/mat.feature | 13 | ||||
-rw-r--r-- | features/persistence.feature | 55 | ||||
-rw-r--r-- | features/pidgin.feature | 135 | ||||
-rw-r--r-- | features/po.feature | 9 | ||||
-rw-r--r-- | features/root_access_control.feature | 33 | ||||
-rw-r--r-- | features/ssh.feature | 31 | ||||
-rw-r--r-- | features/time_syncing.feature | 129 | ||||
-rw-r--r-- | features/tor_bridges.feature | 36 | ||||
-rw-r--r-- | features/tor_enforcement.feature | 76 | ||||
-rw-r--r-- | features/tor_stream_isolation.feature | 62 | ||||
-rw-r--r-- | features/torified_browsing.feature | 172 | ||||
-rw-r--r-- | features/torified_git.feature | 31 | ||||
-rw-r--r-- | features/torified_gnupg.feature | 53 | ||||
-rw-r--r-- | features/torified_misc.feature | 24 | ||||
-rw-r--r-- | features/totem.feature | 70 | ||||
-rw-r--r-- | features/unsafe_browser.feature | 73 | ||||
-rw-r--r-- | features/untrusted_partitions.feature | 80 | ||||
-rw-r--r-- | features/usb_install.feature | 107 | ||||
-rw-r--r-- | features/usb_upgrade.feature | 164 |
125 files changed, 0 insertions, 1994 deletions
diff --git a/features/README-sikuli-cucumber b/cucumber/README-sikuli-cucumber index 24d90aaf..24d90aaf 100644 --- a/features/README-sikuli-cucumber +++ b/cucumber/README-sikuli-cucumber diff --git a/bin/lvc/run_test_suite b/cucumber/bin/run_test_suite index 5b40c389..5b40c389 100755 --- a/bin/lvc/run_test_suite +++ b/cucumber/bin/run_test_suite diff --git a/features/config/defaults.yml b/cucumber/features/config/defaults.yml index 9c312146..9c312146 100644 --- a/features/config/defaults.yml +++ b/cucumber/features/config/defaults.yml diff --git a/features/domains/default.xml b/cucumber/features/domains/default.xml index f1004dcf..f1004dcf 100644 --- a/features/domains/default.xml +++ b/cucumber/features/domains/default.xml diff --git a/features/domains/default_net.xml b/cucumber/features/domains/default_net.xml index fd2966eb..fd2966eb 100644 --- a/features/domains/default_net.xml +++ b/cucumber/features/domains/default_net.xml diff --git a/features/domains/disk.xml b/cucumber/features/domains/disk.xml index 8193fea3..8193fea3 100644 --- a/features/domains/disk.xml +++ b/cucumber/features/domains/disk.xml diff --git a/features/domains/fs_share.xml b/cucumber/features/domains/fs_share.xml index 718755ea..718755ea 100644 --- a/features/domains/fs_share.xml +++ b/cucumber/features/domains/fs_share.xml diff --git a/features/domains/storage_pool.xml b/cucumber/features/domains/storage_pool.xml index ce0a6915..ce0a6915 100644 --- a/features/domains/storage_pool.xml +++ b/cucumber/features/domains/storage_pool.xml diff --git a/features/domains/volume.xml b/cucumber/features/domains/volume.xml index 702d5a05..702d5a05 100644 --- a/features/domains/volume.xml +++ b/cucumber/features/domains/volume.xml diff --git a/features/images/DebianInstallerCountrySelection.png b/cucumber/features/images/DebianInstallerCountrySelection.png Binary files differindex fe130993..fe130993 100644 --- a/features/images/DebianInstallerCountrySelection.png +++ b/cucumber/features/images/DebianInstallerCountrySelection.png diff --git a/features/images/DebianInstallerDomainPrompt.png b/cucumber/features/images/DebianInstallerDomainPrompt.png Binary files differindex d7fca5f8..d7fca5f8 100644 --- a/features/images/DebianInstallerDomainPrompt.png +++ b/cucumber/features/images/DebianInstallerDomainPrompt.png diff --git a/features/images/DebianInstallerHostnamePrompt.png b/cucumber/features/images/DebianInstallerHostnamePrompt.png Binary files differindex f1325c8d..f1325c8d 100644 --- a/features/images/DebianInstallerHostnamePrompt.png +++ b/cucumber/features/images/DebianInstallerHostnamePrompt.png diff --git a/features/images/DebianInstallerHttpProxy.png b/cucumber/features/images/DebianInstallerHttpProxy.png Binary files differindex 04b3e13e..04b3e13e 100644 --- a/features/images/DebianInstallerHttpProxy.png +++ b/cucumber/features/images/DebianInstallerHttpProxy.png diff --git a/features/images/DebianInstallerInstallingBaseSystem.png b/cucumber/features/images/DebianInstallerInstallingBaseSystem.png Binary files differindex 0b9e1c7f..0b9e1c7f 100644 --- a/features/images/DebianInstallerInstallingBaseSystem.png +++ b/cucumber/features/images/DebianInstallerInstallingBaseSystem.png diff --git a/features/images/DebianInstallerMirrorCountry.png b/cucumber/features/images/DebianInstallerMirrorCountry.png Binary files differindex 9b4df5ea..9b4df5ea 100644 --- a/features/images/DebianInstallerMirrorCountry.png +++ b/cucumber/features/images/DebianInstallerMirrorCountry.png diff --git a/features/images/DebianInstallerNameOfUser.png b/cucumber/features/images/DebianInstallerNameOfUser.png Binary files differindex e37c7ec4..e37c7ec4 100644 --- a/features/images/DebianInstallerNameOfUser.png +++ b/cucumber/features/images/DebianInstallerNameOfUser.png diff --git a/features/images/DebianInstallerNoDiskFound.png b/cucumber/features/images/DebianInstallerNoDiskFound.png Binary files differindex 671f52d6..671f52d6 100644 --- a/features/images/DebianInstallerNoDiskFound.png +++ b/cucumber/features/images/DebianInstallerNoDiskFound.png diff --git a/features/images/DebianInstallerPartitioningMethod.png b/cucumber/features/images/DebianInstallerPartitioningMethod.png Binary files differindex 9e44360e..9e44360e 100644 --- a/features/images/DebianInstallerPartitioningMethod.png +++ b/cucumber/features/images/DebianInstallerPartitioningMethod.png diff --git a/features/images/DebianInstallerPartitioningScheme.png b/cucumber/features/images/DebianInstallerPartitioningScheme.png Binary files differindex 97105b62..97105b62 100644 --- a/features/images/DebianInstallerPartitioningScheme.png +++ b/cucumber/features/images/DebianInstallerPartitioningScheme.png diff --git a/features/images/DebianInstallerRootPassword.png b/cucumber/features/images/DebianInstallerRootPassword.png Binary files differindex 27368fd7..27368fd7 100644 --- a/features/images/DebianInstallerRootPassword.png +++ b/cucumber/features/images/DebianInstallerRootPassword.png diff --git a/features/images/DebianInstallerSelectDiskToPartition.png b/cucumber/features/images/DebianInstallerSelectDiskToPartition.png Binary files differindex 1f14bb1a..1f14bb1a 100644 --- a/features/images/DebianInstallerSelectDiskToPartition.png +++ b/cucumber/features/images/DebianInstallerSelectDiskToPartition.png diff --git a/features/images/DebianInstallerSelectLangEnglish.png b/cucumber/features/images/DebianInstallerSelectLangEnglish.png Binary files differindex 85f848d5..85f848d5 100644 --- a/features/images/DebianInstallerSelectLangEnglish.png +++ b/cucumber/features/images/DebianInstallerSelectLangEnglish.png diff --git a/features/images/DebianInstallerSelectLangEnglishUK.png b/cucumber/features/images/DebianInstallerSelectLangEnglishUK.png Binary files differindex c0da761f..c0da761f 100644 --- a/features/images/DebianInstallerSelectLangEnglishUK.png +++ b/cucumber/features/images/DebianInstallerSelectLangEnglishUK.png diff --git a/features/images/DebianInstallerUserPassword.png b/cucumber/features/images/DebianInstallerUserPassword.png Binary files differindex bf9964aa..bf9964aa 100644 --- a/features/images/DebianInstallerUserPassword.png +++ b/cucumber/features/images/DebianInstallerUserPassword.png diff --git a/features/images/DebianLive7BootSplash.png b/cucumber/features/images/DebianLive7BootSplash.png Binary files differindex b64353aa..b64353aa 100644 --- a/features/images/DebianLive7BootSplash.png +++ b/cucumber/features/images/DebianLive7BootSplash.png diff --git a/features/images/DebianLive7BootSplashTabMsg.png b/cucumber/features/images/DebianLive7BootSplashTabMsg.png Binary files differindex 150830b7..150830b7 100644 --- a/features/images/DebianLive7BootSplashTabMsg.png +++ b/cucumber/features/images/DebianLive7BootSplashTabMsg.png diff --git a/features/images/DebianLive7Greeter.png b/cucumber/features/images/DebianLive7Greeter.png Binary files differindex f1afaabe..f1afaabe 100644 --- a/features/images/DebianLive7Greeter.png +++ b/cucumber/features/images/DebianLive7Greeter.png diff --git a/features/images/DebianLiveBootSplash.png b/cucumber/features/images/DebianLiveBootSplash.png Binary files differindex 11ee1494..11ee1494 100644 --- a/features/images/DebianLiveBootSplash.png +++ b/cucumber/features/images/DebianLiveBootSplash.png diff --git a/features/images/DebianLiveBootSplashTabMsg.png b/cucumber/features/images/DebianLiveBootSplashTabMsg.png Binary files differindex cdddaf1d..cdddaf1d 100644 --- a/features/images/DebianLiveBootSplashTabMsg.png +++ b/cucumber/features/images/DebianLiveBootSplashTabMsg.png diff --git a/features/images/DebianLoginPromptVT.png b/cucumber/features/images/DebianLoginPromptVT.png Binary files differindex ec267820..ec267820 100644 --- a/features/images/DebianLoginPromptVT.png +++ b/cucumber/features/images/DebianLoginPromptVT.png diff --git a/features/images/d-i8_bootsplash.png b/cucumber/features/images/d-i8_bootsplash.png Binary files differindex 086c65cb..086c65cb 100644 --- a/features/images/d-i8_bootsplash.png +++ b/cucumber/features/images/d-i8_bootsplash.png diff --git a/features/images/d-i_ArchiveMirror.png b/cucumber/features/images/d-i_ArchiveMirror.png Binary files differindex 7e53f189..7e53f189 100644 --- a/features/images/d-i_ArchiveMirror.png +++ b/cucumber/features/images/d-i_ArchiveMirror.png diff --git a/features/images/d-i_ChooseSoftware.png b/cucumber/features/images/d-i_ChooseSoftware.png Binary files differindex 93447158..93447158 100644 --- a/features/images/d-i_ChooseSoftware.png +++ b/cucumber/features/images/d-i_ChooseSoftware.png diff --git a/features/images/d-i_DesktopTask_No.png b/cucumber/features/images/d-i_DesktopTask_No.png Binary files differindex 6dbf9df4..6dbf9df4 100644 --- a/features/images/d-i_DesktopTask_No.png +++ b/cucumber/features/images/d-i_DesktopTask_No.png diff --git a/features/images/d-i_DesktopTask_Yes.png b/cucumber/features/images/d-i_DesktopTask_Yes.png Binary files differindex 02cbaa5d..02cbaa5d 100644 --- a/features/images/d-i_DesktopTask_Yes.png +++ b/cucumber/features/images/d-i_DesktopTask_Yes.png diff --git a/features/images/d-i_F12BootMenu.png b/cucumber/features/images/d-i_F12BootMenu.png Binary files differindex 67a21856..67a21856 100644 --- a/features/images/d-i_F12BootMenu.png +++ b/cucumber/features/images/d-i_F12BootMenu.png diff --git a/features/images/d-i_FinishPartitioning.png b/cucumber/features/images/d-i_FinishPartitioning.png Binary files differindex 50396500..50396500 100644 --- a/features/images/d-i_FinishPartitioning.png +++ b/cucumber/features/images/d-i_FinishPartitioning.png diff --git a/features/images/d-i_GRUBEnterDev.png b/cucumber/features/images/d-i_GRUBEnterDev.png Binary files differindex 6df484ed..6df484ed 100644 --- a/features/images/d-i_GRUBEnterDev.png +++ b/cucumber/features/images/d-i_GRUBEnterDev.png diff --git a/features/images/d-i_GRUB_Debian.png b/cucumber/features/images/d-i_GRUB_Debian.png Binary files differindex 3b67cfbe..3b67cfbe 100644 --- a/features/images/d-i_GRUB_Debian.png +++ b/cucumber/features/images/d-i_GRUB_Debian.png diff --git a/features/images/d-i_GRUBdev.png b/cucumber/features/images/d-i_GRUBdev.png Binary files differindex 9d554d74..9d554d74 100644 --- a/features/images/d-i_GRUBdev.png +++ b/cucumber/features/images/d-i_GRUBdev.png diff --git a/features/images/d-i_HttpProxy.png b/cucumber/features/images/d-i_HttpProxy.png Binary files differindex 4163a5b3..4163a5b3 100644 --- a/features/images/d-i_HttpProxy.png +++ b/cucumber/features/images/d-i_HttpProxy.png diff --git a/features/images/d-i_InstallComplete.png b/cucumber/features/images/d-i_InstallComplete.png Binary files differindex a8564464..a8564464 100644 --- a/features/images/d-i_InstallComplete.png +++ b/cucumber/features/images/d-i_InstallComplete.png diff --git a/features/images/d-i_InstallGRUB.png b/cucumber/features/images/d-i_InstallGRUB.png Binary files differindex e491fbd1..e491fbd1 100644 --- a/features/images/d-i_InstallGRUB.png +++ b/cucumber/features/images/d-i_InstallGRUB.png diff --git a/features/images/d-i_No.png b/cucumber/features/images/d-i_No.png Binary files differindex 1108addc..1108addc 100644 --- a/features/images/d-i_No.png +++ b/cucumber/features/images/d-i_No.png diff --git a/features/images/d-i_ScanCD.png b/cucumber/features/images/d-i_ScanCD.png Binary files differindex 5790bcce..5790bcce 100644 --- a/features/images/d-i_ScanCD.png +++ b/cucumber/features/images/d-i_ScanCD.png diff --git a/features/images/d-i_SelectBootDev.png b/cucumber/features/images/d-i_SelectBootDev.png Binary files differindex 7abef3ec..7abef3ec 100644 --- a/features/images/d-i_SelectBootDev.png +++ b/cucumber/features/images/d-i_SelectBootDev.png diff --git a/features/images/d-i_UseNetMirror.png b/cucumber/features/images/d-i_UseNetMirror.png Binary files differindex 2b41228b..2b41228b 100644 --- a/features/images/d-i_UseNetMirror.png +++ b/cucumber/features/images/d-i_UseNetMirror.png diff --git a/features/images/d-i_Yes.png b/cucumber/features/images/d-i_Yes.png Binary files differindex 17fab5b9..17fab5b9 100644 --- a/features/images/d-i_Yes.png +++ b/cucumber/features/images/d-i_Yes.png diff --git a/features/images/d-i_popcon.png b/cucumber/features/images/d-i_popcon.png Binary files differindex ed0ba618..ed0ba618 100644 --- a/features/images/d-i_popcon.png +++ b/cucumber/features/images/d-i_popcon.png diff --git a/features/DebianLive/apt.feature b/cucumber/features/install.feature index 3b71b6c2..3b71b6c2 100644 --- a/features/DebianLive/apt.feature +++ b/cucumber/features/install.feature diff --git a/features/misc_files/sample.pdf b/cucumber/features/misc_files/sample.pdf Binary files differindex d0cc9502..d0cc9502 100644 --- a/features/misc_files/sample.pdf +++ b/cucumber/features/misc_files/sample.pdf diff --git a/features/misc_files/sample.tex b/cucumber/features/misc_files/sample.tex index 043faaec..043faaec 100644 --- a/features/misc_files/sample.tex +++ b/cucumber/features/misc_files/sample.tex diff --git a/features/scripts/otr-bot.py b/cucumber/features/scripts/otr-bot.py index 0afd15a4..0afd15a4 100755 --- a/features/scripts/otr-bot.py +++ b/cucumber/features/scripts/otr-bot.py diff --git a/features/scripts/vm-execute b/cucumber/features/scripts/vm-execute index fc1bf459..fc1bf459 100755 --- a/features/scripts/vm-execute +++ b/cucumber/features/scripts/vm-execute diff --git a/features/step_definitions/apt.rb b/cucumber/features/step_definitions/apt.rb index c69d2598..c69d2598 100644 --- a/features/step_definitions/apt.rb +++ b/cucumber/features/step_definitions/apt.rb diff --git a/features/step_definitions/browser.rb b/cucumber/features/step_definitions/browser.rb index 84ef1d35..84ef1d35 100644 --- a/features/step_definitions/browser.rb +++ b/cucumber/features/step_definitions/browser.rb diff --git a/features/step_definitions/build.rb b/cucumber/features/step_definitions/build.rb index fd001ff4..fd001ff4 100644 --- a/features/step_definitions/build.rb +++ b/cucumber/features/step_definitions/build.rb diff --git a/features/step_definitions/checks.rb b/cucumber/features/step_definitions/checks.rb index 423b8390..423b8390 100644 --- a/features/step_definitions/checks.rb +++ b/cucumber/features/step_definitions/checks.rb diff --git a/features/step_definitions/common_steps.rb b/cucumber/features/step_definitions/common_steps.rb index bd03cebb..bd03cebb 100644 --- a/features/step_definitions/common_steps.rb +++ b/cucumber/features/step_definitions/common_steps.rb diff --git a/features/step_definitions/dhcp.rb b/cucumber/features/step_definitions/dhcp.rb index ef4d9e15..ef4d9e15 100644 --- a/features/step_definitions/dhcp.rb +++ b/cucumber/features/step_definitions/dhcp.rb diff --git a/features/step_definitions/electrum.rb b/cucumber/features/step_definitions/electrum.rb index 447983d4..447983d4 100644 --- a/features/step_definitions/electrum.rb +++ b/cucumber/features/step_definitions/electrum.rb diff --git a/features/step_definitions/encryption.rb b/cucumber/features/step_definitions/encryption.rb index 9f7f1b96..9f7f1b96 100644 --- a/features/step_definitions/encryption.rb +++ b/cucumber/features/step_definitions/encryption.rb diff --git a/features/step_definitions/evince.rb b/cucumber/features/step_definitions/evince.rb index 9411ac4d..9411ac4d 100644 --- a/features/step_definitions/evince.rb +++ b/cucumber/features/step_definitions/evince.rb diff --git a/features/step_definitions/firewall_leaks.rb b/cucumber/features/step_definitions/firewall_leaks.rb index 942d00b8..942d00b8 100644 --- a/features/step_definitions/firewall_leaks.rb +++ b/cucumber/features/step_definitions/firewall_leaks.rb diff --git a/features/step_definitions/git.rb b/cucumber/features/step_definitions/git.rb index bf6f869d..bf6f869d 100644 --- a/features/step_definitions/git.rb +++ b/cucumber/features/step_definitions/git.rb diff --git a/features/step_definitions/icedove.rb b/cucumber/features/step_definitions/icedove.rb index d3672895..d3672895 100644 --- a/features/step_definitions/icedove.rb +++ b/cucumber/features/step_definitions/icedove.rb diff --git a/features/step_definitions/mac_spoofing.rb b/cucumber/features/step_definitions/mac_spoofing.rb index a4aa8714..a4aa8714 100644 --- a/features/step_definitions/mac_spoofing.rb +++ b/cucumber/features/step_definitions/mac_spoofing.rb diff --git a/features/step_definitions/pidgin.rb b/cucumber/features/step_definitions/pidgin.rb index 3f5ed931..3f5ed931 100644 --- a/features/step_definitions/pidgin.rb +++ b/cucumber/features/step_definitions/pidgin.rb diff --git a/features/step_definitions/po.rb b/cucumber/features/step_definitions/po.rb index c73bacef..c73bacef 100644 --- a/features/step_definitions/po.rb +++ b/cucumber/features/step_definitions/po.rb diff --git a/features/step_definitions/root_access_control.rb b/cucumber/features/step_definitions/root_access_control.rb index ff1bdfcc..ff1bdfcc 100644 --- a/features/step_definitions/root_access_control.rb +++ b/cucumber/features/step_definitions/root_access_control.rb diff --git a/features/step_definitions/snapshots.rb b/cucumber/features/step_definitions/snapshots.rb index 13e4a5b6..13e4a5b6 100644 --- a/features/step_definitions/snapshots.rb +++ b/cucumber/features/step_definitions/snapshots.rb diff --git a/features/step_definitions/ssh.rb b/cucumber/features/step_definitions/ssh.rb index 038b2977..038b2977 100644 --- a/features/step_definitions/ssh.rb +++ b/cucumber/features/step_definitions/ssh.rb diff --git a/features/step_definitions/time_syncing.rb b/cucumber/features/step_definitions/time_syncing.rb index 319fb521..319fb521 100644 --- a/features/step_definitions/time_syncing.rb +++ b/cucumber/features/step_definitions/time_syncing.rb diff --git a/features/step_definitions/tor.rb b/cucumber/features/step_definitions/tor.rb index ac12fd4c..ac12fd4c 100644 --- a/features/step_definitions/tor.rb +++ b/cucumber/features/step_definitions/tor.rb diff --git a/features/step_definitions/torified_browsing.rb b/cucumber/features/step_definitions/torified_browsing.rb index c8f3ff1d..c8f3ff1d 100644 --- a/features/step_definitions/torified_browsing.rb +++ b/cucumber/features/step_definitions/torified_browsing.rb diff --git a/features/step_definitions/torified_gnupg.rb b/cucumber/features/step_definitions/torified_gnupg.rb index 4b4cc040..4b4cc040 100644 --- a/features/step_definitions/torified_gnupg.rb +++ b/cucumber/features/step_definitions/torified_gnupg.rb diff --git a/features/step_definitions/torified_misc.rb b/cucumber/features/step_definitions/torified_misc.rb index 7112776a..7112776a 100644 --- a/features/step_definitions/torified_misc.rb +++ b/cucumber/features/step_definitions/torified_misc.rb diff --git a/features/step_definitions/totem.rb b/cucumber/features/step_definitions/totem.rb index 72698dde..72698dde 100644 --- a/features/step_definitions/totem.rb +++ b/cucumber/features/step_definitions/totem.rb diff --git a/features/step_definitions/unsafe_browser.rb b/cucumber/features/step_definitions/unsafe_browser.rb index b8c04983..b8c04983 100644 --- a/features/step_definitions/unsafe_browser.rb +++ b/cucumber/features/step_definitions/unsafe_browser.rb diff --git a/features/step_definitions/untrusted_partitions.rb b/cucumber/features/step_definitions/untrusted_partitions.rb index 43453b2f..43453b2f 100644 --- a/features/step_definitions/untrusted_partitions.rb +++ b/cucumber/features/step_definitions/untrusted_partitions.rb diff --git a/features/step_definitions/usb.rb b/cucumber/features/step_definitions/usb.rb index 76f94d2f..76f94d2f 100644 --- a/features/step_definitions/usb.rb +++ b/cucumber/features/step_definitions/usb.rb diff --git a/features/support/config.rb b/cucumber/features/support/config.rb index 25c107b4..25c107b4 100644 --- a/features/support/config.rb +++ b/cucumber/features/support/config.rb diff --git a/features/support/env.rb b/cucumber/features/support/env.rb index 2e17ae76..2e17ae76 100644 --- a/features/support/env.rb +++ b/cucumber/features/support/env.rb diff --git a/features/support/extra_hooks.rb b/cucumber/features/support/extra_hooks.rb index 16196a55..16196a55 100644 --- a/features/support/extra_hooks.rb +++ b/cucumber/features/support/extra_hooks.rb diff --git a/features/support/helpers/chatbot_helper.rb b/cucumber/features/support/helpers/chatbot_helper.rb index 23ce3e1a..23ce3e1a 100644 --- a/features/support/helpers/chatbot_helper.rb +++ b/cucumber/features/support/helpers/chatbot_helper.rb diff --git a/features/support/helpers/ctcp_helper.rb b/cucumber/features/support/helpers/ctcp_helper.rb index ee5180ab..ee5180ab 100644 --- a/features/support/helpers/ctcp_helper.rb +++ b/cucumber/features/support/helpers/ctcp_helper.rb diff --git a/features/support/helpers/display_helper.rb b/cucumber/features/support/helpers/display_helper.rb index b4dce733..b4dce733 100644 --- a/features/support/helpers/display_helper.rb +++ b/cucumber/features/support/helpers/display_helper.rb diff --git a/features/support/helpers/exec_helper.rb b/cucumber/features/support/helpers/exec_helper.rb index 14e12269..14e12269 100644 --- a/features/support/helpers/exec_helper.rb +++ b/cucumber/features/support/helpers/exec_helper.rb diff --git a/features/support/helpers/firewall_helper.rb b/cucumber/features/support/helpers/firewall_helper.rb index fce363c5..fce363c5 100644 --- a/features/support/helpers/firewall_helper.rb +++ b/cucumber/features/support/helpers/firewall_helper.rb diff --git a/features/support/helpers/misc_helpers.rb b/cucumber/features/support/helpers/misc_helpers.rb index 7e09411f..7e09411f 100644 --- a/features/support/helpers/misc_helpers.rb +++ b/cucumber/features/support/helpers/misc_helpers.rb diff --git a/features/support/helpers/sikuli_helper.rb b/cucumber/features/support/helpers/sikuli_helper.rb index 486b0e2e..486b0e2e 100644 --- a/features/support/helpers/sikuli_helper.rb +++ b/cucumber/features/support/helpers/sikuli_helper.rb diff --git a/features/support/helpers/sniffing_helper.rb b/cucumber/features/support/helpers/sniffing_helper.rb index 213411eb..213411eb 100644 --- a/features/support/helpers/sniffing_helper.rb +++ b/cucumber/features/support/helpers/sniffing_helper.rb diff --git a/features/support/helpers/sshd_helper.rb b/cucumber/features/support/helpers/sshd_helper.rb index 2e0069c0..2e0069c0 100644 --- a/features/support/helpers/sshd_helper.rb +++ b/cucumber/features/support/helpers/sshd_helper.rb diff --git a/features/support/helpers/storage_helper.rb b/cucumber/features/support/helpers/storage_helper.rb index 21537a92..21537a92 100644 --- a/features/support/helpers/storage_helper.rb +++ b/cucumber/features/support/helpers/storage_helper.rb diff --git a/features/support/helpers/vm_helper.rb b/cucumber/features/support/helpers/vm_helper.rb index 6d7204d4..6d7204d4 100644 --- a/features/support/helpers/vm_helper.rb +++ b/cucumber/features/support/helpers/vm_helper.rb diff --git a/features/support/hooks.rb b/cucumber/features/support/hooks.rb index b3bdecef..b3bdecef 100644 --- a/features/support/hooks.rb +++ b/cucumber/features/support/hooks.rb diff --git a/features/apt.feature b/features/apt.feature deleted file mode 100644 index ac778c26..00000000 --- a/features/apt.feature +++ /dev/null @@ -1,36 +0,0 @@ -#10497: wait_until_tor_is_working -@product @fragile -Feature: Installing packages through APT - As a Tails user - when I set an administration password in Tails Greeter - I should be able to install packages using APT and Synaptic - and all Internet traffic should flow only through Tor. - - Background: - Given a computer - And I capture all network traffic - And I start the computer - And the computer boots DebianLive7 - And I set sudo password "asdf" - And I log in to a new session - And GNOME has started - And Tor is ready - And all notifications have disappeared - And available upgrades have been checked - And I save the state so the background can be restored next scenario - - Scenario: APT sources are configured correctly - Then the only hosts in APT sources are "ftp.us.debian.org,http.debian.net,ftp.debian.org,security.debian.org" - - #10496: apt-get scenarios are fragile - @check_tor_leaks @fragile - Scenario: Install packages using apt - When I update APT using apt - Then I should be able to install a package using apt - - #10441: Synaptic test is fragile - @check_tor_leaks @fragile - Scenario: Install packages using Synaptic - When I start Synaptic - And I update APT using Synaptic - Then I should be able to install a package using Synaptic diff --git a/features/build.feature b/features/build.feature deleted file mode 100644 index 74d314de..00000000 --- a/features/build.feature +++ /dev/null @@ -1,212 +0,0 @@ -@source -Feature: custom APT sources to build branches - As a Tails developer, when I build Tails, I'd be happy if - the proper APT sources were automatically picked depending - on which Git branch I am working on. - - Scenario: build from an untagged stable branch where the config/APT_overlays.d directory is empty - Given I am working on the stable base branch - And the last version mentioned in debian/changelog is 1.0 - And Tails 1.0 has not been released yet - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the 'stable' suite - - Scenario: build from an untagged stable branch where config/APT_overlays.d is not empty - Given I am working on the stable base branch - And the last version mentioned in debian/changelog is 1.0 - And Tails 1.0 has not been released yet - And config/APT_overlays.d contains 'feature-foo' - And config/APT_overlays.d contains 'bugfix-bar' - When I successfully run tails-custom-apt-sources - Then I should see the 'stable' suite - And I should see the 'feature-foo' suite - And I should see the 'bugfix-bar' suite - But I should not see the '1.0' suite - - Scenario: build from a tagged stable branch where the config/APT_overlays.d directory is empty - Given Tails 0.10 has been released - And the last version mentioned in debian/changelog is 0.10 - And I am working on the stable base branch - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the '0.10' suite - - Scenario: build from a tagged stable branch where config/APT_overlays.d is not empty - Given Tails 0.10 has been released - And the last version mentioned in debian/changelog is 0.10 - And I am working on the stable base branch - And config/APT_overlays.d contains 'feature-foo' - When I run tails-custom-apt-sources - Then it should fail - - Scenario: build from a bugfix branch without overlays for a stable release - Given Tails 0.10 has been released - And the last version mentioned in debian/changelog is 0.10.1 - And Tails 0.10.1 has not been released yet - And I am working on the bugfix/disable_gdomap branch based on stable - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the 'stable' suite - - Scenario: build from a bugfix branch with overlays for a stable release - Given Tails 0.10 has been released - And the last version mentioned in debian/changelog is 0.10.1 - And Tails 0.10.1 has not been released yet - And I am working on the bugfix/disable_gdomap branch based on stable - And config/APT_overlays.d contains 'bugfix-disable-gdomap' - And config/APT_overlays.d contains 'bugfix-bar' - When I successfully run tails-custom-apt-sources - Then I should see the 'stable' suite - And I should see the 'bugfix-disable-gdomap' suite - And I should see the 'bugfix-bar' suite - But I should not see the '0.10' suite - - Scenario: build from an untagged testing branch where the config/APT_overlays.d directory is empty - Given I am working on the testing base branch - And the last version mentioned in debian/changelog is 0.11 - And Tails 0.11 has not been released yet - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see the 'testing' suite - And I should not see the '0.11' suite - And I should not see the 'feature-foo' suite - And I should not see the 'bugfix-bar' suite - - Scenario: build from an untagged testing branch where config/APT_overlays.d is not empty - Given I am working on the testing base branch - And the last version mentioned in debian/changelog is 0.11 - And Tails 0.11 has not been released yet - And config/APT_overlays.d contains 'feature-foo' - And config/APT_overlays.d contains 'bugfix-bar' - When I successfully run tails-custom-apt-sources - Then I should see the 'testing' suite - And I should see the 'feature-foo' suite - And I should see the 'bugfix-bar' suite - But I should not see the '0.11' suite - - Scenario: build from a tagged testing branch where the config/APT_overlays.d directory is empty - Given I am working on the testing base branch - And the last version mentioned in debian/changelog is 0.11 - And Tails 0.11 has been released - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the '0.11' suite - - Scenario: build from a tagged testing branch where config/APT_overlays.d is not empty - Given I am working on the testing base branch - And the last version mentioned in debian/changelog is 0.11 - And Tails 0.11 has been released - And config/APT_overlays.d contains 'feature-foo' - When I run tails-custom-apt-sources - Then it should fail - - Scenario: build a release candidate from a tagged testing branch - Given I am working on the testing base branch - And Tails 0.11 has been released - And the last version mentioned in debian/changelog is 0.12~rc1 - And Tails 0.12-rc1 has been tagged - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the '0.12-rc1' suite - - Scenario: build a release candidate from a tagged testing branch where config/APT_overlays.d is not empty - Given I am working on the testing base branch - And Tails 0.11 has been released - And the last version mentioned in debian/changelog is 0.12~rc1 - And Tails 0.12-rc1 has been tagged - And config/APT_overlays.d contains 'bugfix-bar' - When I run tails-custom-apt-sources - Then it should fail - - Scenario: build from the devel branch without overlays - Given I am working on the devel base branch - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the 'devel' suite - - Scenario: build from the devel branch with overlays - Given I am working on the devel base branch - And config/APT_overlays.d contains 'feature-foo' - And config/APT_overlays.d contains 'bugfix-bar' - When I successfully run tails-custom-apt-sources - Then I should see the 'devel' suite - And I should see the 'feature-foo' suite - And I should see the 'bugfix-bar' suite - - Scenario: build from the feature/jessie branch without overlays - Given I am working on the feature/jessie base branch - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the 'feature-jessie' suite - - Scenario: build from the feature/jessie branch with overlays - Given I am working on the feature/jessie base branch - And config/APT_overlays.d contains 'feature-7756-reintroduce-whisperback' - When I successfully run tails-custom-apt-sources - Then I should see the 'feature-jessie' suite - And I should see the 'feature-7756-reintroduce-whisperback' suite - - Scenario: build from the experimental branch - Given I am working on the experimental branch based on devel - And config/APT_overlays.d contains 'feature-foo' - And config/APT_overlays.d contains 'bugfix-bar' - When I successfully run tails-custom-apt-sources - Then I should see the 'devel' suite - And I should see the 'feature-foo' suite - And I should see the 'bugfix-bar' suite - - Scenario: build from a feature branch with overlays based on devel - Given I am working on the feature/icedove branch based on devel - And config/APT_overlays.d contains 'feature-icedove' - And config/APT_overlays.d contains 'bugfix-bar' - When I successfully run tails-custom-apt-sources - Then I should see the 'devel' suite - And I should see the 'feature-icedove' suite - And I should see the 'bugfix-bar' suite - - Scenario: build from a feature branch without overlays based on devel - Given I am working on the feature/icedove branch based on devel - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the 'devel' suite - - Scenario: build from a feature branch with overlays based on feature/jessie - Given I am working on the feature/7756-reintroduce-whisperback branch based on feature/jessie - And config/APT_overlays.d contains 'feature-7756-reintroduce-whisperback' - And config/APT_overlays.d contains 'bugfix-bar' - When I successfully run tails-custom-apt-sources - Then I should see the 'feature-jessie' suite - And I should see the 'feature-7756-reintroduce-whisperback' suite - And I should see the 'bugfix-bar' suite - - Scenario: build from a feature branch without overlays based on feature/jessie - Given I am working on the feature/icedove branch based on feature/jessie - And the config/APT_overlays.d directory is empty - When I successfully run tails-custom-apt-sources - Then I should see only the 'feature-jessie' suite - - Scenario: build from a feature branch based on devel with dots in its name - Given I am working on the feature/live-boot-3.x branch based on devel - And config/APT_overlays.d contains 'feature-live-boot-3.x' - When I successfully run tails-custom-apt-sources - Then I should see the 'devel' suite - And I should see the 'feature-live-boot-3.x' suite - - Scenario: build from a branch that has no config/APT_overlays.d directory - Given I am working on the stable base branch - And the config/APT_overlays.d directory does not exist - When I run tails-custom-apt-sources - Then it should fail - - Scenario: build from a branch that has no config/base_branch file - Given I am working on the stable base branch - And the config/base_branch file does not exist - When I run tails-custom-apt-sources - Then it should fail - - Scenario: build from a branch where config/base_branch is empty - Given I am working on the stable base branch - And the config/base_branch file is empty - When I run tails-custom-apt-sources - Then it should fail diff --git a/features/checks.feature b/features/checks.feature deleted file mode 100644 index 24d35943..00000000 --- a/features/checks.feature +++ /dev/null @@ -1,107 +0,0 @@ -@product -Feature: Various checks - - Scenario: AppArmor is enabled and has enforced profiles - Given I have started Tails from DVD without network and logged in - Then AppArmor is enabled - And some AppArmor profiles are enforced - - Scenario: A screenshot is taken when the PRINTSCREEN key is pressed - Given I have started Tails from DVD without network and logged in - And there is no screenshot in the live user's Pictures directory - When I press the "PRINTSCREEN" key - Then a screenshot is saved to the live user's Pictures directory - - Scenario: VirtualBox guest modules are available - Given I have started Tails from DVD without network and logged in - When Tails has booted a 64-bit kernel - Then the VirtualBox guest modules are available - - Scenario: The shipped Tails OpenPGP keys are up-to-date - Given I have started Tails from DVD without network and logged in - Then the OpenPGP keys shipped with Tails will be valid for the next 3 months - - Scenario: The Tails Debian repository key is up-to-date - Given I have started Tails from DVD without network and logged in - Then the shipped Debian repository key will be valid for the next 3 months - - @doc @fragile - Scenario: The "Report an Error" launcher will open the support documentation - Given I have started Tails from DVD without network and logged in - And the network is plugged - And Tor is ready - And all notifications have disappeared - When I double-click the Report an Error launcher on the desktop - Then the support documentation page opens in Tor Browser - - Scenario: The live user is setup correctly - Given I have started Tails from DVD without network and logged in - Then the live user has been setup by live-boot - And the live user is a member of only its own group and "audio cdrom dialout floppy video plugdev netdev scanner lp lpadmin vboxsf" - And the live user owns its home dir and it has normal permissions - - @fragile - Scenario: No initial network - Given I have started Tails from DVD without network and logged in - And I wait between 30 and 60 seconds - Then the Tor Status icon tells me that Tor is not usable - When the network is plugged - Then Tor is ready - And the Tor Status icon tells me that Tor is usable - And all notifications have disappeared - And the time has synced - - @fragile - Scenario: The 'Tor is ready' notification is shown when Tor has bootstrapped - Given I have started Tails from DVD without network and logged in - And the network is plugged - When I see the 'Tor is ready' notification - Then Tor is ready - - @fragile - Scenario: The tor process should be confined with Seccomp - Given I have started Tails from DVD without network and logged in - And the network is plugged - And Tor is ready - Then the running process "tor" is confined with Seccomp in filter mode - - @fragile - Scenario: No unexpected network services - Given I have started Tails from DVD without network and logged in - When the network is plugged - And Tor is ready - Then no unexpected services are listening for network connections - - Scenario: The emergency shutdown applet can shutdown Tails - Given I have started Tails from DVD without network and logged in - When I request a shutdown using the emergency shutdown applet - Then Tails eventually shuts down - - Scenario: The emergency shutdown applet can reboot Tails - Given I have started Tails from DVD without network and logged in - When I request a reboot using the emergency shutdown applet - Then Tails eventually restarts - - Scenario: tails-debugging-info does not leak information - Given I have started Tails from DVD without network and logged in - Then tails-debugging-info is not susceptible to symlink attacks - - Scenario: Tails shuts down on DVD boot medium removal - Given I have started Tails from DVD without network and logged in - When I eject the boot medium - Then Tails eventually shuts down - - #10720 - @fragile - Scenario: Tails shuts down on USB boot medium removal - Given I have started Tails without network from a USB drive without a persistent partition and logged in - When I eject the boot medium - Then Tails eventually shuts down - - Scenario: The Tails Greeter "disable all networking" option disables networking within Tails - Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen - And I enable more Tails Greeter options - And I disable all networking in the Tails Greeter - And I log in to a new session - And the Tails desktop is ready - Then no network interfaces are enabled diff --git a/features/dhcp.feature b/features/dhcp.feature deleted file mode 100644 index 18874dbf..00000000 --- a/features/dhcp.feature +++ /dev/null @@ -1,22 +0,0 @@ -@product @fragile -Feature: Getting a DHCP lease without leaking too much information - As a Tails user - when I connect to a network with a DHCP server - I should be able to connect to the Internet - and the hostname should not have been leaked on the network. - - Background: - Given I have started Tails from DVD without network and logged in - And I capture all network traffic - And the network is plugged - And Tor is ready - And all notifications have disappeared - And available upgrades have been checked - - Scenario: Getting a DHCP lease with the default NetworkManager connection - Then the hostname should not have been leaked on the network - - Scenario: Getting a DHCP lease with a manually configured NetworkManager connection - When I add a wired DHCP NetworkManager connection called "manually-added-con" - And I switch to the "manually-added-con" NetworkManager connection - Then the hostname should not have been leaked on the network diff --git a/features/electrum.feature b/features/electrum.feature deleted file mode 100644 index e4e8d749..00000000 --- a/features/electrum.feature +++ /dev/null @@ -1,34 +0,0 @@ -#10497: wait_until_tor_is_working -#10720: Tails Installer freezes on Jenkins -@product @check_tor_leaks @fragile -Feature: Electrum Bitcoin client - As a Tails user - I might want to use a Bitcoin client - And all Internet traffic should flow only through Tor - - Scenario: A warning will be displayed if Electrum is not persistent - Given I have started Tails from DVD and logged in and the network is connected - When I start Electrum through the GNOME menu - But persistence for "electrum" is not enabled - Then I see a warning that Electrum is not persistent - - Scenario: Using a persistent Electrum configuration - Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in - And the network is plugged - And Tor is ready - And available upgrades have been checked - And all notifications have disappeared - Then persistence for "electrum" is enabled - When I start Electrum through the GNOME menu - But a bitcoin wallet is not present - Then I am prompted to create a new wallet - When I create a new bitcoin wallet - Then a bitcoin wallet is present - And I see the main Electrum client window - And Electrum successfully connects to the network - And I shutdown Tails and wait for the computer to power off - Given I start Tails from USB drive "__internal" and I login with persistence enabled - When I start Electrum through the GNOME menu - And a bitcoin wallet is present - And I see the main Electrum client window - Then Electrum successfully connects to the network diff --git a/features/encryption.feature b/features/encryption.feature deleted file mode 100644 index 52cc152d..00000000 --- a/features/encryption.feature +++ /dev/null @@ -1,35 +0,0 @@ -@product -Feature: Encryption and verification using GnuPG - As a Tails user - I want to be able to easily encrypt and sign messages using GnuPG - And decrypt and verify GnuPG blocks - - Background: - Given I have started Tails from DVD without network and logged in - And I generate an OpenPGP key named "test" with password "asdf" - - #10992 - @fragile - Scenario: Encryption and decryption using Tails OpenPGP Applet - When I type a message into gedit - And I encrypt the message using my OpenPGP key - Then I can decrypt the encrypted message - - #10992 - @fragile - Scenario: Signing and verification using Tails OpenPGP Applet - When I type a message into gedit - And I sign the message using my OpenPGP key - Then I can verify the message's signature - - #10991 - @fragile - Scenario: Encryption/signing and decryption/verification using Tails OpenPGP Applet - When I type a message into gedit - And I both encrypt and sign the message using my OpenPGP key - Then I can decrypt and verify the encrypted message - - Scenario: Symmetric encryption and decryption using Tails OpenPGP Applet - When I type a message into gedit - And I symmetrically encrypt the message with password "asdf" - Then I can decrypt the encrypted message diff --git a/features/evince.feature b/features/evince.feature deleted file mode 100644 index 6fd27eca..00000000 --- a/features/evince.feature +++ /dev/null @@ -1,66 +0,0 @@ -@product -Feature: Using Evince - As a Tails user - I want to view and print PDF files in Evince - And AppArmor should prevent Evince from doing dangerous things - - #10994 - @fragile - Scenario: I can view and print a PDF file stored in /usr/share - Given I have started Tails from DVD without network and logged in - When I open "/usr/share/cups/data/default-testpage.pdf" with Evince - Then I see "CupsTestPage.png" after at most 20 seconds - And I can print the current document to "/home/amnesia/output.pdf" - - #10994 - @fragile - Scenario: I can view and print a PDF file stored in non-persistent /home/amnesia - Given I have started Tails from DVD without network and logged in - And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia" as user "amnesia" - When I open "/home/amnesia/default-testpage.pdf" with Evince - Then I see "CupsTestPage.png" after at most 20 seconds - And I can print the current document to "/home/amnesia/output.pdf" - - Scenario: I cannot view a PDF file stored in non-persistent /home/amnesia/.gnupg - Given I have started Tails from DVD without network and logged in - And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia/.gnupg" as user "amnesia" - Then the file "/home/amnesia/.gnupg/default-testpage.pdf" exists - And the file "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf" exists - And the file "/live/overlay/home/amnesia/.gnupg/default-testpage.pdf" exists - Given I start monitoring the AppArmor log of "/usr/bin/evince" - When I try to open "/home/amnesia/.gnupg/default-testpage.pdf" with Evince - Then I see "EvinceUnableToOpen.png" after at most 10 seconds - And AppArmor has denied "/usr/bin/evince" from opening "/home/amnesia/.gnupg/default-testpage.pdf" - When I close Evince - Given I restart monitoring the AppArmor log of "/usr/bin/evince" - When I try to open "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf" with Evince - Then I see "EvinceUnableToOpen.png" after at most 10 seconds - And AppArmor has denied "/usr/bin/evince" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf" - When I close Evince - Given I restart monitoring the AppArmor log of "/usr/bin/evince" - When I try to open "/live/overlay/home/amnesia/.gnupg/default-testpage.pdf" with Evince - Then I see "EvinceUnableToOpen.png" after at most 10 seconds - # Due to our AppArmor aliases, /live/overlay will be treated - # as /lib/live/mount/overlay. - And AppArmor has denied "/usr/bin/evince" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/default-testpage.pdf" - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: I can view and print a PDF file stored in persistent /home/amnesia/Persistent - Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in - And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia/Persistent" as user "amnesia" - Then the file "/home/amnesia/Persistent/default-testpage.pdf" exists - When I open "/home/amnesia/Persistent/default-testpage.pdf" with Evince - Then I see "CupsTestPage.png" after at most 20 seconds - And I can print the current document to "/home/amnesia/Persistent/output.pdf" - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: I cannot view a PDF file stored in persistent /home/amnesia/.gnupg - Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in - And I copy "/usr/share/cups/data/default-testpage.pdf" to "/home/amnesia/.gnupg" as user "amnesia" - Then the file "/home/amnesia/.gnupg/default-testpage.pdf" exists - Given I start monitoring the AppArmor log of "/usr/bin/evince" - And I try to open "/home/amnesia/.gnupg/default-testpage.pdf" with Evince - Then I see "EvinceUnableToOpen.png" after at most 10 seconds - And AppArmor has denied "/usr/bin/evince" from opening "/home/amnesia/.gnupg/default-testpage.pdf" diff --git a/features/icedove.feature b/features/icedove.feature deleted file mode 100644 index e05f024c..00000000 --- a/features/icedove.feature +++ /dev/null @@ -1,39 +0,0 @@ -@product @check_tor_leaks @fragile -Feature: Icedove email client - As a Tails user - I may want to use an email client - - Background: - Given I have started Tails from DVD and logged in and the network is connected - When I start "Icedove" via the GNOME "Internet" applications menu - And Icedove has started - And I have not configured an email account - Then I am prompted to setup an email account - - Scenario: Icedove defaults to using IMAP - Then IMAP is the default protocol - - Scenario: Adblock is not enabled within Icedove - Given I cancel setting up an email account - When I open Icedove's Add-ons Manager - And I click the extensions tab - Then I see that Adblock is not installed in Icedove - - Scenario: Enigmail is configured to use the correct keyserver - Given I cancel setting up an email account - And I go into Enigmail's preferences - When I click Enigmail's keyserver tab - Then I see that Enigmail is configured to use the correct keyserver - When I click Enigmail's advanced tab - Then I see that Enigmail is configured to use the correct SOCKS proxy - - Scenario: Torbirdy is configured to use Tor - Given I cancel setting up an email account - And I open Torbirdy's preferences - Then I see that Torbirdy is configured to use Tor - - Scenario: Icedove will work over Tor - Given I cancel setting up an email account - And I open Torbirdy's preferences - When I test Torbirdy's proxy settings - Then Torbirdy's proxy test is successful diff --git a/features/localization.feature b/features/localization.feature deleted file mode 100644 index f533addf..00000000 --- a/features/localization.feature +++ /dev/null @@ -1,19 +0,0 @@ -@product @fragile -Feature: Localization - As a Tails user - I want Tails to be localized in my native language - And various Tails features should still work - - @doc - Scenario: The Report an Error launcher will open the support documentation in supported non-English locales - Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen - And the network is plugged - And I log in to a new session in German - And Tails seems to have booted normally - And Tor is ready - When I double-click the Report an Error launcher on the desktop - Then the support documentation page opens in Tor Browser - - Scenario: The Unsafe Browser can be used in all languages supported in Tails - Given I have started Tails from DVD and logged in and the network is connected - Then the Unsafe Browser works in all supported languages diff --git a/features/mac_spoofing.feature b/features/mac_spoofing.feature deleted file mode 100644 index 57773721..00000000 --- a/features/mac_spoofing.feature +++ /dev/null @@ -1,71 +0,0 @@ -@product -Feature: Spoofing MAC addresses - In order to not reveal information about the physical location - As a Tails user - I want to be able to control whether my network devices MAC addresses should be spoofed - And I want this feature to fail safe and notify me in case of errors - - Background: - Given I have started Tails from DVD without network and stopped at Tails Greeter's login screen - And I capture all network traffic - And the network is plugged - - @fragile - Scenario: MAC address spoofing is disabled - When I enable more Tails Greeter options - And I disable MAC spoofing in Tails Greeter - And I log in to a new session - And the Tails desktop is ready - And Tor is ready - Then 1 network interface is enabled - And the network device has its default MAC address configured - And the real MAC address was leaked - - @fragile - Scenario: MAC address spoofing is successful - When I log in to a new session - And the Tails desktop is ready - And Tor is ready - Then 1 network interface is enabled - And the network device has a spoofed MAC address configured - And the real MAC address was not leaked - - #10774 - @fragile - Scenario: MAC address spoofing fails and macchanger returns false - Given macchanger will fail by not spoofing and always returns false - When I log in to a new session - And see the "Network card disabled" notification - And the Tails desktop is ready - Then no network interfaces are enabled - And the real MAC address was not leaked - - #10774 - @fragile - Scenario: MAC address spoofing fails and macchanger returns true - Given macchanger will fail by not spoofing and always returns true - When I log in to a new session - And see the "Network card disabled" notification - And the Tails desktop is ready - Then no network interfaces are enabled - And the real MAC address was not leaked - - #10774 - @fragile - Scenario: MAC address spoofing fails and the module is not removed - Given macchanger will fail by not spoofing and always returns true - And no network interface modules can be unloaded - When I log in to a new session - And see the "All networking disabled" notification - And the Tails desktop is ready - Then 1 network interface is enabled - But the MAC spoofing panic mode disabled networking - And the real MAC address was not leaked - - Scenario: The MAC address is not leaked when booting Tails - Given a computer - And I capture all network traffic - When I start the computer - Then the computer boots Tails - And no network interfaces are enabled - And the real MAC address was not leaked diff --git a/features/mat.feature b/features/mat.feature deleted file mode 100644 index e492b0fb..00000000 --- a/features/mat.feature +++ /dev/null @@ -1,13 +0,0 @@ -@product -Feature: Metadata Anonymization Toolkit - As a Tails user - I want to be able to remove leaky metadata from documents and media files - - # In this feature we cannot restore from snapshots since it's - # incompatible with filesystem shares. - - Scenario: MAT can clean a PDF file - Given a computer - And I setup a filesystem share containing a sample PDF - And I start Tails from DVD with network unplugged and I login - Then MAT can clean some sample PDF file diff --git a/features/persistence.feature b/features/persistence.feature deleted file mode 100644 index 13f0af70..00000000 --- a/features/persistence.feature +++ /dev/null @@ -1,55 +0,0 @@ -#10720: Tails Installer freezes on Jenkins -@product @fragile -Feature: Tails persistence - As a Tails user - I want to use Tails persistence feature - - Scenario: Booting Tails from a USB drive with a disabled persistent partition - Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen - When I log in to a new session - Then Tails seems to have booted normally - And Tails is running from USB drive "__internal" - And persistence is disabled - But a Tails persistence partition exists on USB drive "__internal" - - Scenario: Booting Tails from a USB drive with an enabled persistent partition - Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in - Then Tails is running from USB drive "__internal" - And all persistence presets are enabled - And all persistent directories have safe access rights - - @fragile - Scenario: Writing files first to a read/write-enabled persistent partition, and then to a read-only-enabled persistent partition - Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in - And the network is plugged - And Tor is ready - And I take note of which persistence presets are available - When I write some files expected to persist - And I add a wired DHCP NetworkManager connection called "persistent-con" - And I shutdown Tails and wait for the computer to power off - # XXX: The next step succeeds (and the --debug output confirms that it's actually looking for the files) but will fail in a subsequent scenario restoring the same snapshot. This exactly what we want, but why does it work? What is guestfs's behaviour when qcow2 internal snapshots are involved? - Then only the expected files are present on the persistence partition on USB drive "__internal" - Given I start Tails from USB drive "__internal" with network unplugged and I login with read-only persistence enabled - And the network is plugged - And Tor is ready - Then Tails is running from USB drive "__internal" - And the boot device has safe access rights - And all persistence presets are enabled - And I switch to the "persistent-con" NetworkManager connection - And there is no GNOME bookmark for the persistent Tor Browser directory - And I write some files not expected to persist - And I remove some files expected to persist - And I take note of which persistence presets are available - And I shutdown Tails and wait for the computer to power off - Then only the expected files are present on the persistence partition on USB drive "__internal" - - Scenario: Deleting a Tails persistent partition - Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen - And I log in to a new session - Then Tails is running from USB drive "__internal" - And the boot device has safe access rights - And persistence is disabled - But a Tails persistence partition exists on USB drive "__internal" - And all notifications have disappeared - When I delete the persistent partition - Then there is no persistence partition on USB drive "__internal" diff --git a/features/pidgin.feature b/features/pidgin.feature deleted file mode 100644 index cbfddbe3..00000000 --- a/features/pidgin.feature +++ /dev/null @@ -1,135 +0,0 @@ -#10497: wait_until_tor_is_working -@product @fragile -Feature: Chatting anonymously using Pidgin - As a Tails user - when I chat using Pidgin - I should be able to use OTR - And I should be able to persist my Pidgin configuration - And AppArmor should prevent Pidgin from doing dangerous things - And all Internet traffic should flow only through Tor - - @check_tor_leaks - Scenario: Chatting with some friend over XMPP - Given I have started Tails from DVD and logged in and the network is connected - When I start Pidgin through the GNOME menu - Then I see Pidgin's account manager window - When I create my XMPP account - And I close Pidgin's account manager window - Then Pidgin automatically enables my XMPP account - Given my XMPP friend goes online - When I start a conversation with my friend - And I say something to my friend - Then I receive a response from my friend - - @check_tor_leaks - Scenario: Chatting with some friend over XMPP in a multi-user chat - Given I have started Tails from DVD and logged in and the network is connected - When I start Pidgin through the GNOME menu - Then I see Pidgin's account manager window - When I create my XMPP account - And I close Pidgin's account manager window - Then Pidgin automatically enables my XMPP account - When I join some empty multi-user chat - And I clear the multi-user chat's scrollback - And my XMPP friend goes online and joins the multi-user chat - Then I can see that my friend joined the multi-user chat - And I say something to my friend in the multi-user chat - Then I receive a response from my friend in the multi-user chat - - @check_tor_leaks - Scenario: Chatting with some friend over XMPP and with OTR - Given I have started Tails from DVD and logged in and the network is connected - When I start Pidgin through the GNOME menu - Then I see Pidgin's account manager window - When I create my XMPP account - And I close Pidgin's account manager window - Then Pidgin automatically enables my XMPP account - Given my XMPP friend goes online - When I start a conversation with my friend - And I start an OTR session with my friend - Then Pidgin automatically generates an OTR key - And an OTR session was successfully started with my friend - When I say something to my friend - Then I receive a response from my friend - - # 10376 - "the Tor Browser loads the (startup page|Tails roadmap)" step is fragile - # 10443 - OFTC tests are fragile - @check_tor_leaks @fragile - Scenario: Connecting to the #tails IRC channel with the pre-configured account - Given I have started Tails from DVD and logged in and the network is connected - And Pidgin has the expected accounts configured with random nicknames - When I start Pidgin through the GNOME menu - Then I see Pidgin's account manager window - When I activate the "irc.oftc.net" Pidgin account - And I close Pidgin's account manager window - Then Pidgin successfully connects to the "irc.oftc.net" account - And I can join the "#tails" channel on "irc.oftc.net" - When I type "/topic" - And I press the "ENTER" key - Then I see the Tails roadmap URL - When I wait 10 seconds - And I click on the Tails roadmap URL - Then the Tor Browser has started and loaded the Tails roadmap - And the "irc.oftc.net" account only responds to PING and VERSION CTCP requests - - Scenario: Adding a certificate to Pidgin - Given I have started Tails from DVD and logged in and the network is connected - And I start Pidgin through the GNOME menu - And I see Pidgin's account manager window - And I close Pidgin's account manager window - Then I can add a certificate from the "/home/amnesia" directory to Pidgin - - Scenario: Failing to add a certificate to Pidgin - Given I have started Tails from DVD and logged in and the network is connected - When I start Pidgin through the GNOME menu - And I see Pidgin's account manager window - And I close Pidgin's account manager window - Then I cannot add a certificate from the "/home/amnesia/.gnupg" directory to Pidgin - When I close Pidgin's certificate import failure dialog - And I close Pidgin's certificate manager - Then I cannot add a certificate from the "/lib/live/mount/overlay/home/amnesia/.gnupg" directory to Pidgin - When I close Pidgin's certificate import failure dialog - And I close Pidgin's certificate manager - Then I cannot add a certificate from the "/live/overlay/home/amnesia/.gnupg" directory to Pidgin - - #10443 - OFTC tests are fragile - #10720: Tails Installer freezes on Jenkins - @check_tor_leaks @fragile - Scenario: Using a persistent Pidgin configuration - Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in - And Pidgin has the expected accounts configured with random nicknames - And the network is plugged - And Tor is ready - And available upgrades have been checked - And all notifications have disappeared - When I start Pidgin through the GNOME menu - Then I see Pidgin's account manager window - # And I generate an OTR key for the default Pidgin account - And I take note of the configured Pidgin accounts - # And I take note of the OTR key for Pidgin's "irc.oftc.net" account - And I shutdown Tails and wait for the computer to power off - Given a computer - And I start Tails from USB drive "__internal" and I login with persistence enabled - And Pidgin has the expected persistent accounts configured - # And Pidgin has the expected persistent OTR keys - When I start Pidgin through the GNOME menu - Then I see Pidgin's account manager window - When I activate the "irc.oftc.net" Pidgin account - And I close Pidgin's account manager window - Then Pidgin successfully connects to the "irc.oftc.net" account - And I can join the "#tails" channel on "irc.oftc.net" - # Exercise Pidgin AppArmor profile with persistence enabled. - # This should really be in dedicated scenarios, but it would be - # too costly to set up the virtual USB drive with persistence more - # than once in this feature. - Given I start monitoring the AppArmor log of "/usr/bin/pidgin" - Then I cannot add a certificate from the "/home/amnesia/.gnupg" directory to Pidgin - And AppArmor has denied "/usr/bin/pidgin" from opening "/home/amnesia/.gnupg/test.crt" - When I close Pidgin's certificate import failure dialog - And I close Pidgin's certificate manager - Given I restart monitoring the AppArmor log of "/usr/bin/pidgin" - Then I cannot add a certificate from the "/live/persistence/TailsData_unlocked/gnupg" directory to Pidgin - And AppArmor has denied "/usr/bin/pidgin" from opening "/live/persistence/TailsData_unlocked/gnupg/test.crt" - When I close Pidgin's certificate import failure dialog - And I close Pidgin's certificate manager - Then I can add a certificate from the "/home/amnesia" directory to Pidgin diff --git a/features/po.feature b/features/po.feature deleted file mode 100644 index 91b8fd00..00000000 --- a/features/po.feature +++ /dev/null @@ -1,9 +0,0 @@ -@source -Feature: check PO files - As a Tails developer, when I build Tails, I want to make sure - the PO files in use are correct. - - @doc - Scenario: check all PO files - Given I am in the Git branch being tested - Then all the PO files should be correct diff --git a/features/root_access_control.feature b/features/root_access_control.feature deleted file mode 100644 index 569dd2a8..00000000 --- a/features/root_access_control.feature +++ /dev/null @@ -1,33 +0,0 @@ -@product -Feature: Root access control enforcement - As a Tails user - when I set an administration password in Tails Greeter - I can use the password for attaining administrative privileges. - But when I do not set an administration password - I should not be able to attain administration privileges at all. - - Scenario: If an administrative password is set in Tails Greeter the live user should be able to run arbitrary commands with administrative privileges. - Given I set sudo password "asdf" - And I log in to a new session - And Tails Greeter has dealt with the sudo password - Then I should be able to run administration commands as the live user - - Scenario: If no administrative password is set in Tails Greeter the live user should not be able to run arbitrary commands administrative privileges. - Given I have started Tails from DVD without network and logged in - And Tails Greeter has dealt with the sudo password - Then I should not be able to run administration commands as the live user with the "" password - And I should not be able to run administration commands as the live user with the "amnesia" password - And I should not be able to run administration commands as the live user with the "live" password - - Scenario: If an administrative password is set in Tails Greeter the live user should be able to get administrative privileges through PolicyKit - Given I set sudo password "asdf" - And I log in to a new session - And Tails Greeter has dealt with the sudo password - And GNOME has started - And running a command as root with pkexec requires PolicyKit administrator privileges - Then I should be able to run a command as root with pkexec - - Scenario: If no administrative password is set in Tails Greeter the live user should not be able to get administrative privileges through PolicyKit with the standard passwords. - Given I have started Tails from DVD without network and logged in - And running a command as root with pkexec requires PolicyKit administrator privileges - Then I should not be able to run a command as root with pkexec and the standard passwords diff --git a/features/ssh.feature b/features/ssh.feature deleted file mode 100644 index 85289992..00000000 --- a/features/ssh.feature +++ /dev/null @@ -1,31 +0,0 @@ -#10497: wait_until_tor_is_working -#10498: SSH tests are fragile -@product @fragile -Feature: Logging in via SSH - As a Tails user - When I connect to SSH servers on the Internet - all Internet traffic should flow only through Tor - - Background: - Given I have started Tails from DVD and logged in and the network is connected - - @check_tor_leaks - Scenario: Connecting to an SSH server on the Internet - Given I have the SSH key pair for an SSH server - When I connect to an SSH server on the Internet - And I verify the SSH fingerprint for the SSH server - Then I have sucessfully logged into the SSH server - - @check_tor_leaks - Scenario: Connecting to an SSH server on the LAN - Given I have the SSH key pair for an SSH server - And an SSH server is running on the LAN - When I connect to an SSH server on the LAN - Then I am prompted to verify the SSH fingerprint for the SSH server - - @check_tor_leaks - Scenario: Connecting to an SFTP server on the Internet using the GNOME "Connect to Server" feature - Given I have the SSH key pair for an SFTP server - When I connect to an SFTP server on the Internet - And I verify the SSH fingerprint for the SFTP server - Then I successfully connect to the SFTP server diff --git a/features/time_syncing.feature b/features/time_syncing.feature deleted file mode 100644 index 69a0c9e2..00000000 --- a/features/time_syncing.feature +++ /dev/null @@ -1,129 +0,0 @@ -@product @check_tor_leaks -Feature: Time syncing - As a Tails user - I want Tor to work properly - And for that I need a reasonably accurate system clock - - #10497: wait_until_tor_is_working - @fragile - Scenario: Clock with host's time - Given I have started Tails from DVD without network and logged in - When the network is plugged - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - @fragile - Scenario: Clock with host's time in bridge mode - Given I have started Tails from DVD without network and logged in with bridge mode enabled - When the network is plugged - And the Tor Launcher autostarts - And I configure some Bridge pluggable transports in Tor Launcher - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - @fragile - Scenario: Clock is one day in the past - Given I have started Tails from DVD without network and logged in - When I bump the system time with "-1 day" - And the network is plugged - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - @fragile - Scenario: Clock is one day in the past in bridge mode - Given I have started Tails from DVD without network and logged in with bridge mode enabled - When I bump the system time with "-1 day" - And the network is plugged - And the Tor Launcher autostarts - And I configure some Bridge pluggable transports in Tor Launcher - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - @fragile - Scenario: Clock is way in the past - Given I have started Tails from DVD without network and logged in - # 13 weeks will span over two Tails release cycles. - When I bump the system time with "-13 weeks" - And the network is plugged - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - @fragile - Scenario: Clock way in the past in bridge mode - Given I have started Tails from DVD without network and logged in with bridge mode enabled - When I bump the system time with "-6 weeks" - And the network is plugged - And the Tor Launcher autostarts - And I configure some Bridge pluggable transports in Tor Launcher - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - #10440: Time syncing tests are fragile - @fragile - Scenario: Clock is one day in the future - Given I have started Tails from DVD without network and logged in - When I bump the system time with "+1 day" - And the network is plugged - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - @fragile - Scenario: Clock is one day in the future in bridge mode - Given I have started Tails from DVD without network and logged in with bridge mode enabled - When I bump the system time with "+1 day" - And the network is plugged - And the Tor Launcher autostarts - And I configure some Bridge pluggable transports in Tor Launcher - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - #10440: Time syncing tests are fragile - @fragile - Scenario: Clock way in the future - Given I have started Tails from DVD without network and logged in - When I set the system time to "01 Jan 2020 12:34:56" - And the network is plugged - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - - #10497: wait_until_tor_is_working - #10440: Time syncing tests are fragile - @fragile - Scenario: Clock way in the future in bridge mode - Given I have started Tails from DVD without network and logged in with bridge mode enabled - When I set the system time to "01 Jan 2020 12:34:56" - And the network is plugged - And the Tor Launcher autostarts - And I configure some Bridge pluggable transports in Tor Launcher - And Tor is ready - Then Tails clock is less than 5 minutes incorrect - -Scenario: The system time is not synced to the hardware clock - Given I have started Tails from DVD without network and logged in - When I bump the system time with "-15 days" - And I warm reboot the computer - And the computer reboots Tails - Then Tails' hardware clock is close to the host system's time - - Scenario: Anti-test: Changes to the hardware clock are kept when rebooting - Given I have started Tails from DVD without network and logged in - When I bump the hardware clock's time with "-15 days" - And I warm reboot the computer - And the computer reboots Tails - Then the hardware clock is still off by "-15 days" - - Scenario: Boot with a hardware clock set way in the past and make sure that Tails sets the clock to the build date - Given a computer - And the network is unplugged - And the hardware clock is set to "01 Jan 2000 12:34:56" - And I start the computer - And the computer boots Tails - Then the system clock is just past Tails' build date diff --git a/features/tor_bridges.feature b/features/tor_bridges.feature deleted file mode 100644 index b5277ca7..00000000 --- a/features/tor_bridges.feature +++ /dev/null @@ -1,36 +0,0 @@ -@product @fragile -Feature: Using Tails with Tor pluggable transports - As a Tails user - I want to circumvent censorship of Tor by using Tor pluggable transports - And avoid connecting directly to the Tor Network - - Background: - Given I have started Tails from DVD without network and logged in with bridge mode enabled - And I capture all network traffic - When the network is plugged - Then the Tor Launcher autostarts - And the Tor Launcher uses all expected TBB shared libraries - - Scenario: Using bridges - When I configure some Bridge pluggable transports in Tor Launcher - Then Tor is ready - And available upgrades have been checked - And all Internet traffic has only flowed through the configured pluggable transports - - Scenario: Using obfs2 pluggable transports - When I configure some obfs2 pluggable transports in Tor Launcher - Then Tor is ready - And available upgrades have been checked - And all Internet traffic has only flowed through the configured pluggable transports - - Scenario: Using obfs3 pluggable transports - When I configure some obfs3 pluggable transports in Tor Launcher - Then Tor is ready - And available upgrades have been checked - And all Internet traffic has only flowed through the configured pluggable transports - - Scenario: Using obfs4 pluggable transports - When I configure some obfs4 pluggable transports in Tor Launcher - Then Tor is ready - And available upgrades have been checked - And all Internet traffic has only flowed through the configured pluggable transports diff --git a/features/tor_enforcement.feature b/features/tor_enforcement.feature deleted file mode 100644 index 164220a2..00000000 --- a/features/tor_enforcement.feature +++ /dev/null @@ -1,76 +0,0 @@ -#10497: wait_until_tor_is_working -@product @fragile -Feature: The Tor enforcement is effective - As a Tails user - I want all direct Internet connections I do by mistake or applications do by misconfiguration or buggy leaks to be blocked - And as a Tails developer - I want to ensure that the automated test suite detects firewall leaks reliably - - Scenario: Tails' Tor binary is configured to use the expected Tor authorities - Given I have started Tails from DVD and logged in and the network is connected - Then the Tor binary is configured to use the expected Tor authorities - - Scenario: The firewall configuration is very restrictive - Given I have started Tails from DVD and logged in and the network is connected - Then the firewall's policy is to drop all IPv4 traffic - And the firewall is configured to only allow the clearnet and debian-tor users to connect directly to the Internet over IPv4 - And the firewall's NAT rules only redirect traffic for Tor's TransPort and DNSPort - And the firewall is configured to block all external IPv6 traffic - - @fragile - Scenario: Anti test: Detecting IPv4 TCP leaks from the Unsafe Browser with the firewall leak detector - Given I have started Tails from DVD and logged in and the network is connected - And I capture all network traffic - When I successfully start the Unsafe Browser - And I open the address "https://check.torproject.org" in the Unsafe Browser - And I see "UnsafeBrowserTorCheckFail.png" after at most 60 seconds - Then the firewall leak detector has detected IPv4 TCP leaks - - Scenario: Anti test: Detecting IPv4 TCP leaks of TCP DNS lookups with the firewall leak detector - Given I have started Tails from DVD and logged in and the network is connected - And I capture all network traffic - And I disable Tails' firewall - When I do a TCP DNS lookup of "torproject.org" - Then the firewall leak detector has detected IPv4 TCP leaks - - Scenario: Anti test: Detecting IPv4 non-TCP leaks (UDP) of UDP DNS lookups with the firewall leak detector - Given I have started Tails from DVD and logged in and the network is connected - And I capture all network traffic - And I disable Tails' firewall - When I do a UDP DNS lookup of "torproject.org" - Then the firewall leak detector has detected IPv4 non-TCP leaks - - Scenario: Anti test: Detecting IPv4 non-TCP (ICMP) leaks of ping with the firewall leak detector - Given I have started Tails from DVD and logged in and the network is connected - And I capture all network traffic - And I disable Tails' firewall - When I send some ICMP pings - Then the firewall leak detector has detected IPv4 non-TCP leaks - - @check_tor_leaks - Scenario: The Tor enforcement is effective at blocking untorified TCP connection attempts - Given I have started Tails from DVD and logged in and the network is connected - When I open an untorified TCP connections to 1.2.3.4 on port 42 that is expected to fail - Then the untorified connection fails - And the untorified connection is logged as dropped by the firewall - - @check_tor_leaks - Scenario: The Tor enforcement is effective at blocking untorified UDP connection attempts - Given I have started Tails from DVD and logged in and the network is connected - When I open an untorified UDP connections to 1.2.3.4 on port 42 that is expected to fail - Then the untorified connection fails - And the untorified connection is logged as dropped by the firewall - - @check_tor_leaks @fragile - Scenario: The Tor enforcement is effective at blocking untorified ICMP connection attempts - Given I have started Tails from DVD and logged in and the network is connected - When I open an untorified ICMP connections to 1.2.3.4 that is expected to fail - Then the untorified connection fails - And the untorified connection is logged as dropped by the firewall - - Scenario: The system DNS is always set up to use Tor's DNSPort - Given I have started Tails from DVD without network and logged in - And the system DNS is using the local DNS resolver - And the network is plugged - And Tor is ready - Then the system DNS is still using the local DNS resolver diff --git a/features/tor_stream_isolation.feature b/features/tor_stream_isolation.feature deleted file mode 100644 index c51c6410..00000000 --- a/features/tor_stream_isolation.feature +++ /dev/null @@ -1,62 +0,0 @@ -#10497: wait_until_tor_is_working -@product @check_tor_leaks @fragile -Feature: Tor stream isolation is effective - As a Tails user - I want my Torified sessions to be sensibly isolated from each other to prevent identity correlation - - Background: - Given I have started Tails from DVD and logged in and the network is connected - - Scenario: tails-security-check is using the Tails-specific SocksPort - When I monitor the network connections of tails-security-check - And I re-run tails-security-check - Then I see that tails-security-check is properly stream isolated - - Scenario: htpdate is using the Tails-specific SocksPort - When I monitor the network connections of htpdate - And I re-run htpdate - Then I see that htpdate is properly stream isolated - - Scenario: tails-upgrade-frontend-wrapper is using the Tails-specific SocksPort - When I monitor the network connections of tails-upgrade-frontend-wrapper - And I re-run tails-upgrade-frontend-wrapper - Then I see that tails-upgrade-frontend-wrapper is properly stream isolated - - Scenario: The Tor Browser is using the web browser-specific SocksPort - When I monitor the network connections of Tor Browser - And I start the Tor Browser - And the Tor Browser has started and loaded the startup page - Then I see that Tor Browser is properly stream isolated - - @fragile - Scenario: Gobby is using the default SocksPort - When I monitor the network connections of Gobby - And I start "Gobby" via the GNOME "Internet" applications menu - And I connect Gobby to "gobby.debian.org" - Then I see that Gobby is properly stream isolated - - Scenario: SSH is using the default SocksPort - When I monitor the network connections of SSH - And I run "ssh lizard.tails.boum.org" in GNOME Terminal - And I see "SSHAuthVerification.png" after at most 60 seconds - Then I see that SSH is properly stream isolated - - Scenario: whois lookups use the default SocksPort - When I monitor the network connections of whois - And I query the whois directory service for "boum.org" - And the whois command is successful - Then I see that whois is properly stream isolated - - @fragile - Scenario: Explicitly torify-wrapped applications are using the default SocksPort - When I monitor the network connections of Gobby - And I run "torify /usr/bin/gobby-0.5" in GNOME Terminal - And I connect Gobby to "gobby.debian.org" - Then I see that Gobby is properly stream isolated - - @fragile - Scenario: Explicitly torsocks-wrapped applications are using the default SocksPort - When I monitor the network connections of Gobby - And I run "torsocks /usr/bin/gobby-0.5" in GNOME Terminal - And I connect Gobby to "gobby.debian.org" - Then I see that Gobby is properly stream isolated diff --git a/features/torified_browsing.feature b/features/torified_browsing.feature deleted file mode 100644 index 78a40135..00000000 --- a/features/torified_browsing.feature +++ /dev/null @@ -1,172 +0,0 @@ -#10376: The "the Tor Browser loads the (startup page|Tails roadmap)" step is fragile -#10497: wait_until_tor_is_working -@product @fragile -Feature: Browsing the web using the Tor Browser - As a Tails user - when I browse the web using the Tor Browser - all Internet traffic should flow only through Tor - - Scenario: The Tor Browser cannot access the LAN - Given I have started Tails from DVD and logged in and the network is connected - And a web server is running on the LAN - And I capture all network traffic - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - And I open a page on the LAN web server in the Tor Browser - Then I see "TorBrowserUnableToConnect.png" after at most 20 seconds - And no traffic has flowed to the LAN - - @check_tor_leaks - Scenario: The Tor Browser directory is usable - Given I have started Tails from DVD and logged in and the network is connected - Then the amnesiac Tor Browser directory exists - And there is a GNOME bookmark for the amnesiac Tor Browser directory - And the persistent Tor Browser directory does not exist - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - Then I can save the current page as "index.html" to the default downloads directory - And I can print the current page as "output.pdf" to the default downloads directory - - @check_tor_leaks @fragile - Scenario: Downloading files with the Tor Browser - Given I have started Tails from DVD and logged in and the network is connected - When I start the Tor Browser - Then the Tor Browser has started and loaded the startup page - When I download some file in the Tor Browser - Then I get the browser download dialog - When I save the file to the default Tor Browser download directory - Then the file is saved to the default Tor Browser download directory - - @check_tor_leaks @fragile - Scenario: Playing HTML5 audio - Given I have started Tails from DVD and logged in and the network is connected - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - And no application is playing audio - And I open the address "http://www.terrillthompson.com/tests/html5-audio.html" in the Tor Browser - And I click the HTML5 play button - And 1 application is playing audio after 10 seconds - - @check_tor_leaks @fragile - Scenario: Watching a WebM video - Given I have started Tails from DVD and logged in and the network is connected - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - And I open the address "https://webm.html5.org/test.webm" in the Tor Browser - And I click the blocked video icon - And I see "TorBrowserNoScriptTemporarilyAllowDialog.png" after at most 30 seconds - And I accept to temporarily allow playing this video - Then I see "TorBrowserSampleRemoteWebMVideoFrame.png" after at most 180 seconds - - Scenario: I can view a file stored in "~/Tor Browser" but not in ~/.gnupg - Given I have started Tails from DVD and logged in and the network is connected - And I copy "/usr/share/synaptic/html/index.html" to "/home/amnesia/Tor Browser/synaptic.html" as user "amnesia" - And I copy "/usr/share/synaptic/html/index.html" to "/home/amnesia/.gnupg/synaptic.html" as user "amnesia" - And I copy "/usr/share/synaptic/html/index.html" to "/tmp/synaptic.html" as user "amnesia" - Then the file "/home/amnesia/.gnupg/synaptic.html" exists - And the file "/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html" exists - And the file "/live/overlay/home/amnesia/.gnupg/synaptic.html" exists - And the file "/tmp/synaptic.html" exists - Given I start monitoring the AppArmor log of "/usr/local/lib/tor-browser/firefox" - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - And I open the address "file:///home/amnesia/Tor Browser/synaptic.html" in the Tor Browser - Then I see "TorBrowserSynapticManual.png" after at most 5 seconds - And AppArmor has not denied "/usr/local/lib/tor-browser/firefox" from opening "/home/amnesia/Tor Browser/synaptic.html" - Given I restart monitoring the AppArmor log of "/usr/local/lib/tor-browser/firefox" - When I open the address "file:///home/amnesia/.gnupg/synaptic.html" in the Tor Browser - Then I do not see "TorBrowserSynapticManual.png" after at most 5 seconds - And AppArmor has denied "/usr/local/lib/tor-browser/firefox" from opening "/home/amnesia/.gnupg/synaptic.html" - Given I restart monitoring the AppArmor log of "/usr/local/lib/tor-browser/firefox" - When I open the address "file:///lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html" in the Tor Browser - Then I do not see "TorBrowserSynapticManual.png" after at most 5 seconds - And AppArmor has denied "/usr/local/lib/tor-browser/firefox" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html" - Given I restart monitoring the AppArmor log of "/usr/local/lib/tor-browser/firefox" - When I open the address "file:///live/overlay/home/amnesia/.gnupg/synaptic.html" in the Tor Browser - Then I do not see "TorBrowserSynapticManual.png" after at most 5 seconds - # Due to our AppArmor aliases, /live/overlay will be treated - # as /lib/live/mount/overlay. - And AppArmor has denied "/usr/local/lib/tor-browser/firefox" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/synaptic.html" - # We do not get any AppArmor log for when access to files in /tmp is denied - # since we explictly override (commit 51c0060) the rules (from the user-tmp - # abstration) that would otherwise allow it, and we do so with "deny", which - # also specifies "noaudit". We could explicitly specify "audit deny" and - # then have logs, but it could be a problem when we set up desktop - # notifications for AppArmor denials (#9337). - When I open the address "file:///tmp/synaptic.html" in the Tor Browser - Then I do not see "TorBrowserSynapticManual.png" after at most 5 seconds - - @doc - Scenario: The "Tails documentation" link on the Desktop works - Given I have started Tails from DVD and logged in and the network is connected - When I double-click on the "Tails documentation" link on the Desktop - Then the Tor Browser has started - And I see "TailsOfflineDocHomepage.png" after at most 10 seconds - - Scenario: The Tor Browser uses TBB's shared libraries - Given I have started Tails from DVD and logged in and the network is connected - When I start the Tor Browser - And the Tor Browser has started - Then the Tor Browser uses all expected TBB shared libraries - - @check_tor_leaks @fragile - Scenario: Opening check.torproject.org in the Tor Browser shows the green onion and the congratulations message - Given I have started Tails from DVD and logged in and the network is connected - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - And I open the address "https://check.torproject.org" in the Tor Browser - Then I see "TorBrowserTorCheck.png" after at most 180 seconds - - @check_tor_leaks @fragile - Scenario: The Tor Browser's "New identity" feature works as expected - Given I have started Tails from DVD and logged in and the network is connected - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - And I open the address "https://check.torproject.org" in the Tor Browser - Then I see "TorBrowserTorCheck.png" after at most 180 seconds - When I request a new identity using Torbutton - And I acknowledge Torbutton's New Identity confirmation prompt - Then the Tor Browser loads the startup page - - Scenario: The Tor Browser should not have any plugins enabled - Given I have started Tails from DVD and logged in and the network is connected - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - Then the Tor Browser has no plugins installed - - #10497, #10720 - @fragile - Scenario: The persistent Tor Browser directory is usable - Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in - And the network is plugged - And Tor is ready - And available upgrades have been checked - And all notifications have disappeared - Then the persistent Tor Browser directory exists - And there is a GNOME bookmark for the persistent Tor Browser directory - When I start the Tor Browser - And the Tor Browser has started and loaded the startup page - And I can save the current page as "index.html" to the persistent Tor Browser directory - When I open the address "file:///home/amnesia/Persistent/Tor Browser/index.html" in the Tor Browser - Then I see "TorBrowserSavedStartupPage.png" after at most 10 seconds - And I can print the current page as "output.pdf" to the persistent Tor Browser directory - - #10720 - @fragile - Scenario: Persistent browser bookmarks - Given I have started Tails without network from a USB drive with a persistent partition enabled and logged in - And all persistence presets are enabled - And all persistent filesystems have safe access rights - And all persistence configuration files have safe access rights - And all persistent directories have safe access rights - And I start the Tor Browser in offline mode - And the Tor Browser has started in offline mode - And I add a bookmark to eff.org in the Tor Browser - And I warm reboot the computer - And the computer reboots Tails - And I enable read-only persistence - And I log in to a new session - And the Tails desktop is ready - And I start the Tor Browser in offline mode - And the Tor Browser has started in offline mode - Then the Tor Browser has a bookmark to eff.org diff --git a/features/torified_git.feature b/features/torified_git.feature deleted file mode 100644 index 04e19a53..00000000 --- a/features/torified_git.feature +++ /dev/null @@ -1,31 +0,0 @@ -#10497: wait_until_tor_is_working -#10444: Git tests are fragile -@product @check_tor_leaks @fragile -Feature: Cloning a Git repository - As a Tails user - when I clone a Git repository - all Internet traffic should flow only through Tor - - Background: - Given I have started Tails from DVD and logged in and the network is connected - - @fragile - Scenario: Cloning a Git repository anonymously over HTTPS - When I run "git clone https://git-tails.immerda.ch/myprivatekeyispublic/testing" in GNOME Terminal - Then process "git" is running within 10 seconds - And process "git" has stopped running after at most 180 seconds - And the Git repository "testing" has been cloned successfully - - Scenario: Cloning a Git repository anonymously over the Git protocol - When I run "git clone git://git.tails.boum.org/myprivatekeyispublic/testing" in GNOME Terminal - Then process "git" is running within 10 seconds - And process "git" has stopped running after at most 180 seconds - And the Git repository "testing" has been cloned successfully - - Scenario: Cloning git repository over SSH - Given I have the SSH key pair for a Git repository - When I run "git clone tails@git.tails.boum.org:myprivatekeyispublic/testing" in GNOME Terminal - Then process "git" is running within 10 seconds - When I verify the SSH fingerprint for the Git repository - And process "git" has stopped running after at most 180 seconds - Then the Git repository "testing" has been cloned successfully diff --git a/features/torified_gnupg.feature b/features/torified_gnupg.feature deleted file mode 100644 index 374c7ba3..00000000 --- a/features/torified_gnupg.feature +++ /dev/null @@ -1,53 +0,0 @@ -@product @check_tor_leaks @fragile -Feature: Keyserver interaction with GnuPG - As a Tails user - when I interact with keyservers using various GnuPG tools - the configured keyserver must be used - and all Internet traffic should flow only through Tor. - - Background: - Given I have started Tails from DVD and logged in and the network is connected - And the "10CC5BC7" OpenPGP key is not in the live user's public keyring - - Scenario: Seahorse is configured to use the correct keyserver - Then Seahorse is configured to use the correct keyserver - - Scenario: Fetching OpenPGP keys using GnuPG should work and be done over Tor. - When I fetch the "10CC5BC7" OpenPGP key using the GnuPG CLI - Then GnuPG uses the configured keyserver - And the GnuPG fetch is successful - And the "10CC5BC7" key is in the live user's public keyring - - Scenario: Fetching OpenPGP keys using Seahorse should work and be done over Tor. - When I fetch the "10CC5BC7" OpenPGP key using Seahorse - And the Seahorse operation is successful - Then the "10CC5BC7" key is in the live user's public keyring - - Scenario: Fetching OpenPGP keys using Seahorse via the Tails OpenPGP Applet should work and be done over Tor. - When I fetch the "10CC5BC7" OpenPGP key using Seahorse via the Tails OpenPGP Applet - And the Seahorse operation is successful - Then the "10CC5BC7" key is in the live user's public keyring - - Scenario: Syncing OpenPGP keys using Seahorse should work and be done over Tor. - Given I fetch the "10CC5BC7" OpenPGP key using the GnuPG CLI without any signatures - And the GnuPG fetch is successful - And the "10CC5BC7" key is in the live user's public keyring - But the key "10CC5BC7" has only 2 signatures - When I start Seahorse - Then Seahorse has opened - And I enable key synchronization in Seahorse - And I synchronize keys in Seahorse - And the Seahorse operation is successful - Then the key "10CC5BC7" has more than 2 signatures - - Scenario: Syncing OpenPGP keys using Seahorse started from the Tails OpenPGP Applet should work and be done over Tor. - Given I fetch the "10CC5BC7" OpenPGP key using the GnuPG CLI without any signatures - And the GnuPG fetch is successful - And the "10CC5BC7" key is in the live user's public keyring - But the key "10CC5BC7" has only 2 signatures - When I start Seahorse via the Tails OpenPGP Applet - Then Seahorse has opened - And I enable key synchronization in Seahorse - And I synchronize keys in Seahorse - And the Seahorse operation is successful - Then the key "10CC5BC7" has more than 2 signatures diff --git a/features/torified_misc.feature b/features/torified_misc.feature deleted file mode 100644 index 75f3fd0b..00000000 --- a/features/torified_misc.feature +++ /dev/null @@ -1,24 +0,0 @@ -@product @check_tor_leaks @fragile -Feature: Various checks for torified software - - Background: - Given I have started Tails from DVD and logged in and the network is connected - - Scenario: wget(1) should work for HTTP and go through Tor. - When I wget "http://example.com/" to stdout - Then the wget command is successful - And the wget standard output contains "Example Domain" - - Scenario: wget(1) should work for HTTPS and go through Tor. - When I wget "https://example.com/" to stdout - Then the wget command is successful - And the wget standard output contains "Example Domain" - - Scenario: wget(1) with tricky options should work for HTTP and go through Tor. - When I wget "http://195.154.14.189/tails/stable/" to stdout with the '--spider --header="Host: dl.amnesia.boum.org"' options - Then the wget command is successful - - Scenario: whois(1) should work and go through Tor. - When I query the whois directory service for "torproject.org" - Then the whois command is successful - Then the whois standard output contains "The Tor Project" diff --git a/features/totem.feature b/features/totem.feature deleted file mode 100644 index 0e6fa05d..00000000 --- a/features/totem.feature +++ /dev/null @@ -1,70 +0,0 @@ -@product -Feature: Using Totem - As a Tails user - I want to watch local and remote videos in Totem - And AppArmor should prevent Totem from doing dangerous things - And all Internet traffic should flow only through Tor - - Background: - Given I create sample videos - - Scenario: Watching a MP4 video stored on the non-persistent filesystem - Given a computer - And I setup a filesystem share containing sample videos - And I start Tails from DVD with network unplugged and I login - And I copy the sample videos to "/home/amnesia" as user "amnesia" - And the file "/home/amnesia/video.mp4" exists - Given I start monitoring the AppArmor log of "/usr/bin/totem" - When I open "/home/amnesia/video.mp4" with Totem - Then I see "SampleLocalMp4VideoFrame.png" after at most 20 seconds - And AppArmor has not denied "/usr/bin/totem" from opening "/home/amnesia/video.mp4" - Given I close Totem - And I copy the sample videos to "/home/amnesia/.gnupg" as user "amnesia" - And the file "/home/amnesia/.gnupg/video.mp4" exists - And I restart monitoring the AppArmor log of "/usr/bin/totem" - When I try to open "/home/amnesia/.gnupg/video.mp4" with Totem - Then I see "TotemUnableToOpen.png" after at most 10 seconds - And AppArmor has denied "/usr/bin/totem" from opening "/home/amnesia/.gnupg/video.mp4" - Given I close Totem - And the file "/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4" exists - And I restart monitoring the AppArmor log of "/usr/bin/totem" - When I try to open "/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4" with Totem - Then I see "TotemUnableToOpen.png" after at most 10 seconds - And AppArmor has denied "/usr/bin/totem" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4" - Given I close Totem - And the file "/live/overlay/home/amnesia/.gnupg/video.mp4" exists - And I restart monitoring the AppArmor log of "/usr/bin/totem" - When I try to open "/live/overlay/home/amnesia/.gnupg/video.mp4" with Totem - Then I see "TotemUnableToOpen.png" after at most 10 seconds - # Due to our AppArmor aliases, /live/overlay will be treated - # as /lib/live/mount/overlay. - And AppArmor has denied "/usr/bin/totem" from opening "/lib/live/mount/overlay/home/amnesia/.gnupg/video.mp4" - - #10497: wait_until_tor_is_working - @check_tor_leaks @fragile - Scenario: Watching a WebM video over HTTPS - Given I have started Tails from DVD and logged in and the network is connected - Then I can watch a WebM video over HTTPs - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: Watching MP4 videos stored on the persistent volume should work as expected given our AppArmor confinement - Given I have started Tails without network from a USB drive with a persistent partition and stopped at Tails Greeter's login screen - # Due to bug #5571 we have to reboot to be able to use - # filesystem shares. - And I shutdown Tails and wait for the computer to power off - And I setup a filesystem share containing sample videos - And I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled - And I copy the sample videos to "/home/amnesia/Persistent" as user "amnesia" - And I copy the sample videos to "/home/amnesia/.gnupg" as user "amnesia" - And I shutdown Tails and wait for the computer to power off - And I start Tails from USB drive "__internal" with network unplugged and I login with persistence enabled - And the file "/home/amnesia/Persistent/video.mp4" exists - When I open "/home/amnesia/Persistent/video.mp4" with Totem - Then I see "SampleLocalMp4VideoFrame.png" after at most 10 seconds - Given I close Totem - And the file "/home/amnesia/.gnupg/video.mp4" exists - And I start monitoring the AppArmor log of "/usr/bin/totem" - When I try to open "/home/amnesia/.gnupg/video.mp4" with Totem - Then I see "TotemUnableToOpen.png" after at most 10 seconds - And AppArmor has denied "/usr/bin/totem" from opening "/home/amnesia/.gnupg/video.mp4" diff --git a/features/unsafe_browser.feature b/features/unsafe_browser.feature deleted file mode 100644 index d47f770c..00000000 --- a/features/unsafe_browser.feature +++ /dev/null @@ -1,73 +0,0 @@ -@product -Feature: Browsing the web using the Unsafe Browser - As a Tails user - when I browse the web using the Unsafe Browser - I should have direct access to the web - - @fragile - Scenario: The Unsafe Browser can access the LAN - Given I have started Tails from DVD and logged in and the network is connected - And a web server is running on the LAN - When I successfully start the Unsafe Browser - And I open a page on the LAN web server in the Unsafe Browser - Then I see "UnsafeBrowserHelloLANWebServer.png" after at most 20 seconds - - @fragile - Scenario: Starting the Unsafe Browser works as it should. - Given I have started Tails from DVD and logged in and the network is connected - When I successfully start the Unsafe Browser - Then the Unsafe Browser runs as the expected user - And the Unsafe Browser has a red theme - And the Unsafe Browser shows a warning as its start page - And the Unsafe Browser has no plugins installed - And the Unsafe Browser has no add-ons installed - And the Unsafe Browser has only Firefox's default bookmarks configured - And the Unsafe Browser has no proxy configured - And the Unsafe Browser uses all expected TBB shared libraries - - @fragile - Scenario: Closing the Unsafe Browser shows a stop notification and properly tears down the chroot. - Given I have started Tails from DVD and logged in and the network is connected - When I successfully start the Unsafe Browser - And I close the Unsafe Browser - Then I see the Unsafe Browser stop notification - And the Unsafe Browser chroot is torn down - - @fragile - Scenario: Starting a second instance of the Unsafe Browser results in an error message being shown. - Given I have started Tails from DVD and logged in and the network is connected - When I successfully start the Unsafe Browser - And I start the Unsafe Browser - Then I see a warning about another instance already running - - @fragile - Scenario: Opening check.torproject.org in the Unsafe Browser shows the red onion and a warning message. - Given I have started Tails from DVD and logged in and the network is connected - When I successfully start the Unsafe Browser - And I open the address "https://check.torproject.org" in the Unsafe Browser - Then I see "UnsafeBrowserTorCheckFail.png" after at most 60 seconds - And the clearnet user has sent packets out to the Internet - - @fragile - Scenario: The Unsafe Browser cannot be configured to use Tor and other local proxies. - Given I have started Tails from DVD and logged in and the network is connected - When I successfully start the Unsafe Browser - Then I cannot configure the Unsafe Browser to use any local proxies - - @fragile - Scenario: The Unsafe Browser will not make any connections to the Internet which are not user initiated - Given I have started Tails from DVD and logged in and the network is connected - And I capture all network traffic - And Tor is ready - And I configure the Unsafe Browser to check for updates more frequently - But checking for updates is disabled in the Unsafe Browser's configuration - When I successfully start the Unsafe Browser - Then the Unsafe Browser has started - And I wait 120 seconds - And the clearnet user has not sent packets out to the Internet - And all Internet traffic has only flowed through Tor - - Scenario: Starting the Unsafe Browser without a network connection results in a complaint about no DNS server being configured - Given I have started Tails from DVD without network and logged in - When I start the Unsafe Browser - Then the Unsafe Browser complains that no DNS server is configured diff --git a/features/untrusted_partitions.feature b/features/untrusted_partitions.feature deleted file mode 100644 index 55490136..00000000 --- a/features/untrusted_partitions.feature +++ /dev/null @@ -1,80 +0,0 @@ -@product -Feature: Untrusted partitions - As a Tails user - I don't want to touch other media than the one Tails runs from - - Scenario: Tails will not enable disk swap - Given a computer - And I temporarily create a 100 MiB disk named "swap" - And I create a gpt swap partition on disk "swap" - And I plug ide drive "swap" - When I start Tails with network unplugged and I login - Then a "swap" partition was detected by Tails on drive "swap" - But Tails has no disk swap enabled - - Scenario: Tails will detect LUKS-encrypted GPT partitions labeled "TailsData" stored on USB drives as persistence volumes when the removable flag is set - Given a computer - And I temporarily create a 100 MiB disk named "fake_TailsData" - And I create a gpt partition labeled "TailsData" with an ext4 filesystem encrypted with password "asdf" on disk "fake_TailsData" - And I plug removable usb drive "fake_TailsData" - When I start the computer - And the computer boots Tails - Then drive "fake_TailsData" is detected by Tails - And Tails Greeter has detected a persistence partition - - Scenario: Tails will not detect LUKS-encrypted GPT partitions labeled "TailsData" stored on USB drives as persistence volumes when the removable flag is unset - Given a computer - And I temporarily create a 100 MiB disk named "fake_TailsData" - And I create a gpt partition labeled "TailsData" with an ext4 filesystem encrypted with password "asdf" on disk "fake_TailsData" - And I plug non-removable usb drive "fake_TailsData" - When I start the computer - And the computer boots Tails - Then drive "fake_TailsData" is detected by Tails - And Tails Greeter has not detected a persistence partition - - Scenario: Tails will not detect LUKS-encrypted GPT partitions labeled "TailsData" stored on local hard drives as persistence volumes - Given a computer - And I temporarily create a 100 MiB disk named "fake_TailsData" - And I create a gpt partition labeled "TailsData" with an ext4 filesystem encrypted with password "asdf" on disk "fake_TailsData" - And I plug ide drive "fake_TailsData" - When I start the computer - And the computer boots Tails - Then drive "fake_TailsData" is detected by Tails - And Tails Greeter has not detected a persistence partition - - Scenario: Tails can boot from live systems stored on hard drives - Given a computer - And I temporarily create a 2 GiB disk named "live_hd" - And I cat an ISO of the Tails image to disk "live_hd" - And the computer is set to boot from ide drive "live_hd" - And I set Tails to boot with options "live-media=" - When I start Tails with network unplugged and I login - Then Tails is running from ide drive "live_hd" - And Tails seems to have booted normally - - Scenario: Tails booting from a DVD does not use live systems stored on hard drives - Given a computer - And I temporarily create a 2 GiB disk named "live_hd" - And I cat an ISO of the Tails image to disk "live_hd" - And I plug ide drive "live_hd" - And I start Tails from DVD with network unplugged and I login - Then drive "live_hd" is detected by Tails - And drive "live_hd" is not mounted - - Scenario: Booting Tails does not automount untrusted ext2 partitions - Given a computer - And I temporarily create a 100 MiB disk named "gpt_ext2" - And I create a gpt partition with an ext2 filesystem on disk "gpt_ext2" - And I plug ide drive "gpt_ext2" - And I start Tails from DVD with network unplugged and I login - Then drive "gpt_ext2" is detected by Tails - And drive "gpt_ext2" is not mounted - - Scenario: Booting Tails does not automount untrusted fat32 partitions - Given a computer - And I temporarily create a 100 MiB disk named "msdos_fat32" - And I create an msdos partition with a vfat filesystem on disk "msdos_fat32" - And I plug ide drive "msdos_fat32" - And I start Tails from DVD with network unplugged and I login - Then drive "msdos_fat32" is detected by Tails - And drive "msdos_fat32" is not mounted diff --git a/features/usb_install.feature b/features/usb_install.feature deleted file mode 100644 index 750df7ab..00000000 --- a/features/usb_install.feature +++ /dev/null @@ -1,107 +0,0 @@ -@product -Feature: Installing Tails to a USB drive - As a Tails user - I want to install Tails to a suitable USB drive - - Scenario: Try installing Tails to a too small USB drive - Given I have started Tails from DVD without network and logged in - And I temporarily create a 2 GiB disk named "too-small-device" - And I start Tails Installer in "Clone & Install" mode - But a suitable USB device is not found - When I plug USB drive "too-small-device" - Then Tails Installer detects that a device is too small - And a suitable USB device is not found - When I unplug USB drive "too-small-device" - And I create a 4 GiB disk named "big-enough" - And I plug USB drive "big-enough" - Then the "big-enough" USB drive is selected - - Scenario: Detecting when a target USB drive is inserted or removed - Given I have started Tails from DVD without network and logged in - And I temporarily create a 4 GiB disk named "temp" - And I start Tails Installer in "Clone & Install" mode - But a suitable USB device is not found - When I plug USB drive "temp" - Then the "temp" USB drive is selected - When I unplug USB drive "temp" - Then no USB drive is selected - And a suitable USB device is not found - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: Installing Tails to a pristine USB drive - Given I have started Tails from DVD without network and logged in - And I temporarily create a 4 GiB disk named "install" - And I plug USB drive "install" - And I "Clone & Install" Tails to USB drive "install" - Then the running Tails is installed on USB drive "install" - But there is no persistence partition on USB drive "install" - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: Booting Tails from a USB drive without a persistent partition and creating one - Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen - And I log in to a new session - Then Tails seems to have booted normally - When I create a persistent partition - Then a Tails persistence partition exists on USB drive "__internal" - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: Booting Tails from a USB drive without a persistent partition - Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen - When I log in to a new session - Then Tails seems to have booted normally - And Tails is running from USB drive "__internal" - And the persistent Tor Browser directory does not exist - And there is no persistence partition on USB drive "__internal" - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: Booting Tails from a USB drive in UEFI mode - Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen - Then I power off the computer - Given the computer is set to boot in UEFI mode - When I start Tails from USB drive "__internal" with network unplugged and I login - Then the boot device has safe access rights - And Tails is running from USB drive "__internal" - And the boot device has safe access rights - And Tails has started in UEFI mode - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: Installing Tails to a USB drive with an MBR partition table but no partitions, and making sure that it boots - Given I have started Tails from DVD without network and logged in - And I temporarily create a 4 GiB disk named "mbr" - And I create a msdos label on disk "mbr" - And I plug USB drive "mbr" - And I "Clone & Install" Tails to USB drive "mbr" - Then the running Tails is installed on USB drive "mbr" - But there is no persistence partition on USB drive "mbr" - When I shutdown Tails and wait for the computer to power off - And I start Tails from USB drive "mbr" with network unplugged and I login - Then Tails is running from USB drive "mbr" - And the boot device has safe access rights - And there is no persistence partition on USB drive "mbr" - - #10720: Tails Installer freezes on Jenkins - @fragile - Scenario: Cat:ing a Tails isohybrid to a USB drive and booting it, then trying to upgrading it but ending up having to do a fresh installation, which boots - Given a computer - And I temporarily create a 4 GiB disk named "isohybrid" - And I cat an ISO of the Tails image to disk "isohybrid" - And I start Tails from USB drive "isohybrid" with network unplugged and I login - Then Tails is running from USB drive "isohybrid" - When I shutdown Tails and wait for the computer to power off - And I start Tails from DVD with network unplugged and I login - And I try a "Clone & Upgrade" Tails to USB drive "isohybrid" - Then I am suggested to do a "Clone & Install" - When I kill the process "tails-installer" - And I "Clone & Install" Tails to USB drive "isohybrid" - Then the running Tails is installed on USB drive "isohybrid" - But there is no persistence partition on USB drive "isohybrid" - When I shutdown Tails and wait for the computer to power off - And I start Tails from USB drive "isohybrid" with network unplugged and I login - Then Tails is running from USB drive "isohybrid" - And the boot device has safe access rights - And there is no persistence partition on USB drive "isohybrid" diff --git a/features/usb_upgrade.feature b/features/usb_upgrade.feature deleted file mode 100644 index 7462489a..00000000 --- a/features/usb_upgrade.feature +++ /dev/null @@ -1,164 +0,0 @@ -#10720: Tails Installer freezes on Jenkins -@product @fragile -Feature: Upgrading an old Tails USB installation - As a Tails user - If I have an old versoin of Tails installed on a USB device - and the USB device has a persistent partition - I want to upgrade Tails on it - and keep my persistent partition in the process - - # An issue with this feature is that scenarios depend on each - # other. When editing this feature, make sure you understand these - # dependencies (which are documented below). - - Scenario: Try to "Upgrade from ISO" Tails to a pristine USB drive - Given a computer - And I setup a filesystem share containing the Tails ISO - And I start Tails from DVD with network unplugged and I login - And I temporarily create a 4 GiB disk named "pristine" - And I plug USB drive "pristine" - And I start Tails Installer in "Upgrade from ISO" mode - Then a suitable USB device is not found - And I am told that the destination device cannot be upgraded - - Scenario: Try to "Clone & Upgrade" Tails to a pristine USB drive - Given I have started Tails from DVD without network and logged in - And I temporarily create a 4 GiB disk named "pristine" - And I plug USB drive "pristine" - And I start Tails Installer in "Clone & Upgrade" mode - Then a suitable USB device is not found - And I am told that the destination device cannot be upgraded - - Scenario: Try to "Upgrade from ISO" Tails to a USB drive with GPT and a FAT partition - Given a computer - And I setup a filesystem share containing the Tails ISO - And I start Tails from DVD with network unplugged and I login - And I temporarily create a 4 GiB disk named "gptfat" - And I create a gpt partition with a vfat filesystem on disk "gptfat" - And I plug USB drive "gptfat" - And I start Tails Installer in "Upgrade from ISO" mode - Then a suitable USB device is not found - And I am told that the destination device cannot be upgraded - - Scenario: Try to "Clone & Upgrade" Tails to a USB drive with GPT and a FAT partition - Given I have started Tails from DVD without network and logged in - And I temporarily create a 4 GiB disk named "gptfat" - And I create a gpt partition with a vfat filesystem on disk "gptfat" - And I plug USB drive "gptfat" - And I start Tails Installer in "Upgrade from ISO" mode - Then a suitable USB device is not found - And I am told that the destination device cannot be upgraded - - Scenario: Installing an old version of Tails to a pristine USB drive - Given a computer - And the computer is set to boot from the old Tails DVD - And the network is unplugged - And I start the computer - When the computer boots Tails - And I log in to a new session - And the Tails desktop is ready - And all notifications have disappeared - And I create a 4 GiB disk named "old" - And I plug USB drive "old" - And I "Clone & Install" Tails to USB drive "old" - Then the running Tails is installed on USB drive "old" - But there is no persistence partition on USB drive "old" - And I unplug USB drive "old" - - # Depends on scenario: Installing an old version of Tails to a pristine USB drive - Scenario: Creating a persistent partition with the old Tails USB installation - Given a computer - And I start Tails from USB drive "old" with network unplugged and I login - Then Tails is running from USB drive "old" - And I create a persistent partition - And I take note of which persistence presets are available - Then a Tails persistence partition exists on USB drive "old" - And I shutdown Tails and wait for the computer to power off - - # Depends on scenario: Creating a persistent partition with the old Tails USB installation - Scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation - Given a computer - And I start Tails from USB drive "old" with network unplugged and I login with persistence enabled - Then Tails is running from USB drive "old" - And all persistence presets are enabled - And I write some files expected to persist - And all persistent filesystems have safe access rights - And all persistence configuration files have safe access rights - And all persistent directories from the old Tails version have safe access rights - And I take note of which persistence presets are available - And I shutdown Tails and wait for the computer to power off - # XXX: how does guestfs work vs snapshots? - Then only the expected files are present on the persistence partition on USB drive "old" - - # Depends on scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation - Scenario: Upgrading an old Tails USB installation from a Tails DVD - Given I have started Tails from DVD without network and logged in - And I clone USB drive "old" to a new USB drive "to_upgrade" - And I plug USB drive "to_upgrade" - When I "Clone & Upgrade" Tails to USB drive "to_upgrade" - Then the running Tails is installed on USB drive "to_upgrade" - And I unplug USB drive "to_upgrade" - - # Depends on scenario: Upgrading an old Tails USB installation from a Tails DVD - Scenario: Booting Tails from a USB drive upgraded from DVD with persistence enabled - Given a computer - And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled - Then all persistence presets from the old Tails version are enabled - And Tails is running from USB drive "to_upgrade" - And the boot device has safe access rights - And the expected persistent files created with the old Tails version are present in the filesystem - And all persistent directories from the old Tails version have safe access rights - - # Depends on scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation - Scenario: Upgrading an old Tails USB installation from another Tails USB drive - Given I have started Tails without network from a USB drive without a persistent partition and stopped at Tails Greeter's login screen - And I log in to a new session - And Tails seems to have booted normally - And I clone USB drive "old" to a new USB drive "to_upgrade" - And I plug USB drive "to_upgrade" - When I "Clone & Upgrade" Tails to USB drive "to_upgrade" - Then the running Tails is installed on USB drive "to_upgrade" - And I unplug USB drive "to_upgrade" - And I unplug USB drive "__internal" - - # Depends on scenario: Upgrading an old Tails USB installation from another Tails USB drive - Scenario: Booting Tails from a USB drive upgraded from USB with persistence enabled - Given a computer - And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled - Then all persistence presets from the old Tails version are enabled - And Tails is running from USB drive "to_upgrade" - And the boot device has safe access rights - And the expected persistent files created with the old Tails version are present in the filesystem - And all persistent directories from the old Tails version have safe access rights - - # Depends on scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation - Scenario: Upgrading an old Tails USB installation from an ISO image, running on the old version - Given a computer - And I clone USB drive "old" to a new USB drive "to_upgrade" - And I setup a filesystem share containing the Tails ISO - When I start Tails from USB drive "old" with network unplugged and I login - And I plug USB drive "to_upgrade" - And I do a "Upgrade from ISO" on USB drive "to_upgrade" - Then the ISO's Tails is installed on USB drive "to_upgrade" - And I unplug USB drive "to_upgrade" - - # Depends on scenario: Writing files to a read/write-enabled persistent partition with the old Tails USB installation - Scenario: Upgrading an old Tails USB installation from an ISO image, running on the new version - Given a computer - And I clone USB drive "old" to a new USB drive "to_upgrade" - And I setup a filesystem share containing the Tails ISO - And I start Tails from DVD with network unplugged and I login - And I plug USB drive "to_upgrade" - And I do a "Upgrade from ISO" on USB drive "to_upgrade" - Then the ISO's Tails is installed on USB drive "to_upgrade" - And I unplug USB drive "to_upgrade" - - # Depends on scenario: Upgrading an old Tails USB installation from an ISO image, running on the new version - Scenario: Booting a USB drive upgraded from ISO with persistence enabled - Given a computer - And I start Tails from USB drive "to_upgrade" with network unplugged and I login with persistence enabled - Then all persistence presets from the old Tails version are enabled - And Tails is running from USB drive "to_upgrade" - And the boot device has safe access rights - And the expected persistent files created with the old Tails version are present in the filesystem - And all persistent directories from the old Tails version have safe access rights |