# file : tests/test/script/runner/cleanup.test # copyright : Copyright (c) 2014-2016 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file +mkdir build &build/ # @@ Should not be necessary once builtin. +cat <>>build/boostrap.build project = test amalgamation = using test EOI b = $build.driver -q --no-column --buildfile - <"./: test{testscript}" \ &test/*** test c = cat >>>testscript # Valid cleanups. # # @@ TODO: $c <"$* -f a &a" && $b # : file : $c <"$* -f a &a"; $b : dir1 : $c <"$* -d a &a/"; $b : dir2 : $c <"$* -d a/b &a/ &a/b/"; $b : file-dir : $c <"$* -d a/b -f a/b/c &a/ &a/b/ &a/b/c"; $b : wildcard1 : $c <"$* -d a/b -f a/b/c &a/***"; $b : wildcard2 : $c <"$* &a/***"; $b : file-dup : $c <"$* -f a &a &a"; $b : dir-dup : $c <"$* -d a/b &a/ &a/b/ &a/b/../b/"; $b # Invalid cleanups. # : file-not-exists : $c <"$* &a"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup file test/1/a does not exist EOE : file-out-wd : $c <"$* &../a"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup file test/a is out of working directory test/1/ EOE : dir-not-exists : $c <"$* &a/"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup directory test/1/a/ does not exist EOE : dir-out-wd : $c <"$* &../a/"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup directory test/a/ is out of working directory test/1/ EOE : dir-not-empty1 : $c <"$* -d a/b -f a/b/c"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup directory test/1/ is not empty EOE : dir-not-empty2 : $c <"$* -d a/b &a/b/"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup directory test/1/ is not empty EOE : dir-not-empty3 : $c <"$* -d a/b &a/b/ &a/"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup directory test/1/a/ is not empty EOE : dir-not-empty4 : $c <"$* -f a &a/***"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup directory test/1/ is not empty EOE : not-file : $c <"$* -d a &a"; $b 2>>EOE != 0 error: unable to remove file test/1/a: Is a directory EOE : not-dir1 : $c <"$* -f a &a/"; $b 2>>EOE != 0 error: unable to remove directory test/1/a/: Not a directory EOE : wildcard-out-wd : $c <"$* &../a/***"; $b 2>>EOE != 0 testscript:1: error: registered for cleanup wildcard test/a/*** is out of working directory test/1/ EOE