# file : tests/ci/ci-dir.testscript
# license : MIT; see accompanying LICENSE file
.include data.testscript
: args
{
: none
:
$* 2>>~%EOE% != 0
%\[.+\] \[brep:error\] \[ref \] \[brep-ci-dir\]: usage: .+brep-ci-dir
%
EOE
: dir-not-exist
:
$* $~/dir 2>>~%EOE% != 0
%\[.+\] \[brep:error\] \[ref dir\] \[brep-ci-dir\]: '.+dir' does not exist or is not a directory%
EOE
: slash-stripped
:
: Test that the trailing slash is stripped from the data directory path.
:
$* $~/dir/ 2>>~%EOE% != 0
%\[.+\] \[brep:error\] \[ref dir\] \[brep-ci-dir\]: '.+dir' does not exist or is not a directory%
EOE
}
: success
:
{
test.arguments += $data_dir
: simulate
:
{
$clone_root_data;
echo 'simulate: success' >+$data_dir/request.manifest;
$* >>"EOO";
: 1
status: 200
message: CI request is queued
reference: $request_id
EOO
test -d $data_dir != 0
}
: for-real
:
{
$clone_root_data_clean;
$* >>"EOO"
: 1
status: 200
message: CI request is queued
reference: $request_id
EOO
}
}
: failure
:
{
test.arguments += $data_dir
: bad-simulate
:
{
$clone_root_data_clean;
echo 'simulate: fly' >+$data_dir/request.manifest;
$* >>"EOO"
: 1
status: 400
message: unrecognized simulation outcome 'fly'
reference: $request_id
EOO
}
: unable-fetch-repo
:
{
$clone_root_data_clean;
sed -i -e "s%^\(repository:\) .+\$%\\1 http://example.com/repo.git%" \
$data_dir/request.manifest;
$* >>~"%EOO%"
: 1
status: 422
%message: unable to fetch repository information .+%
%.*
reference: $request_id
EOO
}
}