diff options
| author | Wojciech Meyer <wojciech.meyer@gmail.com> | 2013-01-01 00:33:23 +0000 |
|---|---|---|
| committer | Wojciech Meyer <wojciech.meyer@gmail.com> | 2013-01-01 00:33:23 +0000 |
| commit | c05b5ccea7d64d7270f42453a37b80bc802c3360 (patch) | |
| tree | 1699f2802937e967ea79ff04128fb18af3f8d85c | |
| parent | 0ef73a598c4cb79df606f5aa1a4654865ef91b5d (diff) | |
| download | ocaml-c05b5ccea7d64d7270f42453a37b80bc802c3360.tar.gz | |
ocamlbuild_test, remove test directory tree only if exists
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13185 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
| -rw-r--r-- | ocamlbuild/testsuite/ocamlbuild_test.ml | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/ocamlbuild/testsuite/ocamlbuild_test.ml b/ocamlbuild/testsuite/ocamlbuild_test.ml index d987a2d580..5be77dc276 100644 --- a/ocamlbuild/testsuite/ocamlbuild_test.ml +++ b/ocamlbuild/testsuite/ocamlbuild_test.ml @@ -25,6 +25,10 @@ let print_string_list = print_list_com pp_print_string let print_string_list_com = print_list_com pp_print_string let print_string_list_blank = print_list_blank pp_print_string +let exists filename = + try ignore(Unix.stat filename); true + with Unix.Unix_error ((Unix.ENOENT),_,_) -> false + let execute cmd = let ic = Unix.open_process_in cmd and lst = ref [] in try while true do lst := input_line ic :: !lst done; assert false @@ -32,6 +36,10 @@ let execute cmd = let ret_code = Unix.close_process_in ic in ret_code, List.rev !lst +let rm f = + if exists f then + ignore(Sys.command (Printf.sprintf "rm -r ./%s" f)) + module Match = struct type atts = unit @@ -102,14 +110,8 @@ module Match = struct in - let exists filename = - let name = file filename in - try ignore(Unix.stat name); true - with Unix.Unix_error ((Unix.ENOENT),_,_) -> false - in - let exists_assert filename = - if not (exists filename) then + if not (exists (file filename)) then errors := Expected filename :: !errors; in @@ -354,8 +356,6 @@ module Tree = struct | E -> () in - ignore(Sys.command (Printf.sprintf "rm -r ./%s" root)); - Unix.mkdir root 0o750; let dir = Sys.getcwd () in Unix.chdir root; visit [] f; @@ -409,6 +409,8 @@ let run ~root = let dir = Sys.getcwd () in Unix.chdir root; + rm name; + Unix.mkdir name 0o750; List.iter (Tree.create_on_fs ~root:name) tree; Unix.chdir name; |
