From c11b9b69bcf161658275876d2fd991cc5c103d64 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Tue, 4 Sep 2018 14:58:18 +0300 Subject: Rename .test/test{} to .testscript/testscript{} --- tests/ci/buildfile | 8 +-- tests/ci/ci-dir.test | 94 ----------------------------- tests/ci/ci-dir.testscript | 94 +++++++++++++++++++++++++++++ tests/ci/ci-load.test | 141 -------------------------------------------- tests/ci/ci-load.testscript | 141 ++++++++++++++++++++++++++++++++++++++++++++ tests/ci/data.test | 35 ----------- tests/ci/data.testscript | 35 +++++++++++ 7 files changed, 274 insertions(+), 274 deletions(-) delete mode 100644 tests/ci/ci-dir.test create mode 100644 tests/ci/ci-dir.testscript delete mode 100644 tests/ci/ci-load.test create mode 100644 tests/ci/ci-load.testscript delete mode 100644 tests/ci/data.test create mode 100644 tests/ci/data.testscript (limited to 'tests/ci') diff --git a/tests/ci/buildfile b/tests/ci/buildfile index 1e085e0..95a1d6b 100644 --- a/tests/ci/buildfile +++ b/tests/ci/buildfile @@ -3,7 +3,7 @@ # license : MIT; see accompanying LICENSE file define common: file -common{*}: extension = test +common{*}: extension = testscript dir = ../../brep/handler/ci/ @@ -11,8 +11,8 @@ include $dir commons = data -./: test{* -{$commons}} common{$commons} \ +./: testscript{* -{$commons}} common{$commons} \ $dir/exe{brep-ci-dir} $dir/exe{brep-ci-load} -test{ci-dir}@./: test = $out_base/$dir/brep-ci-dir -test{ci-load}@./: test = $out_base/$dir/brep-ci-load +testscript{ci-dir}@./: test = $out_base/$dir/brep-ci-dir +testscript{ci-load}@./: test = $out_base/$dir/brep-ci-load diff --git a/tests/ci/ci-dir.test b/tests/ci/ci-dir.test deleted file mode 100644 index 11de2f0..0000000 --- a/tests/ci/ci-dir.test +++ /dev/null @@ -1,94 +0,0 @@ -# file : tests/ci/ci-dir.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -.include data.test - -: 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 -} - -: 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 - } -} diff --git a/tests/ci/ci-dir.testscript b/tests/ci/ci-dir.testscript new file mode 100644 index 0000000..8388616 --- /dev/null +++ b/tests/ci/ci-dir.testscript @@ -0,0 +1,94 @@ +# file : tests/ci/ci-dir.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# 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 +} + +: 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 + } +} diff --git a/tests/ci/ci-load.test b/tests/ci/ci-load.test deleted file mode 100644 index c4a4c62..0000000 --- a/tests/ci/ci-load.test +++ /dev/null @@ -1,141 +0,0 @@ -# file : tests/ci/ci-load.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -.include data.test - -: args -{ - : none - : - $* 2>>~%EOE% != 0 - %\[.+\] \[brep:error\] \[ref \] \[brep-ci-load\]: usage: .+brep-ci-load \[--result-url \] \[\] % - EOE - - : no-dir - : - $* brep-load 2>>~%EOE% != 0 - %\[.+\] \[brep:error\] \[ref brep-load\] \[brep-ci-load\]: usage: .+brep-ci-load \[--result-url \] \[\] % - EOE - - : dir-not-exist - : - $* brep-load $~/dir 2>>~%EOE% != 0 - %\[.+\] \[brep:error\] \[ref dir\] \[brep-ci-load\]: '.+dir' does not exist or is not a directory% - EOE -} - -: success -: -{ - : simulate - : - { - $clone_root_data; - - echo 'simulate: success' >+$data_dir/request.manifest; - - $* ./brep-load $data_dir >>"EOO"; - : 1 - status: 200 - message: CI request is queued - reference: $request_id - EOO - - test -d $data_dir != 0 - } - - : for-real - : - { - # Create the loader script that validates the arguments passed and the - # files produced by the handler. - # - loader=$~/brep-load - - cat <<"EOI" >=$loader; - #!/usr/bin/env bash - if [ "\$#" != 5 -o \ - "\$1" != "--db-host=localhost" -o \ - "\$2" != "--db-port=8432" -o \ - "\$3" != "--force" -o \ - "\$4" != "--shallow" -o \ - "\$5" != "$data_dir/loadtab" -o \ - ! -f "$data_dir/cache/repositories.manifest" -o \ - ! -f "$data_dir/cache/packages.manifest" ]; then - exit 1 - fi - if ! diff "$data_dir/loadtab" - <<<"https://git.build2.org/hello/hello.git#master hello cache:cache"; then - exit 1 - fi - EOI - - chmod 755 $loader; - - $clone_root_data; - - $* $loader --db-host=localhost --db-port=8432 $data_dir >>"EOO" - : 1 - status: 200 - message: CI request is queued - reference: $request_id - EOO - - $clone_root_data; - - $* --result-url "http://example.com/" \ - $loader --db-host=localhost --db-port=8432 \ - $data_dir >>"EOO" - : 1 - status: 200 - message: CI request is queued: http://example.com - reference: $request_id - EOO - } -} - -: failure -: -{ - test.arguments += ./brep-load $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 - } - - : loader-not-exist - : - { - $clone_root_data_clean; - - $* 2>~'%.*brep-load.*%' != 0 - } -} diff --git a/tests/ci/ci-load.testscript b/tests/ci/ci-load.testscript new file mode 100644 index 0000000..de23b79 --- /dev/null +++ b/tests/ci/ci-load.testscript @@ -0,0 +1,141 @@ +# file : tests/ci/ci-load.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +.include data.testscript + +: args +{ + : none + : + $* 2>>~%EOE% != 0 + %\[.+\] \[brep:error\] \[ref \] \[brep-ci-load\]: usage: .+brep-ci-load \[--result-url \] \[\] % + EOE + + : no-dir + : + $* brep-load 2>>~%EOE% != 0 + %\[.+\] \[brep:error\] \[ref brep-load\] \[brep-ci-load\]: usage: .+brep-ci-load \[--result-url \] \[\] % + EOE + + : dir-not-exist + : + $* brep-load $~/dir 2>>~%EOE% != 0 + %\[.+\] \[brep:error\] \[ref dir\] \[brep-ci-load\]: '.+dir' does not exist or is not a directory% + EOE +} + +: success +: +{ + : simulate + : + { + $clone_root_data; + + echo 'simulate: success' >+$data_dir/request.manifest; + + $* ./brep-load $data_dir >>"EOO"; + : 1 + status: 200 + message: CI request is queued + reference: $request_id + EOO + + test -d $data_dir != 0 + } + + : for-real + : + { + # Create the loader script that validates the arguments passed and the + # files produced by the handler. + # + loader=$~/brep-load + + cat <<"EOI" >=$loader; + #!/usr/bin/env bash + if [ "\$#" != 5 -o \ + "\$1" != "--db-host=localhost" -o \ + "\$2" != "--db-port=8432" -o \ + "\$3" != "--force" -o \ + "\$4" != "--shallow" -o \ + "\$5" != "$data_dir/loadtab" -o \ + ! -f "$data_dir/cache/repositories.manifest" -o \ + ! -f "$data_dir/cache/packages.manifest" ]; then + exit 1 + fi + if ! diff "$data_dir/loadtab" - <<<"https://git.build2.org/hello/hello.git#master hello cache:cache"; then + exit 1 + fi + EOI + + chmod 755 $loader; + + $clone_root_data; + + $* $loader --db-host=localhost --db-port=8432 $data_dir >>"EOO" + : 1 + status: 200 + message: CI request is queued + reference: $request_id + EOO + + $clone_root_data; + + $* --result-url "http://example.com/" \ + $loader --db-host=localhost --db-port=8432 \ + $data_dir >>"EOO" + : 1 + status: 200 + message: CI request is queued: http://example.com + reference: $request_id + EOO + } +} + +: failure +: +{ + test.arguments += ./brep-load $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 + } + + : loader-not-exist + : + { + $clone_root_data_clean; + + $* 2>~'%.*brep-load.*%' != 0 + } +} diff --git a/tests/ci/data.test b/tests/ci/data.test deleted file mode 100644 index 19383b1..0000000 --- a/tests/ci/data.test +++ /dev/null @@ -1,35 +0,0 @@ -# file : tests/ci/data.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -# Pre-created CI request data directory that will be copied by subsequent -# tests and scope setup commands. The common approach will be that group -# scopes copy and modify the parent scope submission directory as required -# by the nested tests and scopes. Tests will also clone the parent scope -# submission data directory to optionally modify it, use and cleanup at the -# end. Note that configuration can not be shared between multiple submission -# handler processes. Also we need to make sure that submission data -# directories are not cloned while being used by submission handler scripts. -# -data_dir = $regex.replace($path_search('*/request.manifest', $src_base), \ - '(.*)/.*', \ - '\1') - -request_id = "$data_dir" - -# Copy the original CI request data directory to the root scope. -# -+cp -r $src_base/$data_dir ./ - -root_data_dir = $~/$data_dir - -# The most commonly used submission data directory cloning command that copies -# it from the parent scope working directory. -# -clone_data = cp --no-cleanup -r ../$data_dir ./ -clone_data_clean = cp --no-cleanup -r ../$data_dir ./ &$data_dir/*** - -# Clones the original submission data directory. -# -clone_root_data = cp --no-cleanup -r $root_data_dir ./ -clone_root_data_clean = cp --no-cleanup -r $root_data_dir ./ &$data_dir/*** diff --git a/tests/ci/data.testscript b/tests/ci/data.testscript new file mode 100644 index 0000000..711c7b1 --- /dev/null +++ b/tests/ci/data.testscript @@ -0,0 +1,35 @@ +# file : tests/ci/data.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Pre-created CI request data directory that will be copied by subsequent +# tests and scope setup commands. The common approach will be that group +# scopes copy and modify the parent scope submission directory as required +# by the nested tests and scopes. Tests will also clone the parent scope +# submission data directory to optionally modify it, use and cleanup at the +# end. Note that configuration can not be shared between multiple submission +# handler processes. Also we need to make sure that submission data +# directories are not cloned while being used by submission handler scripts. +# +data_dir = $regex.replace($path_search('*/request.manifest', $src_base), \ + '(.*)/.*', \ + '\1') + +request_id = "$data_dir" + +# Copy the original CI request data directory to the root scope. +# ++cp -r $src_base/$data_dir ./ + +root_data_dir = $~/$data_dir + +# The most commonly used submission data directory cloning command that copies +# it from the parent scope working directory. +# +clone_data = cp --no-cleanup -r ../$data_dir ./ +clone_data_clean = cp --no-cleanup -r ../$data_dir ./ &$data_dir/*** + +# Clones the original submission data directory. +# +clone_root_data = cp --no-cleanup -r $root_data_dir ./ +clone_root_data_clean = cp --no-cleanup -r $root_data_dir ./ &$data_dir/*** -- cgit v1.1