aboutsummaryrefslogtreecommitdiff
path: root/tests/test/script/runner/exit.test
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-09-03 16:37:32 +0200
committerKaren Arutyunov <karen@codesynthesis.com>2018-09-04 16:29:59 +0300
commit5007870b52aa549971824959a55ad3bb886f09e0 (patch)
treeb0ef7f24c0b9ece2ed23f3c1792f16da324e4171 /tests/test/script/runner/exit.test
parent09d60452a80d14d9b8bf3a9395860b50683fa1e8 (diff)
Rename .test/test{} to .testscript/testscript{}
Diffstat (limited to 'tests/test/script/runner/exit.test')
-rw-r--r--tests/test/script/runner/exit.test400
1 files changed, 0 insertions, 400 deletions
diff --git a/tests/test/script/runner/exit.test b/tests/test/script/runner/exit.test
deleted file mode 100644
index 7933203..0000000
--- a/tests/test/script/runner/exit.test
+++ /dev/null
@@ -1,400 +0,0 @@
-# file : tests/test/script/runner/exit.test
-# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
-# license : MIT; see accompanying LICENSE file
-
-.include ../common.test
-
-: special
-:
-{
- : pipelining
- :
- {
- : to
- :
- $c <'exit | cat' && $b 2>>EOE != 0
- testscript:1:1: error: exit builtin must be the only pipe command
- EOE
-
- : from
- :
- $c <'echo "foo" | exit' && $b 2>>EOE != 0
- testscript:1:1: error: exit builtin must be the only pipe command
- EOE
- }
-
- : redirecting
- :
- {
- : stdin
- :
- $c <'exit <foo' && $b 2>>EOE != 0
- testscript:1:1: error: exit builtin stdin cannot be redirected
- EOE
-
- : stdout
- :
- $c <'exit >foo' && $b 2>>EOE != 0
- testscript:1:1: error: exit builtin stdout cannot be redirected
- EOE
-
- : stderr
- :
- $c <'exit 2>foo' && $b 2>>EOE != 0
- testscript:1:1: error: exit builtin stderr cannot be redirected
- EOE
- }
-
- : exit-code
- :
- $c <'exit != 0' && $b 2>>EOE != 0
- testscript:1:1: error: exit builtin exit code cannot be non-zero
- EOE
-}
-
-: arguments
-:
-{
- : none
- :
- $c <'exit' && $b
-
- : diagnostics
- :
- $c <'exit "foo"' && $b 2>>EOE != 0
- testscript:1:1: error: foo
- EOE
-
- : unexpected
- :
- $c <'exit "foo" "bar"' && $b 2>>EOE != 0
- testscript:1:1: error: unexpected argument
- EOE
-}
-
-: execution
-:
-: Test that only expected commands are executed. Note that we rely on the fact
-: that their execution is performed serially (see ../common.test for details).
-:
-{
- : test-scope
- :
- {
- : success
- :
- : Note that we also test that cleanups are executed.
- :
- $c <<EOI && $b >>EOO
- touch -f a;
- echo foo >| && exit && echo bar >|;
- echo baz >|
- echo box >|
- EOI
- foo
- box
- EOO
-
- : failure
- :
- : Note that we also register fake cleanup, and test that cleanups are
- : not executed. If they were, there would be a diagnostics printed to
- : stderr regarding non-existent file.
- :
- $c <<EOI && $b >>EOO 2>'testscript:1:1: error: message' != 0
- echo foo >| &b && exit 'message' && echo bar >|
- echo baz >|;
- echo boz >|
- EOI
- foo
- EOO
- }
-
- : command-if
- :
- {
- : if-clause
- :
- {
- : success
- :
- $c <<EOI && $b
- if true
- exit
- echo foo >|
- else
- echo bar >|
- end;
- echo baz >|
- EOI
-
- : failure
- :
- $c <<EOI && $b 2>'testscript:2:3: error: message' != 0
- if true
- exit 'message'
- echo foo >|
- else
- echo bar >|
- end
- echo baz >|
- EOI
- }
-
- : else-clause
- :
- {
- : success
- :
- $c <<EOI && $b
- if false
- echo foo >|
- else
- exit
- echo bar >|
- end;
- echo baz >|
- EOI
-
- : failure
- :
- $c <<EOI && $b 2>'testscript:4:3: error: message' != 0
- if false
- echo foo >|
- else
- exit 'message'
- echo bar >|
- end
- echo baz >|
- EOI
- }
- }
-
- : command-if-condition
- :
- {
- : if
- :
- {
- : success
- :
- $c <<EOI && $b
- if exit
- echo foo >|
- else
- echo bar >|
- end;
- echo baz >|
- EOI
-
- : failure
- :
- $c <<EOI && $b 2>'testscript:1:1: error: message' != 0
- if exit 'message'
- echo foo >|
- else
- echo bar >|
- end;
- echo baz >|
- EOI
- }
-
- : elif
- :
- {
- : success
- :
- $c <<EOI && $b
- if false
- elif exit
- echo foo >|
- else
- echo bar >|
- end;
- echo baz >|
- EOI
-
- : failure
- :
- $c <<EOI && $b 2>'testscript:2:1: error: message' != 0
- if false
- elif exit 'message'
- echo foo >|
- else
- echo bar >|
- end;
- echo baz >|
- EOI
- }
- }
-
- : scope-if-condition
- :
- {
- : if
- :
- {
- : success
- :
- $c <<EOI && $b
- if exit
- {
- echo foo >|
- }
- else
- {
- echo bar >|
- }
- EOI
-
- : failure
- :
- $c <<EOI && $b 2>'testscript:1:1: error: message' != 0
- if exit 'message'
- {
- echo foo >|
- }
- else
- {
- echo bar >|
- }
- EOI
- }
-
- : elif
- :
- {
- : success
- :
- $c <<EOI && $b
- if false
- {
- }
- elif exit
- {
- echo foo >|
- }
- else
- {
- echo bar >|
- }
- EOI
-
- : failure
- :
- $c <<EOI && $b 2>'testscript:4:1: error: message' != 0
- if false
- {
- }
- elif exit 'message'
- {
- echo foo >|
- }
- else
- {
- echo bar >|
- }
- EOI
- }
- }
-
- : group-scope
- :
- {
- : setup
- :
- {
- : success
- :
- : Test that teardown commands are executed (the 'a' file is removed), and
- : cleanups are executed as well (the 'b' file is removed).
- :
- $c <<EOI && $b
- +touch --no-cleanup a
- +touch b
- +exit
-
- echo foo >|
-
- -rm a
- EOI
-
- : failure
- :
- : Test that teardown commands are not executed (the touch would fail),
- : and cleanups are also not executed (they would fail due to non-existent
- : file 'a').
- :
- $c <<EOI && $b 2>'testscript:2:2: error: message' != 0
- +true &a
- +exit 'message'
-
- echo foo >|
-
- -touch b/c
- EOI
- }
-
- : inner-scope
- :
- {
- : success
- :
- : Test that teardown commands and cleanups are executed (see above), and
- : also that the independent inner scope is still executed.
- :
- $c <<EOI && $b >>EOO
- +touch --no-cleanup a
- +touch b
-
- exit
-
- echo foo >|
-
- -rm a
- EOI
- foo
- EOO
-
- : failure
- :
- : Test that teardown commands and cleanups are not executed (see above),
- : as well as the independent inner scope (remember the sequential
- : execution).
- :
- $c <<EOI && $b 2>'testscript:3:1: error: message' != 0
- +true &a
-
- exit 'message'
-
- echo foo >|
-
- -touch b/c
- EOI
- }
-
- : teardown
- :
- {
- : success
- :
- : Test that cleanups are executed.
- :
- $c <<EOI && $b
- -touch a
- -exit
- -echo foo >|
- EOI
-
- : failure
- :
- : Test that cleanups are not executed.
- :
- $c <<EOI && $b 2>'testscript:2:2: error: message' != 0
- -true &a
- -exit 'message'
- -echo foo >|
- EOI
- }
- }
-}