Source: gitano
Version: 1.2-1.1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20201125 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> NOTE: Coverage gathering is not enabled
> /usr/bin/luac5.1 -p plugins/rsync.lua plugins/archive.lua 
> plugins/git-annex.lua plugins/testing-hooks.lua plugins/demo.lua 
> plugins/git-multimail.lua
> for PLUGIN in plugins/rsync.lua plugins/archive.lua plugins/git-annex.lua 
> plugins/testing-hooks.lua plugins/demo.lua; do \
>       env LUA_PATH="/<<PKGBUILDDIR>>/lib/?.lua;;" /usr/bin/lua5.1 $PLUGIN; \
> done
> Running full yarns in 'ssh' mode
> Parsing scenario file testing/library.yarn
> Parsing scenario file testing/01-basics.yarn
> Parsing scenario file testing/01-hooks.yarn
> Parsing scenario file testing/02-commands-as.yarn
> Parsing scenario file testing/02-commands-config.yarn
> Parsing scenario file testing/02-commands-copy.yarn
> Parsing scenario file testing/02-commands-count-objects.yarn
> Parsing scenario file testing/02-commands-create.yarn
> Parsing scenario file testing/02-commands-destroy.yarn
> Parsing scenario file testing/02-commands-fsck.yarn
> Parsing scenario file testing/02-commands-gc.yarn
> Parsing scenario file testing/02-commands-graveyard.yarn
> Parsing scenario file testing/02-commands-git-upload-archive.yarn
> Parsing scenario file testing/02-commands-group.yarn
> Parsing scenario file testing/02-commands-help.yarn
> Parsing scenario file testing/02-commands-keyring.yarn
> Parsing scenario file testing/02-commands-ls.yarn
> Parsing scenario file testing/02-commands-rename.yarn
> Parsing scenario file testing/02-commands-rsync.yarn
> Parsing scenario file testing/02-commands-sshkey.yarn
> Parsing scenario file testing/02-commands-user.yarn
> Parsing scenario file testing/02-commands-whoami.yarn
> Parsing scenario file testing/03-cgit-support.yarn
> Parsing scenario file testing/03-shallow-push.yarn
> Parsing scenario file testing/03-treedelta-rules.yarn
> Parsing scenario file testing/03-force-pushing.yarn
> Parsing scenario file testing/03-dangling-HEAD.yarn
> Parsing scenario file testing/03-config-user-whitelist.yarn
> No shell libraries defined
> Found 69 scenarios
> Running scenario Verification of basic behaviour
>     DATADIR is /tmp/tmpp8ytikrd/Verification_of_basic_behaviour/datadir
>     HOME for tests is 
> /tmp/tmpp8ytikrd/Verification_of_basic_behaviour/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance, using adminkey, clones gitano-admin as 
> gitano-admin"
>     Running step "THEN testinstance has a clone of gitano-admin"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN git pull happens in testinstance gitano-admin"
>     Running step "THEN testinstance gitano-admin has a file called 
> users/alice/user.conf"
>     Running step "THEN testinstance gitano-admin has a file called 
> users/alice/default.key"
>     Running step "WHEN testinstance, using adminkey, deletes user alice"
>     Running step "WHEN git pull happens in testinstance gitano-admin"
>     Running step "THEN testinstance gitano-admin has no file called 
> users/alice/user.conf"
>     Running step "THEN testinstance gitano-admin has no file called 
> users/alice/default.key"
>     Running step "FINALLY the instance is torn down"
> Running scenario whoami shows the gitano-admin group
>     DATADIR is /tmp/tmp7noerpj3/whoami_shows_the_gitano-admin_group/datadir
>     HOME for tests is 
> /tmp/tmp7noerpj3/whoami_shows_the_gitano-admin_group/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs whoami"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout does not contain gitano-admin"
>     Running step "FINALLY the instance is torn down"
> Running scenario ls will not show repositories you have no access to
>     DATADIR is 
> /tmp/tmp9pk9tod3/ls_will_not_show_repositories_you_have_no_access_to/datadir
>     HOME for tests is 
> /tmp/tmp9pk9tod3/ls_will_not_show_repositories_you_have_no_access_to/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout does not contain gitano-admin"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains RW \ gitano-admin"
>     Running step "FINALLY the instance is torn down"
> Running scenario delegated repository creation works
>     DATADIR is /tmp/tmplzj5bly1/delegated_repository_creation_works/datadir
>     HOME for tests is 
> /tmp/tmplzj5bly1/delegated_repository_creation_works/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs create somerepo alice"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout contains RW \ somerepo"
>     Running step "WHEN testinstance adminkey runs create anotherrepo"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains RW \ anotherrepo"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout does not contain anotherrepo"
>     Running step "FINALLY the instance is torn down"
> Running scenario handling empty commands
>     DATADIR is /tmp/tmpbs0vrbl8/handling_empty_commands/datadir
>     HOME for tests is /tmp/tmpbs0vrbl8/handling_empty_commands/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs"
>     Running step "THEN stderr contains FATAL: No command provided, cannot 
> continue"
>     Running step "FINALLY the instance is torn down"
> Running scenario using bypass warns loudly
>     DATADIR is /tmp/tmpzdhx1mlg/using_bypass_warns_loudly/datadir
>     HOME for tests is /tmp/tmpzdhx1mlg/using_bypass_warns_loudly/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance bypasskey runs ls"
>     Running step "THEN the output contains ALERT"
>     Running step "THEN the output contains DO NOT DO THIS"
>     Running step "THEN the output contains DANGER"
>     Running step "THEN the output contains VERY RISKY"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with post-receive-alert.patch"
>     Running step "WHEN testinstance using adminkey clones gitano-admin.git as 
> gitano-admin"
>     Running step "WHEN testinstance using adminkey pushes an empty commit in 
> gitano-admin"
>     Running step "WHEN testinstance using bypasskey pushes an empty commit in 
> gitano-admin"
>     Running step "THEN the output contains PERIL"
>     Running step "THEN the output contains CRITICAL FAILURE"
>     Running step "THEN the output does not contain XYZZY"
>     Running step "FINALLY the instance is torn down"
> Running scenario preauth_cmdline can be manipulated
>     DATADIR is /tmp/tmpg5iokgwz/preauth_cmdline_can_be_manipulated/datadir
>     HOME for tests is 
> /tmp/tmpg5iokgwz/preauth_cmdline_can_be_manipulated/datadir/HOME
>     Running step "ASSUMING gitano is being accessed over ssh"
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "GIVEN HOOK_ABORT is in the environment set to 
> PREAUTH_CMDLINE"
>     Running step "WHEN testinstance adminkey, expecting failure, runs ls"
>     Running step "THEN stderr contains Aborted on request"
>     Running step "GIVEN HOOK_ABORT is not in the environment"
>     Running step "GIVEN HOOK_DECLINE is in the environment set to 
> PREAUTH_CMDLINE"
>     Running step "WHEN testinstance adminkey, expecting failure, runs ls"
>     Running step "THEN stderr contains Declined on request"
>     Running step "GIVEN HOOK_DECLINE is not in the environment"
>     Running step "GIVEN PREAUTH_CMDLINE_REMOVEME is in the environment set to 
> 1"
>     Running step "WHEN testinstance adminkey runs removeme ls"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "GIVEN PREAUTH_CMDLINE_REMOVEME is not in the environment"
>     Running step "WHEN testinstance adminkey, expecting failure, runs 
> removeme ls"
>     Running step "THEN stderr contains removeme"
>     Running step "FINALLY the instance is torn down"
> Running scenario supple isn't even considered when post_receive hooks "stop"
>     DATADIR is 
> /tmp/tmp70uy8w2r/supple_isn_t_even_considered_when_post_receive_hooks_stop_/datadir
>     HOME for tests is 
> /tmp/tmp70uy8w2r/supple_isn_t_even_considered_when_post_receive_hooks_stop_/datadir/HOME
>     Running step "ASSUMING gitano is being accessed over ssh"
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with post-receive-alert.patch"
>     Running step "GIVEN HOOK_DECLINE is in the environment set to 
> POST_RECEIVE"
>     Running step "WHEN testinstance using adminkey clones gitano-admin.git as 
> gitano-admin"
>     Running step "WHEN testinstance using adminkey pushes an empty commit in 
> gitano-admin"
>     Running step "WHEN testinstance using bypasskey pushes an empty commit in 
> gitano-admin"
>     Running step "THEN the output does not contain PERIL"
>     Running step "THEN the output does not contain CRITICAL FAILURE"
>     Running step "THEN the output does not contain XYZZY"
>     Running step "THEN the output contains HOOKFUNC_STOPPED"
>     Running step "FINALLY the instance is torn down"
> Running scenario Default case for as
>     DATADIR is /tmp/tmpw2cvgrr6/Default_case_for_as/datadir
>     HOME for tests is /tmp/tmpw2cvgrr6/Default_case_for_as/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs as other whoami"
>     Running step "THEN stdout contains other"
>     Running step "THEN stdout does not contain gitano-admin"
>     Running step "WHEN testinstance other, expecting failure, runs as other 
> whoami"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains Ruleset denied action"
>     Running step "THEN stderr contains exit:1"
>     Running step "WHEN testinstance adminkey, expecting failure, runs as 
> other as other whoami"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains Cannot use 'as' to run 'as'"
>     Running step "THEN stderr contains Validation of command line failed"
>     Running step "THEN stderr contains exit:1"
>     Running step "FINALLY the instance is torn down"
> Running scenario Ensuring 'as' does not leak user presence
>     DATADIR is 
> /tmp/tmpu1soipnx/Ensuring_as_does_not_leak_user_presence/datadir
>     HOME for tests is 
> /tmp/tmpu1soipnx/Ensuring_as_does_not_leak_user_presence/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs as other whoami"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance other, expecting failure, runs as badger 
> sshkey list"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr does not contain badger"
>     Running step "WHEN testinstance adminkey, expecting failure, runs as 
> badger whoami"
>     Running step "THEN stderr contains badger"
>     Running step "THEN stderr contains does not exist"
>     Running step "THEN stderr contains exit:1"
>     Running step "THEN stdout is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Ensuring 'as' does not thwart auditability
>     DATADIR is 
> /tmp/tmp3_8hp_1e/Ensuring_as_does_not_thwart_auditability/datadir
>     HOME for tests is 
> /tmp/tmp3_8hp_1e/Ensuring_as_does_not_thwart_auditability/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "GIVEN testinstance has keys called sneakybackdoor"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance uses their ssh public key called 
> sneakybackdoor as stdin"
>     Running step "WHEN testinstance adminkey runs as other sshkey add 
> sneakybackdoor"
>     Running step "WHEN server-side gitano-admin reads git object 
> HEAD^{commit}"
>     Running step "THEN stdout contains Added sneakybackdoor for other"
>     Running step "THEN stdout contains committer Administrator"
>     Running step "FINALLY the instance is torn down"
> Running scenario Ensuring 'as' replaces keytag during '_prep()'
>     DATADIR is 
> /tmp/tmpeqkd6lec/Ensuring_as_replaces_keytag_during_prep_/datadir
>     HOME for tests is 
> /tmp/tmpeqkd6lec/Ensuring_as_replaces_keytag_during_prep_/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "GIVEN testinstance has keys called spare"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs as other whoami"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance uses their ssh public key called spare as 
> stdin"
>     Running step "WHEN testinstance other runs sshkey add adminkey"
>     Running step "WHEN testinstance adminkey runs as other sshkey del 
> adminkey"
>     Running step "THEN the output contains SSH authorised key file updated"
> Running scenario Viewing initial `config` for a repo
>     DATADIR is /tmp/tmpwybh57qf/Viewing_initial_config_for_a_repo/datadir
>     HOME for tests is 
> /tmp/tmpwybh57qf/Viewing_initial_config_for_a_repo/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains project.owner: admin"
>     Running step "THEN stdout contains project.head: refs/heads/master"
>     Running step "FINALLY the instance is torn down"
> Running scenario Configuration changes stick
>     DATADIR is /tmp/tmp970lo7o7/Configuration_changes_stick/datadir
>     HOME for tests is 
> /tmp/tmp970lo7o7/Configuration_changes_stick/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.head refs/heads/trunk"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains project.head: refs/heads/trunk"
>     Running step "WHEN testinstance adminkey, expecting failure, runs config 
> testrepo set project.owner alice"
>     Running step "THEN stderr contains Unknown user: alice"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.owner alice"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stdout contains project.owner: alice"
>     Running step "FINALLY the instance is torn down"
> Running scenario Changes to `HEAD` and description hit the filesystem
>     DATADIR is 
> /tmp/tmppzmr48zv/Changes_to_HEAD_and_description_hit_the_filesystem/datadir
>     HOME for tests is 
> /tmp/tmppzmr48zv/Changes_to_HEAD_and_description_hit_the_filesystem/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.head refs/heads/trunk"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.description foobar"
>     Running step "THEN server-side testrepo.git file description contains 
> foobar"
>     Running step "THEN server-side testrepo.git file HEAD contains 
> refs/heads/trunk"
>     Running step "FINALLY the instance is torn down"
> Running scenario Manipulating list values is possible
>     DATADIR is /tmp/tmpyqpy356i/Manipulating_list_values_is_possible/datadir
>     HOME for tests is 
> /tmp/tmpyqpy356i/Manipulating_list_values_is_possible/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo set foo.* 
> hello"
>     Running step "WHEN testinstance adminkey runs config testrepo set foo.* 
> world"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains foo.i_1: hello"
>     Running step "THEN stdout contains foo.i_2: world"
>     Running step "WHEN testinstance adminkey runs config testrepo rm foo.i_1"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains foo.i_1: world"
>     Running step "WHEN testinstance adminkey runs config testrepo rm foo.i_1"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout does not contain foo.i_"
>     Running step "FINALLY the instance is torn down"
> Running scenario Showing non-existant configuration values
>     DATADIR is 
> /tmp/tmp2t8y01b0/Showing_non-existant_configuration_values/datadir
>     HOME for tests is 
> /tmp/tmp2t8y01b0/Showing_non-existant_configuration_values/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs config 
> gitano-admin show banana"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains banana"
> Running scenario server-side clone
>     DATADIR is /tmp/tmpud3month/server-side_clone/datadir
>     HOME for tests is /tmp/tmpud3month/server-side_clone/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs copy gitano-admin 
> public/testrepo"
>     Running step "THEN server-side public/testrepo has identical refs to 
> gitano-admin"
>     Running step "THEN server-side public/testrepo has no missing objects"
>     Running step "FINALLY the instance is torn down"
> Running scenario server-side clone failure modes
>     DATADIR is /tmp/tmpc_wnok_2/server-side_clone_failure_modes/datadir
>     HOME for tests is 
> /tmp/tmpc_wnok_2/server-side_clone_failure_modes/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs copy gitano-admin 
> public/testrepo"
>     Running step "GIVEN testinstance adminkey has set the owner of 
> public/testrepo to alice"
>     Running step "WHEN alice main, expecting failure, runs copy 
> public/testrepo personal/testinstance/"
>     Running step "THEN stderr contains FATAL: Not authorised"
>     Running step "WHEN alice main runs create personal/alice/testrepo"
>     Running step "WHEN alice main, expecting failure, runs copy 
> public/testrepo personal/alice/testrepo"
>     Running step "THEN stderr contains ERROR: Repository 
> personal/alice/testrepo already exists"
>     Running step "WHEN alice main, expecting failure, runs copy 
> user/alice/testrepo gitano-admin"
>     Running step "THEN stderr does not contain ERROR: Repository gitano-admin 
> already exists"
>     Running step "FINALLY the instance is torn down"
> Running scenario counting objects
>     DATADIR is /tmp/tmp22or5a03/counting_objects/datadir
>     HOME for tests is /tmp/tmp22or5a03/counting_objects/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main, expecting failure, runs count-objects 
> gitano-admin"
>     Running step "THEN stderr contains CRIT: Ruleset denied action."
>     Running step "WHEN testinstance adminkey runs count-objects gitano-admin"
>     Running step "THEN stdout contains objects"
>     Running step "THEN stdout contains bytes"
>     Running step "FINALLY the instance is torn down"
> Running scenario user-created repositories
>     DATADIR is /tmp/tmps8m3c8wf/user-created_repositories/datadir
>     HOME for tests is /tmp/tmps8m3c8wf/user-created_repositories/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs create personal/alice/testrepo"
>     Running step "WHEN alice main runs config personal/alice/testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains project.owner: alice"
>     Running step "WHEN alice main, expecting failure, runs create 
> personal/testintance/testrepo"
>     Running step "THEN stderr contains CRIT: Repository creation is not 
> permitted."
>     Running step "FINALLY the instance is torn down"
> Running scenario created repositories have server info
>     DATADIR is /tmp/tmpid4jniej/created_repositories_have_server_info/datadir
>     HOME for tests is 
> /tmp/tmpid4jniej/created_repositories_have_server_info/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create foobar"
>     Running step "THEN server-side foobar.git file objects/info/packs exists"
>     Running step "THEN server-side foobar.git file info/refs exists"
>     Running step "FINALLY the instance is torn down"
> Running scenario repository destruction failure modes
>     DATADIR is /tmp/tmp0qt4jpaz/repository_destruction_failure_modes/datadir
>     HOME for tests is 
> /tmp/tmp0qt4jpaz/repository_destruction_failure_modes/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main, expecting failure, runs destroy 
> personal/alice/testrepo --force"
>     Running step "THEN stderr contains ERROR: Cannot destroy a repository 
> which does not exist"
>     Running step "WHEN alice main, expecting failure, runs destroy 
> gitano-admin --force"
>     Running step "THEN stderr does not contain ERROR: Cannot destroy a 
> repository which does not exist"
>     Running step "THEN stderr contains CRIT: You may not destroy repositories 
> you do not own"
>     Running step "FINALLY the instance is torn down"
> Running scenario repository destruction
>     DATADIR is /tmp/tmpmg4r9asu/repository_destruction/datadir
>     HOME for tests is /tmp/tmpmg4r9asu/repository_destruction/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs create personal/alice/testrepo"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout contains personal/alice/testrepo"
>     Running step "WHEN alice main runs destroy personal/alice/testrepo 
> --force"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout does not contain personal/alice/testrepo"
>     Running step "WHEN alice main runs create personal/alice/testrepo"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout contains personal/alice/testrepo"
>     Running step "WHEN alice main runs destroy personal/alice/testrepo"
>     Running step "THEN stdout contains re-run your command with the following 
> confirmation token"
>     Running step "GIVEN the token is saved as delete"
>     Running step "WHEN testinstance adminkey runs config 
> personal/alice/testrepo set project.description Foo"
>     Running step "WHEN alice using main, expecting failure, destroys 
> personal/alice/testrepo using the delete token"
>     Running step "THEN stderr contains ERROR: Confirmation token does not 
> match, refusing to destroy"
>     Running step "FINALLY the instance is torn down"
> Running scenario Simple `fsck` cases
>     DATADIR is /tmp/tmp3zhye3bq/Simple_fsck_cases/datadir
>     HOME for tests is /tmp/tmp3zhye3bq/Simple_fsck_cases/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs fsck gitano-admin"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey, expecting failure, runs fsck 
> somethingelse"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains repository does not exist"
>     Running step "FINALLY the instance is torn down"
> Running scenario lowly accolyte fails to fsck
>     DATADIR is /tmp/tmpftl2j7at/lowly_accolyte_fails_to_fsck/datadir
>     HOME for tests is 
> /tmp/tmpftl2j7at/lowly_accolyte_fails_to_fsck/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance other, expecting failure, runs fsck 
> gitano-admin"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains Ruleset denied action"
>     Running step "FINALLY the instance is torn down"
> Running scenario passing arguments to `fsck`
>     DATADIR is /tmp/tmpvpv_u92j/passing_arguments_to_fsck_/datadir
>     HOME for tests is /tmp/tmpvpv_u92j/passing_arguments_to_fsck_/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs fsck 
> gitano-admin --bad-option"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains error: unknown option"
>     Running step "THEN stderr contains usage: git fsck"
>     Running step "THEN stderr contains Unable to continue"
>     Running step "FINALLY the instance is torn down"
> Running scenario Simple case `gc` usage
>     DATADIR is /tmp/tmpyqg0ydm2/Simple_case_gc_usage/datadir
>     HOME for tests is /tmp/tmpyqg0ydm2/Simple_case_gc_usage/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs gc gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Simple failure case `gc` usage
>     DATADIR is /tmp/tmp8qbgzj0q/Simple_failure_case_gc_usage/datadir
>     HOME for tests is 
> /tmp/tmp8qbgzj0q/Simple_failure_case_gc_usage/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs gc 
> something"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains repository does not exist"
>     Running step "FINALLY the instance is torn down"
> Running scenario Write access checks for `gc` usage
>     DATADIR is /tmp/tmpvffo9cpv/Write_access_checks_for_gc_usage/datadir
>     HOME for tests is 
> /tmp/tmpvffo9cpv/Write_access_checks_for_gc_usage/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance other, expecting failure, runs gc 
> testrepo"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains Ruleset denied action"
>     Running step "FINALLY the instance is torn down"
> Running scenario Passing arguments through to `git gc`
>     DATADIR is /tmp/tmpmzpsx3fb/Passing_arguments_through_to_git_gc_/datadir
>     HOME for tests is 
> /tmp/tmpmzpsx3fb/Passing_arguments_through_to_git_gc_/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs gc 
> gitano-admin --not-valid"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains error: unknown option"
>     Running step "THEN stderr contains usage: git gc"
>     Running step "THEN stderr contains Unable to continue"
>     Running step "FINALLY the instance is torn down"
> Running scenario graveyard
>     DATADIR is /tmp/tmpyr83tzh5/graveyard/datadir
>     HOME for tests is /tmp/tmpyr83tzh5/graveyard/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs create personal/alice/testrepo"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout contains personal/alice/testrepo"
>     Running step "WHEN alice main runs destroy personal/alice/testrepo 
> --force"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout does not contain personal/alice/testrepo"
>     Running step "WHEN alice main, expecting failure, runs graveyard list"
>     Running step "THEN stderr contains CRIT: You may not perform site 
> administration"
>     Running step "WHEN testinstance adminkey runs graveyard list"
>     Running step "THEN stdout contains personal.alice.testrepo.*\.destroyed"
>     Running step "WHEN testinstance adminkey restores the latest deletion to 
> personal/alice/testrepo"
>     Running step "WHEN testinstance adminkey runs config 
> personal/alice/testrepo show project.owner"
>     Running step "THEN stdout contains project\.owner: alice"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout contains personal/alice/testrepo"
>     Running step "WHEN alice main runs config personal/alice/testrepo show 
> project.owner"
>     Running step "THEN stdout contains project\.owner: alice"
>     Running step "WHEN alice main runs destroy personal/alice/testrepo 
> --force"
>     Running step "WHEN testinstance adminkey purges the latest deletion"
>     Running step "WHEN testinstance adminkey runs graveyard list"
>     Running step "THEN stdout does not contain personal.alice.testrepo"
>     Running step "FINALLY the instance is torn down"
> Running scenario Performing git-archive operations
>     DATADIR is /tmp/tmp1et8aimu/Performing_git-archive_operations/datadir
>     HOME for tests is 
> /tmp/tmp1et8aimu/Performing_git-archive_operations/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey uses git archive to extract the 
> tree of gitano-admin HEAD to test"
>     Running step "THEN test/site.conf contains site_name "Gitano Test 
> Instance""
>     Running step "FINALLY the instance is torn down"
> Running scenario basic group operation
>     DATADIR is /tmp/tmp7amqmy0_/basic_group_operation/datadir
>     HOME for tests is /tmp/tmp7amqmy0_/basic_group_operation/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs group list"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "WHEN testinstance adminkey runs group add newgroup simple 
> description"
>     Running step "WHEN testinstance adminkey runs group list"
>     Running step "THEN stdout contains newgroup"
>     Running step "THEN stdout contains simple description"
>     Running step "WHEN testinstance adminkey runs group del newgroup --force"
>     Running step "WHEN testinstance adminkey runs group list"
>     Running step "THEN stdout does not contain newgroup"
>     Running step "FINALLY the instance is torn down"
> Running scenario group description
>     DATADIR is /tmp/tmpd24lrbka/group_description/datadir
>     HOME for tests is /tmp/tmpd24lrbka/group_description/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout contains gitano-admin:Gitano\ Instance\ 
> Administrators"
>     Running step "THEN stdout contains =>\ admin"
>     Running step "WHEN testinstance adminkey runs group description 
> gitano-admin Jeffrey"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout contains gitano-admin:Jeffrey"
>     Running step "FINALLY the instance is torn down"
> Running scenario group renaming
>     DATADIR is /tmp/tmp4u9emmfh/group_renaming/datadir
>     HOME for tests is /tmp/tmp4u9emmfh/group_renaming/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs group add foo bar"
>     Running step "WHEN testinstance adminkey runs group rename foo b.az 
> --force"
>     Running step "WHEN testinstance adminkey runs group list"
>     Running step "THEN stdout does not contain foo:bar"
>     Running step "THEN stdout contains b.az:bar"
>     Running step "FINALLY the instance is torn down"
> Running scenario group membership
>     DATADIR is /tmp/tmp0ov00z9p/group_membership/datadir
>     HOME for tests is /tmp/tmp0ov00z9p/group_membership/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs group add foo bar"
>     Running step "WHEN testinstance adminkey runs group adduser foo alice"
>     Running step "WHEN testinstance adminkey runs group show foo"
>     Running step "THEN stdout contains =>\ alice"
>     Running step "WHEN testinstance adminkey runs group deluser foo alice 
> --force"
>     Running step "WHEN testinstance adminkey runs group show foo"
>     Running step "THEN stdout does not contain alice"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout does not contain foo"
>     Running step "WHEN testinstance adminkey runs group addgroup gitano-admin 
> foo"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout contains \[\]\ foo"
>     Running step "WHEN testinstance adminkey runs group delgroup gitano-admin 
> foo --force"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout does not contain foo"
>     Running step "FINALLY the instance is torn down"
> Running scenario group and user rename continuity
>     DATADIR is /tmp/tmpq4zvzcqu/group_and_user_rename_continuity/datadir
>     HOME for tests is 
> /tmp/tmpq4zvzcqu/group_and_user_rename_continuity/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs group add foo foodesc"
>     Running step "WHEN testinstance adminkey runs group add bar bardesc"
>     Running step "WHEN testinstance adminkey runs group adduser foo alice"
>     Running step "WHEN testinstance adminkey runs group addgroup bar foo"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout contains foodesc"
>     Running step "THEN stdout contains bardesc"
>     Running step "THEN stdout contains \(via foo\)"
>     Running step "WHEN testinstance adminkey runs user rename alice betty 
> --force"
>     Running step "WHEN testinstance adminkey runs group show foo"
>     Running step "THEN stdout does not contain alice"
>     Running step "THEN stdout contains betty"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout contains foodesc"
>     Running step "THEN stdout contains bardesc"
>     Running step "THEN stdout contains \(via foo\)"
>     Running step "WHEN testinstance adminkey runs group rename foo baz 
> --force"
>     Running step "WHEN testinstance adminkey runs group rename bar meta 
> --force"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout contains foodesc"
>     Running step "THEN stdout contains bardesc"
>     Running step "THEN stdout contains \(via baz\)"
>     Running step "FINALLY the instance is torn down"
> Running scenario group add with slashes causes error
>     DATADIR is /tmp/tmphevfha5a/group_add_with_slashes_causes_error/datadir
>     HOME for tests is 
> /tmp/tmphevfha5a/group_add_with_slashes_causes_error/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs group 
> add foo/bar bananas"
>     Running step "THEN stderr contains group name .foo/bar. not valid"
>     Running step "FINALLY the instance is torn down"
> Running scenario help is given
>     DATADIR is /tmp/tmpjmkmaz_n/help_is_given/datadir
>     HOME for tests is /tmp/tmpjmkmaz_n/help_is_given/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs version"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs version machine"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help admin"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help all"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help help"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help as"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help config"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help copy"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help count-objects"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help create"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help destroy"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help fsck"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help gc"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help git-receive-pack"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help git-upload-pack"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help graveyard"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help group"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help keyring"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help ls"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help passwd"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help rename"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help sshkey"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help user"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help whoami"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help rsync"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help demo"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help git-upload-archive"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help git-annex-shell"
>     Running step "THEN the output is not empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Verify empty keyring set
>     DATADIR is /tmp/tmp941xt2s3/Verify_empty_keyring_set/datadir
>     HOME for tests is /tmp/tmp941xt2s3/Verify_empty_keyring_set/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs keyring list"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Verify keyrings come and go
>     DATADIR is /tmp/tmp47lsxlwh/Verify_keyrings_come_and_go/datadir
>     HOME for tests is 
> /tmp/tmp47lsxlwh/Verify_keyrings_come_and_go/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs keyring create jeff"
>     Running step "WHEN testinstance adminkey runs keyring list"
>     Running step "THEN stdout contains jeff"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey runs keyring destroy jeff 
> --force"
>     Running step "WHEN testinstance adminkey runs keyring list"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Keyrings can gain and lose keys
>     DATADIR is /tmp/tmpdu5fob87/Keyrings_can_gain_and_lose_keys/datadir
>     HOME for tests is 
> /tmp/tmpdu5fob87/Keyrings_can_gain_and_lose_keys/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs keyring create jeff"
>     Running step "WHEN testinstance adminkey runs keyring list"
>     Running step "THEN stdout contains jeff"
>     Running step "THEN stderr is empty"
>     Running step "GIVEN gpg key 32CD66C9C4E07D2D2A48B9D8DAEE518EFD8A5932 on 
> stdin"
>     Running step "WHEN testinstance adminkey runs keyring import jeff"
>     Running step "WHEN testinstance adminkey runs keyring show jeff"
>     Running step "THEN stdout contains 
> 32CD66C9C4E07D2D2A48B9D8DAEE518EFD8A5932"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey runs keyring delkey jeff 
> 32CD66C9C4E07D2D2A48B9D8DAEE518EFD8A5932 --force"
>     Running step "WHEN testinstance adminkey runs keyring show jeff"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Basic operation of ls
>     DATADIR is /tmp/tmp_g4p96ac/Basic_operation_of_ls/datadir
>     HOME for tests is /tmp/tmp_g4p96ac/Basic_operation_of_ls/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains RW \ gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario No access means no show in ls
>     DATADIR is /tmp/tmpoeicysu2/No_access_means_no_show_in_ls/datadir
>     HOME for tests is 
> /tmp/tmpoeicysu2/No_access_means_no_show_in_ls/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs create stoat"
>     Running step "WHEN testinstance other runs ls"
>     Running step "THEN stdout does not contain stoat"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Archived repositories do not show in ls
>     DATADIR is 
> /tmp/tmp53e6x_ur/Archived_repositories_do_not_show_in_ls/datadir
>     HOME for tests is 
> /tmp/tmp53e6x_ur/Archived_repositories_do_not_show_in_ls/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey runs config gitano-admin set 
> project.archived true"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout does not contain gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey runs ls --all"
>     Running step "THEN stdout contains RWA gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario rename repository
>     DATADIR is /tmp/tmptbdbfupi/rename_repository/datadir
>     HOME for tests is /tmp/tmptbdbfupi/rename_repository/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs copy gitano-admin 
> public/testrepo"
>     Running step "THEN server-side public/testrepo has identical refs to 
> gitano-admin"
>     Running step "WHEN testinstance adminkey runs rename public/testrepo 
> public/testrepo2"
>     Running step "THEN server-side public/testrepo2 has identical refs to 
> gitano-admin"
>     Running step "FINALLY the instance is torn down"
> Running scenario rename permissions
>     DATADIR is /tmp/tmpj3u4ltk5/rename_permissions/datadir
>     HOME for tests is /tmp/tmpj3u4ltk5/rename_permissions/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs create personal/alice/testrepo"
>     Running step "WHEN alice main runs create personal/alice/testrepo2"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout contains personal/alice/testrepo"
>     Running step "THEN stdout contains personal/alice/testrepo2"
>     Running step "WHEN alice main, expecting failure, runs rename 
> personal/alice/testrepo personal/alice/testrepo2"
>     Running step "THEN stderr contains CRIT: Destination location is in use"
>     Running step "WHEN alice main, expecting failure, runs rename 
> personal/alice/testrepo3 personal/alice/testrepo4"
>     Running step "THEN stderr contains CRIT: Cannot rename a repository which 
> does not exist"
>     Running step "WHEN alice main, expecting failure, runs rename 
> personal/alice/testrepo gitano-admin"
>     Running step "THEN stderr contains CRIT: Ruleset denied action."
>     Running step "THEN stderr does not contain CRIT: Destination location is 
> in use"
>     Running step "WHEN alice main, expecting failure, runs rename testrepo 
> personal/alice/gitano-admin"
>     Running step "THEN stderr contains CRIT: The ruleset didn't provide 
> access."
>     Running step "THEN stderr does not contain ERROR: Cannot rename testrepo 
> as it does not exist"
>     Running step "FINALLY the instance is torn down"
> Running scenario rsync
>     DATADIR is /tmp/tmpsyihdq99/rsync/datadir
>     HOME for tests is /tmp/tmpsyihdq99/rsync/datadir/HOME
>     Running step "ASSUMING rsync is possible"
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testfile contains foo"
>     Running step "WHEN testinstance adminkey rsync's testfile to 
> gitano-admin.git"
>     Running step "THEN server-side gitano-admin.git file rsync/testfile 
> contains foo"
>     Running step "GIVEN testfile contains bar"
>     Running step "WHEN testinstance adminkey rsync's testfile from 
> gitano-admin.git"
>     Running step "THEN testfile contains foo"
>     Running step "FINALLY the instance is torn down"
> Running scenario ssh key basics
>     DATADIR is /tmp/tmp_1n8cqg2/ssh_key_basics/datadir
>     HOME for tests is /tmp/tmp_1n8cqg2/ssh_key_basics/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs whoami"
>     Running step "THEN stdout contains adminkey"
>     Running step "WHEN testinstance adminkey runs sshkey list"
>     Running step "THEN the output contains adminkey"
>     Running step "GIVEN testinstance has keys called newkey"
>     Running step "GIVEN testinstance has keys called edkey of type ed25519"
>     Running step "WHEN testinstance uses their ssh public key called newkey 
> as stdin"
>     Running step "WHEN testinstance adminkey runs sshkey add newkey"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "WHEN testinstance uses their ssh public key called edkey as 
> stdin"
>     Running step "WHEN testinstance adminkey runs sshkey add edkey"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "WHEN testinstance adminkey runs sshkey list"
>     Running step "THEN the output contains newkey"
>     Running step "THEN the output contains edkey"
>     Running step "WHEN testinstance newkey runs sshkey del adminkey"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "WHEN testinstance newkey runs whoami"
>     Running step "THEN the output contains newkey"
>     Running step "THEN the output does not contain adminkey"
>     Running step "FINALLY the instance is torn down"
> Running scenario gitano key awareness
>     DATADIR is /tmp/tmp6n7mni63/gitano_key_awareness/datadir
>     HOME for tests is /tmp/tmp6n7mni63/gitano_key_awareness/datadir/HOME
>     Running step "ASSUMING gitano is being accessed over ssh"
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs sshkey list"
>     Running step "THEN the output contains adminkey.*\[\*\]$"
>     Running step "WHEN testinstance adminkey, expecting failure, runs sshkey 
> del adminkey"
>     Running step "THEN stderr contains is in use"
>     Running step "FINALLY the instance is torn down"
> Running scenario sshkey underscores and dashes
>     DATADIR is /tmp/tmp0i77q38k/sshkey_underscores_and_dashes/datadir
>     HOME for tests is 
> /tmp/tmp0i77q38k/sshkey_underscores_and_dashes/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called testkey"
>     Running step "WHEN testinstance uses their ssh public key called testkey 
> as stdin"
>     Running step "WHEN testinstance adminkey runs sshkey add test-key_"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "WHEN testinstance adminkey runs sshkey list"
>     Running step "THEN the output contains test-key_"
>     Running step "FINALLY the instance is torn down"
> Running scenario user creation
>     DATADIR is /tmp/tmpvugslaal/user_creation/datadir
>     HOME for tests is /tmp/tmpvugslaal/user_creation/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main, expecting failure, runs user add bob 
> bob@testinstance Bob Bobertson"
>     Running step "THEN stderr contains CRIT: You may not perform site 
> administration"
>     Running step "WHEN testinstance adminkey runs user add bob 
> bob@testinstance Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^bob"
>     Running step "FINALLY the instance is torn down"
> Running scenario user manipulation
>     DATADIR is /tmp/tmp3hf90wdz/user_manipulation/datadir
>     HOME for tests is /tmp/tmp3hf90wdz/user_manipulation/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs user add bob 
> bob@testinstance Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^bob.*bob@testinstance"
>     Running step "THEN stdout contains ^bob.*Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user email bob 
> [email protected]"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^bob.*[email protected]"
>     Running step "WHEN testinstance adminkey runs user name bob Robert 
> Robertson"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^bob.*Robert Robertson"
>     Running step "FINALLY the instance is torn down"
> Running scenario rename user
>     DATADIR is /tmp/tmpnnj7xjsm/rename_user/datadir
>     HOME for tests is /tmp/tmpnnj7xjsm/rename_user/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs user add bob 
> bob@testinstance Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user rename bob rob.ert 
> --force"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "THEN the output contains Committed: Rename user bob to 
> rob.ert"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^rob.ert"
>     Running step "THEN stdout does not contain ^bob"
>     Running step "WHEN testinstance adminkey runs create testrepo rob.ert"
>     Running step "WHEN testinstance adminkey runs config testrepo show 
> project.owner"
>     Running step "THEN stdout contains rob.ert"
>     Running step "WHEN testinstance adminkey runs user rename rob.ert b.ob 
> --force"
>     Running step "WHEN testinstance adminkey runs config testrepo show 
> project.owner"
>     Running step "THEN stdout contains b.ob"
>     Running step "FINALLY the instance is torn down"
> Running scenario rename self
>     DATADIR is /tmp/tmp7cb8afw4/rename_self/datadir
>     HOME for tests is /tmp/tmp7cb8afw4/rename_self/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user bob, 
> with a key called bobskey"
>     Running step "WHEN testinstance adminkey runs group adduser gitano-admin 
> bob"
>     Running step "WHEN bob bobskey runs user rename bob robert --force"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "THEN the output contains Committed: Rename user bob to 
> robert"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^robert"
>     Running step "THEN stdout does not contain ^bob"
>     Running step "FINALLY the instance is torn down"
> Running scenario delete user
>     DATADIR is /tmp/tmp1opf3s44/delete_user/datadir
>     HOME for tests is /tmp/tmp1opf3s44/delete_user/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs user add robert 
> bob@testinstance Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user del robert --force"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "THEN the output contains Committed: Delete user robert"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout does not contain ^robert"
>     Running step "FINALLY the instance is torn down"
> Running scenario user add with slashes causes error
>     DATADIR is /tmp/tmpoe7rgbup/user_add_with_slashes_causes_error/datadir
>     HOME for tests is 
> /tmp/tmpoe7rgbup/user_add_with_slashes_causes_error/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs user 
> add foo/bar foo@bar bananas"
>     Running step "THEN stderr contains user name .foo/bar. not valid"
>     Running step "FINALLY the instance is torn down"
> Running scenario user introspection
>     DATADIR is /tmp/tmpnliz09lh/user_introspection/datadir
>     HOME for tests is /tmp/tmpnliz09lh/user_introspection/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout contains User name: alice"
>     Running step "THEN stdout contains Real name: alice's real name"
>     Running step "THEN stdout contains Email address: alice@testinstance"
>     Running step "THEN stdout contains main"
>     Running step "WHEN testinstance adminkey runs whoami"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "FINALLY the instance is torn down"
> Running scenario whoami marks ssh key
>     DATADIR is /tmp/tmp18s_9_2u/whoami_marks_ssh_key/datadir
>     HOME for tests is /tmp/tmp18s_9_2u/whoami_marks_ssh_key/datadir/HOME
>     Running step "ASSUMING gitano is being accessed over ssh"
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs whoami"
>     Running step "THEN stdout contains adminkey \[\*\]"
>     Running step "FINALLY the instance is torn down"
> Running scenario Gitano configures CGit to hide archived repositories
>     DATADIR is 
> /tmp/tmp9p68bwqc/Gitano_configures_CGit_to_hide_archived_repositories/datadir
>     HOME for tests is 
> /tmp/tmp9p68bwqc/Gitano_configures_CGit_to_hide_archived_repositories/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs config gitano-admin set 
> project.archived true"
>     Running step "THEN server-side gitano-admin.git file cgitrc contains 
> hide=1"
>     Running step "FINALLY the instance is torn down"
> Running scenario Pushing shallow history
>     DATADIR is /tmp/tmpcsdovcdw/Pushing_shallow_history/datadir
>     HOME for tests is /tmp/tmpcsdovcdw/Pushing_shallow_history/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance, using adminkey, clones gitano-admin.git 
> as local-shallow with depth 1"
>     Running step "WHEN testinstance adminkey runs create remote-shallow.git"
>     Running step "WHEN testinstance adminkey runs config remote-shallow.git 
> set git.receive.shallowUpdate true"
>     Running step "WHEN testinstance, using adminkey, pushes local-shallow to 
> remote-shallow.git"
>     Running step "THEN server-side remote-shallow.git file shallow exists"
>     Running step "FINALLY the instance is torn down"
> Running scenario may not create files called FOO
>     DATADIR is /tmp/tmpkbvsuoaa/may_not_create_files_called_FOO/datadir
>     HOME for tests is 
> /tmp/tmpkbvsuoaa/may_not_create_files_called_FOO/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with no-create-FOO.patch"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, expecting failure, pushes testrepo 
> to testrepo.git"
>     Running step "THEN stderr contains No FOOs allowed"
>     Running step "FINALLY the instance is torn down"
> Running scenario source must have a FOO
>     DATADIR is /tmp/tmpcuktkjnt/source_must_have_a_FOO/datadir
>     HOME for tests is /tmp/tmpcuktkjnt/source_must_have_a_FOO/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with must-start-with-FOO.patch"
>     Running step "WHEN alice, using main, expecting failure, pushes an empty 
> commit in testrepo"
>     Running step "THEN stderr contains Needs a FOO"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN stderr contains Needs a FOO"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with the reverse of must-start-with-FOO.patch"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains new branch"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with must-start-with-FOO.patch"
>     Running step "WHEN alice, using main, pushes an empty commit in testrepo"
>     Running step "THEN the output contains master -> master"
>     Running step "WHEN alice reverts add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN stderr contains Needs a FOO"
>     Running step "FINALLY the instance is torn down"
> Running scenario any change must affect FOO
>     DATADIR is /tmp/tmp8wa5dab7/any_change_must_affect_FOO/datadir
>     HOME for tests is /tmp/tmp8wa5dab7/any_change_must_affect_FOO/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with must-affect-FOO.patch"
>     Running step "WHEN alice, using main, expecting failure, pushes an empty 
> commit in testrepo"
>     Running step "THEN stderr contains Needs a FOO"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains new branch"
>     Running step "WHEN alice, using main, expecting failure, pushes an empty 
> commit in testrepo"
>     Running step "THEN stderr contains Needs a FOO"
>     Running step "WHEN alice applies change-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "WHEN alice reverts change-a-FOO.patch in testrepo"
>     Running step "WHEN alice reverts add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "WHEN alice applies rename-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "WHEN alice reverts rename-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "FINALLY the instance is torn down"
> Running scenario any change must affect FOO with specificity
>     DATADIR is 
> /tmp/tmp0_8jbsg7/any_change_must_affect_FOO_with_specificity/datadir
>     HOME for tests is 
> /tmp/tmp0_8jbsg7/any_change_must_affect_FOO_with_specificity/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with must-add-FOO.patch"
>     Running step "WHEN alice, using main, expecting failure, pushes an empty 
> commit in testrepo"
>     Running step "THEN stderr contains Needs a FOO"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains new branch"
>     Running step "WHEN alice, using main, expecting failure, pushes an empty 
> commit in testrepo"
>     Running step "THEN stderr contains Needs a FOO"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with the reverse of must-add-FOO.patch"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with must-modify-FOO.patch"
>     Running step "WHEN alice applies change-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with the reverse of must-modify-FOO.patch"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with must-remove-FOO.patch"
>     Running step "WHEN alice reverts change-a-FOO.patch in testrepo"
>     Running step "WHEN alice reverts add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with the reverse of must-remove-FOO.patch"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with must-rename-from-FOO.patch"
>     Running step "WHEN alice applies rename-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with the reverse of must-rename-from-FOO.patch"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with must-rename-to-FOO.patch"
>     Running step "WHEN alice reverts rename-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains master -> master"
>     Running step "FINALLY the instance is torn down"
> Running scenario alice cannot force-push by default
>     DATADIR is /tmp/tmpftb06fri/alice_cannot_force-push_by_default/datadir
>     HOME for tests is 
> /tmp/tmpftb06fri/alice_cannot_force-push_by_default/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "THEN the output contains new branch"
>     Running step "WHEN alice amends testrepo with oh well never mind"
>     Running step "WHEN alice, using main, expecting failure, pushes testrepo 
> to testrepo.git"
>     Running step "THEN the output contains non-fast-forward"
>     Running step "WHEN alice, using main, expecting failure, force-pushes 
> testrepo to testrepo.git"
>     Running step "THEN stderr contains denied action"
>     Running step "FINALLY the instance is torn down"
> Running scenario Pushes resulting in a dangling HEAD are warned about
>     DATADIR is 
> /tmp/tmpu2qww9jw/Pushes_resulting_in_a_dangling_HEAD_are_warned_about/datadir
>     HOME for tests is 
> /tmp/tmpu2qww9jw/Pushes_resulting_in_a_dangling_HEAD_are_warned_about/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.head refs/heads/trunk"
>     Running step "WHEN testinstance, using adminkey, clones testrepo as 
> testrepo"
>     Running step "WHEN testinstance applies add-a-FOO.patch in testrepo"
>     Running step "WHEN testinstance, using adminkey, pushes testrepo to 
> testrepo.git"
>     Running step "THEN stderr contains WARNING: HEAD remains dangling"
>     Running step "FINALLY the instance is torn down"
> Running scenario Access controlled by configuration keys
>     DATADIR is 
> /tmp/tmpg_e_dgmr/Access_controlled_by_configuration_keys/datadir
>     HOME for tests is 
> /tmp/tmpg_e_dgmr/Access_controlled_by_configuration_keys/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN alice, using main, expecting failure, clones testrepo 
> as testrepo"
>     Running step "THEN stderr contains \(FATAL: Not authorised\|The requested 
> URL returned error: 403\)"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.readers.* alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice has a clone of testrepo"
>     Running step "WHEN alice using main pushes an empty commit in testrepo"
>     Running step "THEN stderr contains \(FATAL: Not authorised\|The requested 
> URL returned error: 403\)"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.writers.* alice"
>     Running step "WHEN alice applies add-a-FOO.patch in testrepo"
>     Running step "WHEN alice, using main, pushes testrepo to testrepo.git"
>     Running step "WHEN server-side testrepo reads git object HEAD"
>     Running step "THEN stdout contains Apply add-a-FOO.patch content change"
>     Running step "WHEN testinstance adminkey runs config testrepo del 
> project.readers.i_1"
>     Running step "WHEN alice, using main, clones testrepo as testrepo2"
>     Running step "THEN alice has a clone of testrepo2"
>     Running step "FINALLY the instance is torn down"
> Scenario test suite PASS, with 69 scenarios (826 total steps), in 51.4 seconds
> Running full yarns in 'http' mode
> Parsing scenario file testing/library.yarn
> Parsing scenario file testing/01-basics.yarn
> Parsing scenario file testing/01-hooks.yarn
> Parsing scenario file testing/02-commands-as.yarn
> Parsing scenario file testing/02-commands-config.yarn
> Parsing scenario file testing/02-commands-copy.yarn
> Parsing scenario file testing/02-commands-count-objects.yarn
> Parsing scenario file testing/02-commands-create.yarn
> Parsing scenario file testing/02-commands-destroy.yarn
> Parsing scenario file testing/02-commands-fsck.yarn
> Parsing scenario file testing/02-commands-gc.yarn
> Parsing scenario file testing/02-commands-graveyard.yarn
> Parsing scenario file testing/02-commands-git-upload-archive.yarn
> Parsing scenario file testing/02-commands-group.yarn
> Parsing scenario file testing/02-commands-help.yarn
> Parsing scenario file testing/02-commands-keyring.yarn
> Parsing scenario file testing/02-commands-ls.yarn
> Parsing scenario file testing/02-commands-rename.yarn
> Parsing scenario file testing/02-commands-rsync.yarn
> Parsing scenario file testing/02-commands-sshkey.yarn
> Parsing scenario file testing/02-commands-user.yarn
> Parsing scenario file testing/02-commands-whoami.yarn
> Parsing scenario file testing/03-cgit-support.yarn
> Parsing scenario file testing/03-shallow-push.yarn
> Parsing scenario file testing/03-treedelta-rules.yarn
> Parsing scenario file testing/03-force-pushing.yarn
> Parsing scenario file testing/03-dangling-HEAD.yarn
> Parsing scenario file testing/03-config-user-whitelist.yarn
> No shell libraries defined
> Found 69 scenarios
> Running scenario Verification of basic behaviour
>     DATADIR is /tmp/tmpe4nxzbow/Verification_of_basic_behaviour/datadir
>     HOME for tests is 
> /tmp/tmpe4nxzbow/Verification_of_basic_behaviour/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance, using adminkey, clones gitano-admin as 
> gitano-admin"
>     Running step "THEN testinstance has a clone of gitano-admin"
> ERROR: In scenario "Verification of basic behaviour"
> step "THEN testinstance has a clone of gitano-admin" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool cloneexists testinstance 
> gitano-admin
>     
> chdir(/tmp/tmpe4nxzbow/Verification_of_basic_behaviour/datadir/user-home-testinstance/gitano-admin):
>  chdir: No such file or directory
>     exit:1
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario whoami shows the gitano-admin group
>     DATADIR is /tmp/tmp1iet6oso/whoami_shows_the_gitano-admin_group/datadir
>     HOME for tests is 
> /tmp/tmp1iet6oso/whoami_shows_the_gitano-admin_group/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs whoami"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout does not contain gitano-admin"
>     Running step "FINALLY the instance is torn down"
> Running scenario ls will not show repositories you have no access to
>     DATADIR is 
> /tmp/tmp9n942brj/ls_will_not_show_repositories_you_have_no_access_to/datadir
>     HOME for tests is 
> /tmp/tmp9n942brj/ls_will_not_show_repositories_you_have_no_access_to/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout does not contain gitano-admin"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains RW \ gitano-admin"
>     Running step "FINALLY the instance is torn down"
> Running scenario delegated repository creation works
>     DATADIR is /tmp/tmphu33i2tg/delegated_repository_creation_works/datadir
>     HOME for tests is 
> /tmp/tmphu33i2tg/delegated_repository_creation_works/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs create somerepo alice"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout contains RW \ somerepo"
>     Running step "WHEN testinstance adminkey runs create anotherrepo"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains RW \ anotherrepo"
>     Running step "WHEN alice main runs ls"
>     Running step "THEN stdout does not contain anotherrepo"
>     Running step "FINALLY the instance is torn down"
> Running scenario handling empty commands
>     DATADIR is /tmp/tmp5xdh02_x/handling_empty_commands/datadir
>     HOME for tests is /tmp/tmp5xdh02_x/handling_empty_commands/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs"
>     Running step "THEN stderr contains FATAL: No command provided, cannot 
> continue"
>     Running step "FINALLY the instance is torn down"
> Running scenario using bypass warns loudly
>     DATADIR is /tmp/tmp68_rcsk2/using_bypass_warns_loudly/datadir
>     HOME for tests is /tmp/tmp68_rcsk2/using_bypass_warns_loudly/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance bypasskey runs ls"
>     Running step "THEN the output contains ALERT"
>     Running step "THEN the output contains DO NOT DO THIS"
>     Running step "THEN the output contains DANGER"
>     Running step "THEN the output contains VERY RISKY"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with post-receive-alert.patch"
> ERROR: In scenario "using bypass warns loudly"
> step "GIVEN testinstance using adminkey has patched gitano-admin with 
> post-receive-alert.patch" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clone testinstance adminkey 
> gitano-admin.git tmp-adminpatch
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario preauth_cmdline can be manipulated
>     DATADIR is /tmp/tmpoexpez6u/preauth_cmdline_can_be_manipulated/datadir
>     HOME for tests is 
> /tmp/tmpoexpez6u/preauth_cmdline_can_be_manipulated/datadir/HOME
>     Running step "ASSUMING gitano is being accessed over ssh"
> Running scenario supple isn't even considered when post_receive hooks "stop"
>     DATADIR is 
> /tmp/tmpn6ff7qze/supple_isn_t_even_considered_when_post_receive_hooks_stop_/datadir
>     HOME for tests is 
> /tmp/tmpn6ff7qze/supple_isn_t_even_considered_when_post_receive_hooks_stop_/datadir/HOME
>     Running step "ASSUMING gitano is being accessed over ssh"
> Running scenario Default case for as
>     DATADIR is /tmp/tmp222rzgrg/Default_case_for_as/datadir
>     HOME for tests is /tmp/tmp222rzgrg/Default_case_for_as/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs as other whoami"
>     Running step "THEN stdout contains other"
>     Running step "THEN stdout does not contain gitano-admin"
>     Running step "WHEN testinstance other, expecting failure, runs as other 
> whoami"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains Ruleset denied action"
>     Running step "THEN stderr contains exit:1"
>     Running step "WHEN testinstance adminkey, expecting failure, runs as 
> other as other whoami"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains Cannot use 'as' to run 'as'"
>     Running step "THEN stderr contains Validation of command line failed"
>     Running step "THEN stderr contains exit:1"
>     Running step "FINALLY the instance is torn down"
> Running scenario Ensuring 'as' does not leak user presence
>     DATADIR is 
> /tmp/tmpkxf666yr/Ensuring_as_does_not_leak_user_presence/datadir
>     HOME for tests is 
> /tmp/tmpkxf666yr/Ensuring_as_does_not_leak_user_presence/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs as other whoami"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance other, expecting failure, runs as badger 
> sshkey list"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr does not contain badger"
>     Running step "WHEN testinstance adminkey, expecting failure, runs as 
> badger whoami"
>     Running step "THEN stderr contains badger"
>     Running step "THEN stderr contains does not exist"
>     Running step "THEN stderr contains exit:1"
>     Running step "THEN stdout is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Ensuring 'as' does not thwart auditability
>     DATADIR is 
> /tmp/tmpx8_t5_iq/Ensuring_as_does_not_thwart_auditability/datadir
>     HOME for tests is 
> /tmp/tmpx8_t5_iq/Ensuring_as_does_not_thwart_auditability/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "GIVEN testinstance has keys called sneakybackdoor"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance uses their ssh public key called 
> sneakybackdoor as stdin"
>     Running step "WHEN testinstance adminkey runs as other sshkey add 
> sneakybackdoor"
>     Running step "WHEN server-side gitano-admin reads git object 
> HEAD^{commit}"
>     Running step "THEN stdout contains Added sneakybackdoor for other"
>     Running step "THEN stdout contains committer Administrator"
>     Running step "FINALLY the instance is torn down"
> Running scenario Ensuring 'as' replaces keytag during '_prep()'
>     DATADIR is 
> /tmp/tmpkv1sdgfb/Ensuring_as_replaces_keytag_during_prep_/datadir
>     HOME for tests is 
> /tmp/tmpkv1sdgfb/Ensuring_as_replaces_keytag_during_prep_/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "GIVEN testinstance has keys called spare"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs as other whoami"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance uses their ssh public key called spare as 
> stdin"
>     Running step "WHEN testinstance other runs sshkey add adminkey"
>     Running step "WHEN testinstance adminkey runs as other sshkey del 
> adminkey"
>     Running step "THEN the output contains SSH authorised key file updated"
> Running scenario Viewing initial `config` for a repo
>     DATADIR is /tmp/tmpec7verd_/Viewing_initial_config_for_a_repo/datadir
>     HOME for tests is 
> /tmp/tmpec7verd_/Viewing_initial_config_for_a_repo/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains project.owner: admin"
>     Running step "THEN stdout contains project.head: refs/heads/master"
>     Running step "FINALLY the instance is torn down"
> Running scenario Configuration changes stick
>     DATADIR is /tmp/tmpksw1kqkm/Configuration_changes_stick/datadir
>     HOME for tests is 
> /tmp/tmpksw1kqkm/Configuration_changes_stick/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.head refs/heads/trunk"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains project.head: refs/heads/trunk"
>     Running step "WHEN testinstance adminkey, expecting failure, runs config 
> testrepo set project.owner alice"
>     Running step "THEN stderr contains Unknown user: alice"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.owner alice"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stdout contains project.owner: alice"
>     Running step "FINALLY the instance is torn down"
> Running scenario Changes to `HEAD` and description hit the filesystem
>     DATADIR is 
> /tmp/tmpzcz07d2y/Changes_to_HEAD_and_description_hit_the_filesystem/datadir
>     HOME for tests is 
> /tmp/tmpzcz07d2y/Changes_to_HEAD_and_description_hit_the_filesystem/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.head refs/heads/trunk"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.description foobar"
>     Running step "THEN server-side testrepo.git file description contains 
> foobar"
>     Running step "THEN server-side testrepo.git file HEAD contains 
> refs/heads/trunk"
>     Running step "FINALLY the instance is torn down"
> Running scenario Manipulating list values is possible
>     DATADIR is /tmp/tmppi27hhsz/Manipulating_list_values_is_possible/datadir
>     HOME for tests is 
> /tmp/tmppi27hhsz/Manipulating_list_values_is_possible/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo set foo.* 
> hello"
>     Running step "WHEN testinstance adminkey runs config testrepo set foo.* 
> world"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains foo.i_1: hello"
>     Running step "THEN stdout contains foo.i_2: world"
>     Running step "WHEN testinstance adminkey runs config testrepo rm foo.i_1"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout contains foo.i_1: world"
>     Running step "WHEN testinstance adminkey runs config testrepo rm foo.i_1"
>     Running step "WHEN testinstance adminkey runs config testrepo show"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout does not contain foo.i_"
>     Running step "FINALLY the instance is torn down"
> Running scenario Showing non-existant configuration values
>     DATADIR is 
> /tmp/tmpxhrwxntd/Showing_non-existant_configuration_values/datadir
>     HOME for tests is 
> /tmp/tmpxhrwxntd/Showing_non-existant_configuration_values/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs config 
> gitano-admin show banana"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains banana"
> Running scenario server-side clone
>     DATADIR is /tmp/tmp0l3kbjo4/server-side_clone/datadir
>     HOME for tests is /tmp/tmp0l3kbjo4/server-side_clone/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs copy gitano-admin 
> public/testrepo"
>     Running step "THEN server-side public/testrepo has identical refs to 
> gitano-admin"
>     Running step "THEN server-side public/testrepo has no missing objects"
>     Running step "FINALLY the instance is torn down"
> Running scenario server-side clone failure modes
>     DATADIR is /tmp/tmplke7qk0f/server-side_clone_failure_modes/datadir
>     HOME for tests is 
> /tmp/tmplke7qk0f/server-side_clone_failure_modes/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
> ERROR: In scenario "server-side clone failure modes"
> step "GIVEN testinstance using adminkey has patched gitano-admin with 
> personal-repo-create.patch" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clone testinstance adminkey 
> gitano-admin.git tmp-adminpatch
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario counting objects
>     DATADIR is /tmp/tmpgb_xciz0/counting_objects/datadir
>     HOME for tests is /tmp/tmpgb_xciz0/counting_objects/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main, expecting failure, runs count-objects 
> gitano-admin"
>     Running step "THEN stderr contains CRIT: Ruleset denied action."
>     Running step "WHEN testinstance adminkey runs count-objects gitano-admin"
>     Running step "THEN stdout contains objects"
>     Running step "THEN stdout contains bytes"
>     Running step "FINALLY the instance is torn down"
> Running scenario user-created repositories
>     DATADIR is /tmp/tmp1suizr_e/user-created_repositories/datadir
>     HOME for tests is /tmp/tmp1suizr_e/user-created_repositories/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
> ERROR: In scenario "user-created repositories"
> step "GIVEN testinstance using adminkey has patched gitano-admin with 
> personal-repo-create.patch" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clone testinstance adminkey 
> gitano-admin.git tmp-adminpatch
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario created repositories have server info
>     DATADIR is /tmp/tmpiwdiw4mh/created_repositories_have_server_info/datadir
>     HOME for tests is 
> /tmp/tmpiwdiw4mh/created_repositories_have_server_info/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create foobar"
>     Running step "THEN server-side foobar.git file objects/info/packs exists"
>     Running step "THEN server-side foobar.git file info/refs exists"
>     Running step "FINALLY the instance is torn down"
> Running scenario repository destruction failure modes
>     DATADIR is /tmp/tmpj45f_wlt/repository_destruction_failure_modes/datadir
>     HOME for tests is 
> /tmp/tmpj45f_wlt/repository_destruction_failure_modes/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
> ERROR: In scenario "repository destruction failure modes"
> step "GIVEN testinstance using adminkey has patched gitano-admin with 
> personal-repo-create.patch" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clone testinstance adminkey 
> gitano-admin.git tmp-adminpatch
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario repository destruction
>     DATADIR is /tmp/tmp0mi55vd8/repository_destruction/datadir
>     HOME for tests is /tmp/tmp0mi55vd8/repository_destruction/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
> ERROR: In scenario "repository destruction"
> step "GIVEN testinstance using adminkey has patched gitano-admin with 
> personal-repo-create.patch" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clone testinstance adminkey 
> gitano-admin.git tmp-adminpatch
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario Simple `fsck` cases
>     DATADIR is /tmp/tmpzo1s815q/Simple_fsck_cases/datadir
>     HOME for tests is /tmp/tmpzo1s815q/Simple_fsck_cases/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs fsck gitano-admin"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey, expecting failure, runs fsck 
> somethingelse"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains repository does not exist"
>     Running step "FINALLY the instance is torn down"
> Running scenario lowly accolyte fails to fsck
>     DATADIR is /tmp/tmpbbqw16z1/lowly_accolyte_fails_to_fsck/datadir
>     HOME for tests is 
> /tmp/tmpbbqw16z1/lowly_accolyte_fails_to_fsck/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance other, expecting failure, runs fsck 
> gitano-admin"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains Ruleset denied action"
>     Running step "FINALLY the instance is torn down"
> Running scenario passing arguments to `fsck`
>     DATADIR is /tmp/tmp5t01ygp3/passing_arguments_to_fsck_/datadir
>     HOME for tests is /tmp/tmp5t01ygp3/passing_arguments_to_fsck_/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs fsck 
> gitano-admin --bad-option"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains error: unknown option"
>     Running step "THEN stderr contains usage: git fsck"
>     Running step "THEN stderr contains Unable to continue"
>     Running step "FINALLY the instance is torn down"
> Running scenario Simple case `gc` usage
>     DATADIR is /tmp/tmpajz58loe/Simple_case_gc_usage/datadir
>     HOME for tests is /tmp/tmpajz58loe/Simple_case_gc_usage/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs gc gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "THEN stdout is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Simple failure case `gc` usage
>     DATADIR is /tmp/tmpyhvzq5i1/Simple_failure_case_gc_usage/datadir
>     HOME for tests is 
> /tmp/tmpyhvzq5i1/Simple_failure_case_gc_usage/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs gc 
> something"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains repository does not exist"
>     Running step "FINALLY the instance is torn down"
> Running scenario Write access checks for `gc` usage
>     DATADIR is /tmp/tmph0ykl20r/Write_access_checks_for_gc_usage/datadir
>     HOME for tests is 
> /tmp/tmph0ykl20r/Write_access_checks_for_gc_usage/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance other, expecting failure, runs gc 
> testrepo"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains Ruleset denied action"
>     Running step "FINALLY the instance is torn down"
> Running scenario Passing arguments through to `git gc`
>     DATADIR is /tmp/tmpna66zekt/Passing_arguments_through_to_git_gc_/datadir
>     HOME for tests is 
> /tmp/tmpna66zekt/Passing_arguments_through_to_git_gc_/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs gc 
> gitano-admin --not-valid"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr contains error: unknown option"
>     Running step "THEN stderr contains usage: git gc"
>     Running step "THEN stderr contains Unable to continue"
>     Running step "FINALLY the instance is torn down"
> Running scenario graveyard
>     DATADIR is /tmp/tmppbxb0m50/graveyard/datadir
>     HOME for tests is /tmp/tmppbxb0m50/graveyard/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
> ERROR: In scenario "graveyard"
> step "GIVEN testinstance using adminkey has patched gitano-admin with 
> personal-repo-create.patch" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clone testinstance adminkey 
> gitano-admin.git tmp-adminpatch
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario Performing git-archive operations
>     DATADIR is /tmp/tmpr9lukgni/Performing_git-archive_operations/datadir
>     HOME for tests is 
> /tmp/tmpr9lukgni/Performing_git-archive_operations/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey uses git archive to extract the 
> tree of gitano-admin HEAD to test"
>     Running step "THEN test/site.conf contains site_name "Gitano Test 
> Instance""
>     Running step "FINALLY the instance is torn down"
> Running scenario basic group operation
>     DATADIR is /tmp/tmpcibu8u5h/basic_group_operation/datadir
>     HOME for tests is /tmp/tmpcibu8u5h/basic_group_operation/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs group list"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "WHEN testinstance adminkey runs group add newgroup simple 
> description"
>     Running step "WHEN testinstance adminkey runs group list"
>     Running step "THEN stdout contains newgroup"
>     Running step "THEN stdout contains simple description"
>     Running step "WHEN testinstance adminkey runs group del newgroup --force"
>     Running step "WHEN testinstance adminkey runs group list"
>     Running step "THEN stdout does not contain newgroup"
>     Running step "FINALLY the instance is torn down"
> Running scenario group description
>     DATADIR is /tmp/tmpsvwhynwm/group_description/datadir
>     HOME for tests is /tmp/tmpsvwhynwm/group_description/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout contains gitano-admin:Gitano\ Instance\ 
> Administrators"
>     Running step "THEN stdout contains =>\ admin"
>     Running step "WHEN testinstance adminkey runs group description 
> gitano-admin Jeffrey"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout contains gitano-admin:Jeffrey"
>     Running step "FINALLY the instance is torn down"
> Running scenario group renaming
>     DATADIR is /tmp/tmp0rvaqo2n/group_renaming/datadir
>     HOME for tests is /tmp/tmp0rvaqo2n/group_renaming/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs group add foo bar"
>     Running step "WHEN testinstance adminkey runs group rename foo b.az 
> --force"
>     Running step "WHEN testinstance adminkey runs group list"
>     Running step "THEN stdout does not contain foo:bar"
>     Running step "THEN stdout contains b.az:bar"
>     Running step "FINALLY the instance is torn down"
> Running scenario group membership
>     DATADIR is /tmp/tmpsp167xo2/group_membership/datadir
>     HOME for tests is /tmp/tmpsp167xo2/group_membership/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs group add foo bar"
>     Running step "WHEN testinstance adminkey runs group adduser foo alice"
>     Running step "WHEN testinstance adminkey runs group show foo"
>     Running step "THEN stdout contains =>\ alice"
>     Running step "WHEN testinstance adminkey runs group deluser foo alice 
> --force"
>     Running step "WHEN testinstance adminkey runs group show foo"
>     Running step "THEN stdout does not contain alice"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout does not contain foo"
>     Running step "WHEN testinstance adminkey runs group addgroup gitano-admin 
> foo"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout contains \[\]\ foo"
>     Running step "WHEN testinstance adminkey runs group delgroup gitano-admin 
> foo --force"
>     Running step "WHEN testinstance adminkey runs group show gitano-admin"
>     Running step "THEN stdout does not contain foo"
>     Running step "FINALLY the instance is torn down"
> Running scenario group and user rename continuity
>     DATADIR is /tmp/tmpfxgadthr/group_and_user_rename_continuity/datadir
>     HOME for tests is 
> /tmp/tmpfxgadthr/group_and_user_rename_continuity/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs group add foo foodesc"
>     Running step "WHEN testinstance adminkey runs group add bar bardesc"
>     Running step "WHEN testinstance adminkey runs group adduser foo alice"
>     Running step "WHEN testinstance adminkey runs group addgroup bar foo"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout contains foodesc"
>     Running step "THEN stdout contains bardesc"
>     Running step "THEN stdout contains \(via foo\)"
>     Running step "WHEN testinstance adminkey runs user rename alice betty 
> --force"
>     Running step "WHEN testinstance adminkey runs group show foo"
>     Running step "THEN stdout does not contain alice"
>     Running step "THEN stdout contains betty"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout contains foodesc"
>     Running step "THEN stdout contains bardesc"
>     Running step "THEN stdout contains \(via foo\)"
>     Running step "WHEN testinstance adminkey runs group rename foo baz 
> --force"
>     Running step "WHEN testinstance adminkey runs group rename bar meta 
> --force"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout contains foodesc"
>     Running step "THEN stdout contains bardesc"
>     Running step "THEN stdout contains \(via baz\)"
>     Running step "FINALLY the instance is torn down"
> Running scenario group add with slashes causes error
>     DATADIR is /tmp/tmp9fzeslky/group_add_with_slashes_causes_error/datadir
>     HOME for tests is 
> /tmp/tmp9fzeslky/group_add_with_slashes_causes_error/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs group 
> add foo/bar bananas"
>     Running step "THEN stderr contains group name .foo/bar. not valid"
>     Running step "FINALLY the instance is torn down"
> Running scenario help is given
>     DATADIR is /tmp/tmpab2ufe35/help_is_given/datadir
>     HOME for tests is /tmp/tmpab2ufe35/help_is_given/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs version"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs version machine"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help admin"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help all"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help help"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help as"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help config"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help copy"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help count-objects"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help create"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help destroy"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help fsck"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help gc"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help git-receive-pack"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help git-upload-pack"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help graveyard"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help group"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help keyring"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help ls"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help passwd"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help rename"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help sshkey"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help user"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help whoami"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help rsync"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help demo"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help git-upload-archive"
>     Running step "THEN the output is not empty"
>     Running step "WHEN testinstance adminkey runs help git-annex-shell"
>     Running step "THEN the output is not empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Verify empty keyring set
>     DATADIR is /tmp/tmpqeiw9jpb/Verify_empty_keyring_set/datadir
>     HOME for tests is /tmp/tmpqeiw9jpb/Verify_empty_keyring_set/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs keyring list"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Verify keyrings come and go
>     DATADIR is /tmp/tmp9a3jqv95/Verify_keyrings_come_and_go/datadir
>     HOME for tests is 
> /tmp/tmp9a3jqv95/Verify_keyrings_come_and_go/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs keyring create jeff"
>     Running step "WHEN testinstance adminkey runs keyring list"
>     Running step "THEN stdout contains jeff"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey runs keyring destroy jeff 
> --force"
>     Running step "WHEN testinstance adminkey runs keyring list"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Keyrings can gain and lose keys
>     DATADIR is /tmp/tmpoefhlwk0/Keyrings_can_gain_and_lose_keys/datadir
>     HOME for tests is 
> /tmp/tmpoefhlwk0/Keyrings_can_gain_and_lose_keys/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs keyring create jeff"
>     Running step "WHEN testinstance adminkey runs keyring list"
>     Running step "THEN stdout contains jeff"
>     Running step "THEN stderr is empty"
>     Running step "GIVEN gpg key 32CD66C9C4E07D2D2A48B9D8DAEE518EFD8A5932 on 
> stdin"
>     Running step "WHEN testinstance adminkey runs keyring import jeff"
>     Running step "WHEN testinstance adminkey runs keyring show jeff"
>     Running step "THEN stdout contains 
> 32CD66C9C4E07D2D2A48B9D8DAEE518EFD8A5932"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey runs keyring delkey jeff 
> 32CD66C9C4E07D2D2A48B9D8DAEE518EFD8A5932 --force"
>     Running step "WHEN testinstance adminkey runs keyring show jeff"
>     Running step "THEN stdout is empty"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Basic operation of ls
>     DATADIR is /tmp/tmpe947bxc2/Basic_operation_of_ls/datadir
>     HOME for tests is /tmp/tmpe947bxc2/Basic_operation_of_ls/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains RW \ gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario No access means no show in ls
>     DATADIR is /tmp/tmpqtjbi37y/No_access_means_no_show_in_ls/datadir
>     HOME for tests is 
> /tmp/tmpqtjbi37y/No_access_means_no_show_in_ls/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called other"
>     Running step "WHEN testinstance, using adminkey, adds user other, using 
> testinstance other"
>     Running step "WHEN testinstance adminkey runs create stoat"
>     Running step "WHEN testinstance other runs ls"
>     Running step "THEN stdout does not contain stoat"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario Archived repositories do not show in ls
>     DATADIR is 
> /tmp/tmpuo7o9s6j/Archived_repositories_do_not_show_in_ls/datadir
>     HOME for tests is 
> /tmp/tmpuo7o9s6j/Archived_repositories_do_not_show_in_ls/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey runs config gitano-admin set 
> project.archived true"
>     Running step "WHEN testinstance adminkey runs ls"
>     Running step "THEN stdout does not contain gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "WHEN testinstance adminkey runs ls --all"
>     Running step "THEN stdout contains RWA gitano-admin"
>     Running step "THEN stderr is empty"
>     Running step "FINALLY the instance is torn down"
> Running scenario rename repository
>     DATADIR is /tmp/tmp5_n9l7ve/rename_repository/datadir
>     HOME for tests is /tmp/tmp5_n9l7ve/rename_repository/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs copy gitano-admin 
> public/testrepo"
>     Running step "THEN server-side public/testrepo has identical refs to 
> gitano-admin"
>     Running step "WHEN testinstance adminkey runs rename public/testrepo 
> public/testrepo2"
>     Running step "THEN server-side public/testrepo2 has identical refs to 
> gitano-admin"
>     Running step "FINALLY the instance is torn down"
> Running scenario rename permissions
>     DATADIR is /tmp/tmpo61iwfgo/rename_permissions/datadir
>     HOME for tests is /tmp/tmpo61iwfgo/rename_permissions/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with personal-repo-create.patch"
> ERROR: In scenario "rename permissions"
> step "GIVEN testinstance using adminkey has patched gitano-admin with 
> personal-repo-create.patch" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clone testinstance adminkey 
> gitano-admin.git tmp-adminpatch
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario rsync
>     DATADIR is /tmp/tmp3tlf6rwl/rsync/datadir
>     HOME for tests is /tmp/tmp3tlf6rwl/rsync/datadir/HOME
>     Running step "ASSUMING rsync is possible"
> Running scenario ssh key basics
>     DATADIR is /tmp/tmp5521_qi5/ssh_key_basics/datadir
>     HOME for tests is /tmp/tmp5521_qi5/ssh_key_basics/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs whoami"
>     Running step "THEN stdout contains adminkey"
>     Running step "WHEN testinstance adminkey runs sshkey list"
>     Running step "THEN the output contains adminkey"
>     Running step "GIVEN testinstance has keys called newkey"
>     Running step "GIVEN testinstance has keys called edkey of type ed25519"
>     Running step "WHEN testinstance uses their ssh public key called newkey 
> as stdin"
>     Running step "WHEN testinstance adminkey runs sshkey add newkey"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "WHEN testinstance uses their ssh public key called edkey as 
> stdin"
>     Running step "WHEN testinstance adminkey runs sshkey add edkey"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "WHEN testinstance adminkey runs sshkey list"
>     Running step "THEN the output contains newkey"
>     Running step "THEN the output contains edkey"
>     Running step "WHEN testinstance newkey runs sshkey del adminkey"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "WHEN testinstance newkey runs whoami"
>     Running step "THEN the output contains newkey"
>     Running step "THEN the output does not contain adminkey"
>     Running step "FINALLY the instance is torn down"
> Running scenario gitano key awareness
>     DATADIR is /tmp/tmpr3x37b74/gitano_key_awareness/datadir
>     HOME for tests is /tmp/tmpr3x37b74/gitano_key_awareness/datadir/HOME
>     Running step "ASSUMING gitano is being accessed over ssh"
> Running scenario sshkey underscores and dashes
>     DATADIR is /tmp/tmpgoin6ih6/sshkey_underscores_and_dashes/datadir
>     HOME for tests is 
> /tmp/tmpgoin6ih6/sshkey_underscores_and_dashes/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance has keys called testkey"
>     Running step "WHEN testinstance uses their ssh public key called testkey 
> as stdin"
>     Running step "WHEN testinstance adminkey runs sshkey add test-key_"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "WHEN testinstance adminkey runs sshkey list"
>     Running step "THEN the output contains test-key_"
>     Running step "FINALLY the instance is torn down"
> Running scenario user creation
>     DATADIR is /tmp/tmp2r17rthi/user_creation/datadir
>     HOME for tests is /tmp/tmp2r17rthi/user_creation/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main, expecting failure, runs user add bob 
> bob@testinstance Bob Bobertson"
>     Running step "THEN stderr contains CRIT: You may not perform site 
> administration"
>     Running step "WHEN testinstance adminkey runs user add bob 
> bob@testinstance Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^bob"
>     Running step "FINALLY the instance is torn down"
> Running scenario user manipulation
>     DATADIR is /tmp/tmpwk2fjmn0/user_manipulation/datadir
>     HOME for tests is /tmp/tmpwk2fjmn0/user_manipulation/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs user add bob 
> bob@testinstance Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^bob.*bob@testinstance"
>     Running step "THEN stdout contains ^bob.*Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user email bob 
> [email protected]"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^bob.*[email protected]"
>     Running step "WHEN testinstance adminkey runs user name bob Robert 
> Robertson"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^bob.*Robert Robertson"
>     Running step "FINALLY the instance is torn down"
> Running scenario rename user
>     DATADIR is /tmp/tmpqdy36rc6/rename_user/datadir
>     HOME for tests is /tmp/tmpqdy36rc6/rename_user/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs user add bob 
> bob@testinstance Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user rename bob rob.ert 
> --force"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "THEN the output contains Committed: Rename user bob to 
> rob.ert"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^rob.ert"
>     Running step "THEN stdout does not contain ^bob"
>     Running step "WHEN testinstance adminkey runs create testrepo rob.ert"
>     Running step "WHEN testinstance adminkey runs config testrepo show 
> project.owner"
>     Running step "THEN stdout contains rob.ert"
>     Running step "WHEN testinstance adminkey runs user rename rob.ert b.ob 
> --force"
>     Running step "WHEN testinstance adminkey runs config testrepo show 
> project.owner"
>     Running step "THEN stdout contains b.ob"
>     Running step "FINALLY the instance is torn down"
> Running scenario rename self
>     DATADIR is /tmp/tmpecv668tt/rename_self/datadir
>     HOME for tests is /tmp/tmpecv668tt/rename_self/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user bob, 
> with a key called bobskey"
>     Running step "WHEN testinstance adminkey runs group adduser gitano-admin 
> bob"
>     Running step "WHEN bob bobskey runs user rename bob robert --force"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "THEN the output contains Committed: Rename user bob to 
> robert"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout contains ^robert"
>     Running step "THEN stdout does not contain ^bob"
>     Running step "FINALLY the instance is torn down"
> Running scenario delete user
>     DATADIR is /tmp/tmp7p6eaztd/delete_user/datadir
>     HOME for tests is /tmp/tmp7p6eaztd/delete_user/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs user add robert 
> bob@testinstance Bob Bobertson"
>     Running step "WHEN testinstance adminkey runs user del robert --force"
>     Running step "THEN the output contains SSH authorised key file updated"
>     Running step "THEN the output contains Committed: Delete user robert"
>     Running step "WHEN testinstance adminkey runs user list"
>     Running step "THEN stdout does not contain ^robert"
>     Running step "FINALLY the instance is torn down"
> Running scenario user add with slashes causes error
>     DATADIR is /tmp/tmp2fvg0a4i/user_add_with_slashes_causes_error/datadir
>     HOME for tests is 
> /tmp/tmp2fvg0a4i/user_add_with_slashes_causes_error/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey, expecting failure, runs user 
> add foo/bar foo@bar bananas"
>     Running step "THEN stderr contains user name .foo/bar. not valid"
>     Running step "FINALLY the instance is torn down"
> Running scenario user introspection
>     DATADIR is /tmp/tmpvnp5zbfq/user_introspection/datadir
>     HOME for tests is /tmp/tmpvnp5zbfq/user_introspection/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance, using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN alice main runs whoami"
>     Running step "THEN stdout contains User name: alice"
>     Running step "THEN stdout contains Real name: alice's real name"
>     Running step "THEN stdout contains Email address: alice@testinstance"
>     Running step "THEN stdout contains main"
>     Running step "WHEN testinstance adminkey runs whoami"
>     Running step "THEN stdout contains gitano-admin"
>     Running step "FINALLY the instance is torn down"
> Running scenario whoami marks ssh key
>     DATADIR is /tmp/tmphlpuxycx/whoami_marks_ssh_key/datadir
>     HOME for tests is /tmp/tmphlpuxycx/whoami_marks_ssh_key/datadir/HOME
>     Running step "ASSUMING gitano is being accessed over ssh"
> Running scenario Gitano configures CGit to hide archived repositories
>     DATADIR is 
> /tmp/tmp7vz3hpzj/Gitano_configures_CGit_to_hide_archived_repositories/datadir
>     HOME for tests is 
> /tmp/tmp7vz3hpzj/Gitano_configures_CGit_to_hide_archived_repositories/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs config gitano-admin set 
> project.archived true"
>     Running step "THEN server-side gitano-admin.git file cgitrc contains 
> hide=1"
>     Running step "FINALLY the instance is torn down"
> Running scenario Pushing shallow history
>     DATADIR is /tmp/tmp81zaofvh/Pushing_shallow_history/datadir
>     HOME for tests is /tmp/tmp81zaofvh/Pushing_shallow_history/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance, using adminkey, clones gitano-admin.git 
> as local-shallow with depth 1"
>     Running step "WHEN testinstance adminkey runs create remote-shallow.git"
>     Running step "WHEN testinstance adminkey runs config remote-shallow.git 
> set git.receive.shallowUpdate true"
>     Running step "WHEN testinstance, using adminkey, pushes local-shallow to 
> remote-shallow.git"
>     Running step "THEN server-side remote-shallow.git file shallow exists"
> ERROR: In scenario "Pushing shallow history"
> step "THEN server-side remote-shallow.git file shallow exists" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool serverlocation 
> remote-shallow.git
>     + cd 
> /tmp/tmp81zaofvh/Pushing_shallow_history/datadir/user-home-testinstance/repos/remote-shallow.git
>     + test -e shallow
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario may not create files called FOO
>     DATADIR is /tmp/tmpw81eorh5/may_not_create_files_called_FOO/datadir
>     HOME for tests is 
> /tmp/tmpw81eorh5/may_not_create_files_called_FOO/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey has patched gitano-admin 
> with no-create-FOO.patch"
> ERROR: In scenario "may not create files called FOO"
> step "GIVEN testinstance using adminkey has patched gitano-admin with 
> no-create-FOO.patch" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clone testinstance adminkey 
> gitano-admin.git tmp-adminpatch
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario source must have a FOO
>     DATADIR is /tmp/tmp8jebnul8/source_must_have_a_FOO/datadir
>     HOME for tests is /tmp/tmp8jebnul8/source_must_have_a_FOO/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
> ERROR: In scenario "source must have a FOO"
> step "THEN alice testrepo has no file called FOO" failed,
> with exit code 2:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + set -x
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clonelocation alice testrepo
>     + cd 
> /tmp/tmp8jebnul8/source_must_have_a_FOO/datadir/user-home-alice/testrepo
>     /tmp/tmpk2op9wsc: 2: cd: can't cd to 
> /tmp/tmp8jebnul8/source_must_have_a_FOO/datadir/user-home-alice/testrepo
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario any change must affect FOO
>     DATADIR is /tmp/tmp4qlq7g54/any_change_must_affect_FOO/datadir
>     HOME for tests is /tmp/tmp4qlq7g54/any_change_must_affect_FOO/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
> ERROR: In scenario "any change must affect FOO"
> step "THEN alice testrepo has no file called FOO" failed,
> with exit code 2:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + set -x
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clonelocation alice testrepo
>     + cd 
> /tmp/tmp4qlq7g54/any_change_must_affect_FOO/datadir/user-home-alice/testrepo
>     /tmp/tmpy74_sxqe: 2: cd: can't cd to 
> /tmp/tmp4qlq7g54/any_change_must_affect_FOO/datadir/user-home-alice/testrepo
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario any change must affect FOO with specificity
>     DATADIR is 
> /tmp/tmpvmains6f/any_change_must_affect_FOO_with_specificity/datadir
>     HOME for tests is 
> /tmp/tmpvmains6f/any_change_must_affect_FOO_with_specificity/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
> ERROR: In scenario "any change must affect FOO with specificity"
> step "THEN alice testrepo has no file called FOO" failed,
> with exit code 2:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + set -x
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clonelocation alice testrepo
>     + cd 
> /tmp/tmpvmains6f/any_change_must_affect_FOO_with_specificity/datadir/user-home-alice/testrepo
>     /tmp/tmpgr2bbcei: 2: cd: can't cd to 
> /tmp/tmpvmains6f/any_change_must_affect_FOO_with_specificity/datadir/user-home-alice/testrepo
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario alice cannot force-push by default
>     DATADIR is /tmp/tmpb0adlwp5/alice_cannot_force-push_by_default/datadir
>     HOME for tests is 
> /tmp/tmpb0adlwp5/alice_cannot_force-push_by_default/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN a unix user called alice"
>     Running step "GIVEN alice has keys called main"
>     Running step "WHEN testinstance, using adminkey, adds user alice, using 
> alice main"
>     Running step "WHEN testinstance adminkey runs create testrepo alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice testrepo has no file called FOO"
> ERROR: In scenario "alice cannot force-push by default"
> step "THEN alice testrepo has no file called FOO" failed,
> with exit code 2:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + set -x
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool clonelocation alice testrepo
>     + cd 
> /tmp/tmpb0adlwp5/alice_cannot_force-push_by_default/datadir/user-home-alice/testrepo
>     /tmp/tmp_h7x8ldn: 2: cd: can't cd to 
> /tmp/tmpb0adlwp5/alice_cannot_force-push_by_default/datadir/user-home-alice/testrepo
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario Pushes resulting in a dangling HEAD are warned about
>     DATADIR is 
> /tmp/tmpo6x5q5xb/Pushes_resulting_in_a_dangling_HEAD_are_warned_about/datadir
>     HOME for tests is 
> /tmp/tmpo6x5q5xb/Pushes_resulting_in_a_dangling_HEAD_are_warned_about/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.head refs/heads/trunk"
>     Running step "WHEN testinstance, using adminkey, clones testrepo as 
> testrepo"
>     Running step "WHEN testinstance applies add-a-FOO.patch in testrepo"
> ERROR: In scenario "Pushes resulting in a dangling HEAD are warned about"
> step "WHEN testinstance applies add-a-FOO.patch in testrepo" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + test applies = applies
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool rungit testinstance testrepo 
> apply --cached -
> 
>     Running step "FINALLY the instance is torn down"
> Running scenario Access controlled by configuration keys
>     DATADIR is 
> /tmp/tmpvcpau5fj/Access_controlled_by_configuration_keys/datadir
>     HOME for tests is 
> /tmp/tmpvcpau5fj/Access_controlled_by_configuration_keys/datadir/HOME
>     Running step "GIVEN a standard instance"
>     Running step "GIVEN testinstance using adminkey, adds a new user alice, 
> with a key called main"
>     Running step "WHEN testinstance adminkey runs create testrepo"
>     Running step "WHEN alice, using main, expecting failure, clones testrepo 
> as testrepo"
>     Running step "THEN stderr contains \(FATAL: Not authorised\|The requested 
> URL returned error: 403\)"
>     Running step "WHEN testinstance adminkey runs config testrepo set 
> project.readers.* alice"
>     Running step "WHEN alice, using main, clones testrepo as testrepo"
>     Running step "THEN alice has a clone of testrepo"
> ERROR: In scenario "Access controlled by configuration keys"
> step "THEN alice has a clone of testrepo" failed,
> with exit code 1:
> Standard output from shell command:
> 
> Standard error from shell command:
>     + /<<PKGBUILDDIR>>/testing/gitano-test-tool cloneexists alice testrepo
>     
> chdir(/tmp/tmpvcpau5fj/Access_controlled_by_configuration_keys/datadir/user-home-alice/testrepo):
>  chdir: No such file or directory
>     exit:1
> 
>     Running step "FINALLY the instance is torn down"
> Failed scenarios:
>     - Verification of basic behaviour
>     - using bypass warns loudly
>     - server-side clone failure modes
>     - user-created repositories
>     - repository destruction failure modes
>     - repository destruction
>     - graveyard
>     - rename permissions
>     - Pushing shallow history
>     - may not create files called FOO
>     - source must have a FOO
>     - any change must affect FOO
>     - any change must affect FOO with specificity
>     - alice cannot force-push by default
>     - Pushes resulting in a dangling HEAD are warned about
>     - Access controlled by configuration keys
> ERROR: Test suite FAILED in 16 scenarios
> make[1]: *** [Makefile:321: httptests] Error 1
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_test: error: make -j1 test returned exit code 2

The full build log is available from:
   http://qa-logs.debian.net/2020/11/25/gitano_1.2-1.1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

Reply via email to