From 72945d9c8eee18aed1550c3f42dc41e6a8a0f029 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 22 Jul 2019 22:37:40 +0300 Subject: Use CLI-generated classes to parse testscript builtin options --- tests/test/script/builtin/cat.testscript | 6 ++++ tests/test/script/builtin/cp.testscript | 6 ++++ tests/test/script/builtin/ln.testscript | 8 ++++- tests/test/script/builtin/mkdir.testscript | 8 ++++- tests/test/script/builtin/mv.testscript | 6 ++++ tests/test/script/builtin/rm.testscript | 6 ++++ tests/test/script/builtin/rmdir.testscript | 6 ++++ tests/test/script/builtin/sed.testscript | 10 ++++-- tests/test/script/builtin/sleep.testscript | 6 ++++ tests/test/script/builtin/test.testscript | 58 ++++++++++++++++++------------ tests/test/script/builtin/touch.testscript | 8 ++++- tests/test/script/runner/exit.testscript | 2 +- tests/test/script/runner/set.testscript | 18 ++++++++++ 13 files changed, 120 insertions(+), 28 deletions(-) (limited to 'tests/test') diff --git a/tests/test/script/builtin/cat.testscript b/tests/test/script/builtin/cat.testscript index d885b53..b23efcf 100644 --- a/tests/test/script/builtin/cat.testscript +++ b/tests/test/script/builtin/cat.testscript @@ -4,6 +4,12 @@ .include ../common.testscript +: unknown-option +: +$c <"cat: unknown option '-u'" == 1 +EOI + : in : $c <"cp: unknown option '-u'" == 1 +EOI + : args : { diff --git a/tests/test/script/builtin/ln.testscript b/tests/test/script/builtin/ln.testscript index 4e1ea92..072c197 100644 --- a/tests/test/script/builtin/ln.testscript +++ b/tests/test/script/builtin/ln.testscript @@ -4,12 +4,18 @@ .include ../common.testscript +: unknown-option +: +$c <"ln: unknown option '-u'" == 1 +EOI + : args : { : -s-option : - $c <'ln 2>"ln: missing -s option" == 1' && $b + $c <'ln 2>"ln: missing -s|--symbolic option" == 1' && $b : none : diff --git a/tests/test/script/builtin/mkdir.testscript b/tests/test/script/builtin/mkdir.testscript index 573f73d..d1a3b4a 100644 --- a/tests/test/script/builtin/mkdir.testscript +++ b/tests/test/script/builtin/mkdir.testscript @@ -4,6 +4,12 @@ .include ../common.testscript +: unknown-option +: +$c <"mkdir: unknown option '-u'" == 1 +EOI + : dirs : $c <"mv: unknown option '-u'" == 1 +EOI + : args : { diff --git a/tests/test/script/builtin/rm.testscript b/tests/test/script/builtin/rm.testscript index 0cc6f7c..46ed566 100644 --- a/tests/test/script/builtin/rm.testscript +++ b/tests/test/script/builtin/rm.testscript @@ -4,6 +4,12 @@ .include ../common.testscript +: unknown-option +: +$c <"rm: unknown option '-u'" == 1 +EOI + : no-args : { diff --git a/tests/test/script/builtin/rmdir.testscript b/tests/test/script/builtin/rmdir.testscript index 1b19509..9f0c945 100644 --- a/tests/test/script/builtin/rmdir.testscript +++ b/tests/test/script/builtin/rmdir.testscript @@ -4,6 +4,12 @@ .include ../common.testscript +: unknown-option +: +$c <"rmdir: unknown option '-u'" == 1 +EOI + : no-args : { diff --git a/tests/test/script/builtin/sed.testscript b/tests/test/script/builtin/sed.testscript index e3c0965..4a79fe3 100644 --- a/tests/test/script/builtin/sed.testscript +++ b/tests/test/script/builtin/sed.testscript @@ -4,6 +4,12 @@ .include ../common.testscript +: unknown-option +: +$c <"sed: unknown option '-u'" == 1 +EOI + : arg : { @@ -31,7 +37,7 @@ $c <'sed -e' && $b 2>>/EOE != 0 testscript:1:1: error: sed exit code 1 != 0 info: stderr: test/1/stderr - sed: missing script + sed: missing value for option '-e' info: test id: 1 EOE @@ -321,7 +327,7 @@ $c <"sed -i -e 's/a/b/'" && $b 2>>/EOE != 0 testscript:1:1: error: sed exit code 1 != 0 info: stderr: test/1/stderr - sed: -i option specified while reading from stdin + sed: -i|--in-place option specified while reading from stdin info: test id: 1 EOE diff --git a/tests/test/script/builtin/sleep.testscript b/tests/test/script/builtin/sleep.testscript index c43418d..7d39548 100644 --- a/tests/test/script/builtin/sleep.testscript +++ b/tests/test/script/builtin/sleep.testscript @@ -4,6 +4,12 @@ .include ../common.testscript +: unknown-option +: +$c <"sleep: unknown option '-u'" == 1 +EOI + : success : $c <'sleep 1' && $b diff --git a/tests/test/script/builtin/test.testscript b/tests/test/script/builtin/test.testscript index 650f9ef..dceb229 100644 --- a/tests/test/script/builtin/test.testscript +++ b/tests/test/script/builtin/test.testscript @@ -42,30 +42,44 @@ EOI } -: no-args +: options : -: Test passing no arguments. -: -$c <'test 2>"test: missing path" == 2' && $b +{ + : unknown + : + $c <"test: unknown option '-u'" == 2 + EOI -: invalid-option -: -: Test passing invalid option. -: -$c <'test -c a 2>"test: invalid option" == 2' && $b + : none + : + $c <"test: either -f|--file or -d|--directory must be specified" == 2 + EOI -: unexpected-arg -: -: Test passing extra argument. -: -$c <"test: unexpected argument 'b'" == 2 -EOI + : both-file-dir + : + $c <"test: both -f|--file and -d|--directory specified" == 2 + EOI +} -: empty-path +: args : -: Test testing an empty path. -: -$c <"test: invalid path ''" == 2 -EOI +{ + : none + : + $c <'test -f 2>"test: missing path" == 2' && $b + + : unexpected + : + $c <"test: unexpected argument 'b'" == 2 + EOI + + : empty-path + : + $c <"test: invalid path ''" == 2 + EOI +} diff --git a/tests/test/script/builtin/touch.testscript b/tests/test/script/builtin/touch.testscript index a43386b..731f023 100644 --- a/tests/test/script/builtin/touch.testscript +++ b/tests/test/script/builtin/touch.testscript @@ -41,6 +41,12 @@ $c <"touch: unknown option '-u'" == 1 +EOI + : no-args : : Test passing no arguments. @@ -77,7 +83,7 @@ EOI : no-value : $c <'touch: missing --after option value' != 0 + touch --after 2>"touch: missing value for option '--after'" != 0 EOI : not-exists diff --git a/tests/test/script/runner/exit.testscript b/tests/test/script/runner/exit.testscript index 261b02d..b461155 100644 --- a/tests/test/script/runner/exit.testscript +++ b/tests/test/script/runner/exit.testscript @@ -96,7 +96,7 @@ empty_id = '' : Note that we also test that cleanups are executed. : $c <>EOO - touch -f a; + touch a; echo foo >| && exit && echo bar >|; echo baz >| echo box >| diff --git a/tests/test/script/runner/set.testscript b/tests/test/script/runner/set.testscript index 28d6686..edbff3e 100644 --- a/tests/test/script/runner/set.testscript +++ b/tests/test/script/runner/set.testscript @@ -40,6 +40,24 @@ EOE } +: options +: +{ + : unknown + : + $c <'set -u' && $b 2>>EOE != 0 + testscript:1:1: error: set: unknown option '-u' + info: test id: 1 + EOE + + : both-newline-whitespace + : + $c <'set -nw' && $b 2>>EOE != 0 + testscript:1:1: error: both -n|--newline and -w|--whitespace specified + info: test id: 1 + EOE +} + : arguments : { -- cgit v1.1