summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWojciech Meyer <wojciech.meyer@gmail.com>2013-01-01 00:33:23 +0000
committerWojciech Meyer <wojciech.meyer@gmail.com>2013-01-01 00:33:23 +0000
commitc05b5ccea7d64d7270f42453a37b80bc802c3360 (patch)
tree1699f2802937e967ea79ff04128fb18af3f8d85c
parent0ef73a598c4cb79df606f5aa1a4654865ef91b5d (diff)
downloadocaml-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.ml20
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;