diff options
Diffstat (limited to 'tests/test/script/runner/cleanup.test')
-rw-r--r-- | tests/test/script/runner/cleanup.test | 346 |
1 files changed, 0 insertions, 346 deletions
diff --git a/tests/test/script/runner/cleanup.test b/tests/test/script/runner/cleanup.test deleted file mode 100644 index 2d99215..0000000 --- a/tests/test/script/runner/cleanup.test +++ /dev/null @@ -1,346 +0,0 @@ -# file : tests/test/script/runner/cleanup.test -# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd -# license : MIT; see accompanying LICENSE file - -.include ../common.test - -b += --no-column - -: file -: -{ - : always - : - $c <'$* -f a &a' && $b - - : maybe - : - $c <'$* &?a' && $b - - : never - : - $c <'$* &!a' && $b - - : implicit - : - : Test that a file created out of the testscript working directory is not - : implicitly registered for cleanup. If it were, the test would fail due to - : the file absence at the cleanup time. - : - $c <<EOI && $b - touch ../../a; - rm -f ../../a - EOI - - : append - : - : Test that file append redirect does not not register cleanup. If it did, - : that cleanup would fail as the file would be already deleted by rm. - : - $c <<EOI && $b - touch a &!a; - $* -o foo >+a; - rm a - EOI - - : not-exists - : - : Test cleanup of non-existing file. - : - $c <'$* &a' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup file test/1/a does not exist - EOE - - : out-wd - : - : Test explicit cleanup of a file out of the testscript working directory. - : - $c <'$* &../../a' && $b 2>>/EOE != 0 - testscript:1: error: file cleanup ../../a is out of working directory test/ - EOE - - : in-wd - : - : Test cleanup explicit registration of a file being outside the test working - : directory but inside the script working directory. - : - $c <'$* &../a' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup file test/a does not exist - EOE - - : not-file - : - : Test cleanup of a directory as a file. - : - $c <'$* -d a &a' && $b 2>>/~%EOE% != 0 - %error: unable to remove file test/1/a: .+% - EOE -} - -: dir -: -{ - : always - : - $c <'$* -d a &a/' && $b - - : maybe - : - $c <'$* &?a/' && $b - - : implicit - : - : Test that a directory created out of the testscript working directory is - : not implicitly registered for cleanup. If it were, the test would fail due - : to the directory absence at the cleanup time. - : - $c <<EOI && $b - mkdir ../../a; - rm -r -f ../../a - EOI - - : not-exists - : - : Test cleanup of non-existing directory. - : - $c <'$* &a/' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup directory test/1/a/ does not exist - EOE - - : out-wd - : - : Test cleanup of a directory out of the testscript working directory. - : - $c <'$* &../../a/' && $b 2>>/EOE != 0 - testscript:1: error: directory cleanup ../../a/ is out of working directory test/ - EOE - - : in-wd - : - : Test cleanup explicit registration of a directory being outside the test - : working directory but inside the testscript working directory. - : - $c <'$* &../a/' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup directory test/a/ does not exist - EOE - - : not-empty - : - : Test cleanup of a non-empty directory. - : - { - : files - : - $c <<EOI && $b 2>>/~%EOE% != 0 - $* -d a -f a/0 -f a/1 -f a/2 -f a/3 -f a/4 -f a/5 -f a/6 -f a/7 -f a/8 \ - -f a/9 -f a/a -f a/b &a/ - EOI - testscript:2: error: registered for cleanup directory test/1/a/ is not empty - %.%{10} - and 2 more file(s) - EOE - - : dir - : - $c <'$* -d a/b' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup directory test/1/ is not empty - a/ - EOE - } - - : not-dir - : - : Test cleanup of a file as a directory. - : - $c <'$* -f a &a/' && $b 2>>/~%EOE% != 0 - %error: unable to remove directory test/1/a/: .+% - EOE -} - -: wildcard -: -{ - : self - : - { - : dirs - : - { - : always - : - $c <'$* -d a/b -d a/b/c &a/***/' && $b - - : maybe - : - $c <'$* &?a/***/' && $b - - : not-empty - : - $c <'$* -d a/b -d a/b/c -f a/c &a/***/' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup directory test/1/a/ is not empty - c - info: wildcard: 'test/1/a/***/' - EOE - } - - : all-entries - : - : Test the trailing triple-star special case. - : - { - : always - : - $c <'$* -d a1/b -f a1/b/c -d a2/b -f a2/b/c &a?/***' && $b - - : maybe - : - $c <'$* &?a/***' && $b - - : not-exists - : - : Test cleanup of a wildcard not matching any directory. - : - $c <'$* &a/***' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup directory test/1/a/ does not exist - EOE - - : out-wd - : - : Test cleanup of a wildcard out of the testscript working directory. - : - $c <'$* &../../a/***' && $b 2>>/EOE != 0 - testscript:1: error: wildcard cleanup ../../a/*** is out of working directory test/ - EOE - - : in-wd - : - : Test cleanup registration of a wildcard matching the directory that being - : outside the test working directory is inside the testscript working - : directory. - : - $c <'$* &../a/***' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup directory test/a/ does not exist - EOE - - : not-dir - : - : Test cleanup of a file as a wildcard. - : - $c <'$* -f a &a/***' && $b 2>>/~%EOE% != 0 - %error: unable to remove directory test/1/a/: .*% - EOE - } - } - - : dir - : - { - : always - : - { - : immediate - : - $c <'$* -d aa/b &aa/ &a*/*/' && $b - - : recursive - : - $c <'$* -d aa/b/c &aa/ &a?/**/' && $b - } - - : maybe - : - $c <'$* &?a/**/' && $b - - : not-exists - : - : Test cleanup of a wildcard that doesn't match any directory. - : - $c <'$* &a/**/' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup wildcard test/1/a/**/ doesn't match any directory - EOE - - : not-dir - : - : Test cleanup of a file as a directory wildcard. - : - $c <'$* -f a &a/**/' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup wildcard test/1/a/**/ doesn't match any directory - EOE - - : not-empty - : - : Test cleanup of a non-empty directory as a wildcard. - : - $c <'$* -d a/b/c -f a/b/d &a/**/' && $b 2>>/EOE != 0 - testscript:1: error: registered for cleanup directory test/1/a/b/ is not empty - d - info: wildcard: 'test/1/a/**/' - EOE - } - - : file - : - { - : always - : - { - : immediate - : - $c <'$* -d aa -f aa/c &aa/ &a?/*' && $b - - : recursive - : - $c <'$* -d aa/b -f aa/c -f aa/b/e &aa/ &aa/b/ &a*/**' && $b - } - - : maybe - : - $c <'$* &?a/**' && $b - } -} - -: order -: -: Test that cleanup is performed in registration reversed order. -: -$c <'$* -d a/b &a/ &a/b/' && $b - -: special-order -: -: Test that special files are cleaned before others, and there is no attempt -: to remove them twice (normally and with wildcard cleanup). -: -$c <<EOI && $b -$* -o foo >'foo'; -$* -f bar &* -EOI - -: wd-wildcard -: -: Test that there is no attempt to remove working directory twice (normally and -: with wildcard cleanup). -: -$c <<EOI && $b -true &*** -EOI - -: implicit-overwrite -: -: Test an implicit cleanup being overwritten with the explicit one, -: -$c <'$* -o foo >=a &!a' && $b 2>>/EOE != 0 -testscript:1: error: registered for cleanup directory test/1/ is not empty -a -EOE - -: explicit-overwrite -: -: Test an explicit cleanup not being overwritten with the implicit one. -: -$c <<EOO && $b 2>>/EOE != 0 -$* &!a; -$* -o foo >=a -EOO -testscript:2: error: registered for cleanup directory test/1/ is not empty -a -EOE |