t921*: test scalar behavior starting maintenance

A user recently reported issues with 'scalar register' and 'scalar
clone' in that they failed when the system had permissions locked down
so both 'crontab' and 'systemctl' commands failed when trying to enable
background maintenance.

This hard error is undesirable, but let's create tests that demonstrate
this behavior before modiying the behavior. We can use
GIT_TEST_MAINT_SCHEDULER to guarantee failure and check the exit code
and error message.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Derrick Stolee 2023-01-27 20:06:02 +00:00 committed by Junio C Hamano
parent 008217cb4a
commit eeea9ae165
2 changed files with 13 additions and 0 deletions

View File

@ -104,6 +104,13 @@ test_expect_success FSMONITOR_DAEMON 'scalar register starts fsmon daemon' '
test_cmp_config -C test/src true core.fsmonitor
'
test_expect_success 'scalar register fails when background maintenance fails' '
git init register-repo &&
GIT_TEST_MAINT_SCHEDULER="crontab:false,launchctl:false,schtasks:false" \
test_must_fail scalar register register-repo 2>err &&
grep "could not turn on maintenance" err
'
test_expect_success 'scalar unregister' '
git init vanish/src &&
scalar register vanish/src &&

View File

@ -174,4 +174,10 @@ test_expect_success 'progress without tty' '
cleanup_clone $enlistment
'
test_expect_success 'scalar clone fails when background maintenance fails' '
GIT_TEST_MAINT_SCHEDULER="crontab:false,launchctl:false,schtasks:false" \
test_must_fail scalar clone "file://$(pwd)/to-clone" maint-fail 2>err &&
grep "could not turn on maintenance" err
'
test_done