diff options
Diffstat (limited to 'testsuite/tests/tool-debugger')
| -rw-r--r-- | testsuite/tests/tool-debugger/.ignore | 1 | ||||
| -rw-r--r-- | testsuite/tests/tool-debugger/Makefile | 58 | ||||
| -rw-r--r-- | testsuite/tests/tool-debugger/debuggee.ml | 2 | ||||
| -rw-r--r-- | testsuite/tests/tool-debugger/debuggee.reference | 5 | ||||
| -rwxr-xr-x | testsuite/tests/tool-debugger/input_script | 5 |
5 files changed, 71 insertions, 0 deletions
diff --git a/testsuite/tests/tool-debugger/.ignore b/testsuite/tests/tool-debugger/.ignore new file mode 100644 index 0000000000..e09cf9eb6e --- /dev/null +++ b/testsuite/tests/tool-debugger/.ignore @@ -0,0 +1 @@ +compiler-libs diff --git a/testsuite/tests/tool-debugger/Makefile b/testsuite/tests/tool-debugger/Makefile new file mode 100644 index 0000000000..f95b4803b6 --- /dev/null +++ b/testsuite/tests/tool-debugger/Makefile @@ -0,0 +1,58 @@ +######################################################################### +# # +# OCaml # +# # +# Damien Doligez, EPI Gallium, INRIA Rocquencourt # +# # +# Copyright 2013 Institut National de Recherche en Informatique et # +# en Automatique. All rights reserved. This file is distributed # +# under the terms of the Q Public License version 1.0. # +# # +######################################################################### + +BASEDIR=../.. +MAIN_MODULE=debuggee +ADD_COMPFLAGS=-g -custom +LD_PATH=$(TOPDIR)/otherlibs/$(UNIXLIBVAR)unix + +.PHONY: default +default: + @if ! $(SUPPORTS_SHARED_LIBRARIES); then \ + echo 'skipped (shared libraries not available)'; \ + else \ + $(MAKE) compile; \ + $(SET_LD_PATH) OCAMLLIB=. $(MAKE) run; \ + fi + +.PHONY: compile +compile: $(ML_FILES) $(CMO_FILES) $(MAIN_MODULE).cmo + @rm -f program.byte program.byte.exe + @$(OCAMLC) $(ADD_COMPFLAGS) $(ADD_CFLAGS) -o program.byte$(EXE) \ + $(O_FILES) $(CMA_FILES) $(CMO_FILES) $(ADD_CMO_FILES) \ + $(MAIN_MODULE).cmo + @mkdir -p compiler-libs + @cp $(TOPDIR)/toplevel/topdirs.cmi compiler-libs/ + +.PHONY: run +run: + @printf " ... testing with ocamlc" + @rm -f $(MAIN_MODULE).result + @echo 'source input_script' | \ + $(OCAMLRUN) `$(CYGPATH) $(TOPDIR)/debugger/ocamldebug$(EXE)` \ + program.byte$(EXE) >$(MAIN_MODULE).raw.result 2>&1 \ + && sed -e '/Debugger version/d' -e '/^Time:/d' -e '$$d' \ + $(MAIN_MODULE).raw.result >$(MAIN_MODULE).result \ + && $(DIFF) $(MAIN_MODULE).reference $(MAIN_MODULE).result >/dev/null \ + && echo " => passed" || echo " => failed" + +.PHONY: promote +promote: defaultpromote + +.PHONY: clean +clean: defaultclean + @rm -f *.result program.byte program.byte.exe \ + program.native program.native.exe \ + $(GENERATED_SOURCES) $(O_FILES) $(TEST_TEMP_FILES) + @rm -rf compiler-libs + +include $(BASEDIR)/makefiles/Makefile.common diff --git a/testsuite/tests/tool-debugger/debuggee.ml b/testsuite/tests/tool-debugger/debuggee.ml new file mode 100644 index 0000000000..341d0b369f --- /dev/null +++ b/testsuite/tests/tool-debugger/debuggee.ml @@ -0,0 +1,2 @@ +print_endline Sys.argv.(1);; +print_endline (Sys.getenv "foo");; diff --git a/testsuite/tests/tool-debugger/debuggee.reference b/testsuite/tests/tool-debugger/debuggee.reference new file mode 100644 index 0000000000..e998926c3d --- /dev/null +++ b/testsuite/tests/tool-debugger/debuggee.reference @@ -0,0 +1,5 @@ + +(ocd) Loading program... done. +arg1 +notbar +Program exit. diff --git a/testsuite/tests/tool-debugger/input_script b/testsuite/tests/tool-debugger/input_script new file mode 100755 index 0000000000..2caf06dd4d --- /dev/null +++ b/testsuite/tests/tool-debugger/input_script @@ -0,0 +1,5 @@ +set arguments arg1 arg2 +environment foo=bar +environment foo=notbar +run +quit |
