summaryrefslogtreecommitdiff
path: root/testsuite/tests/tool-debugger
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/tool-debugger')
-rw-r--r--testsuite/tests/tool-debugger/.ignore1
-rw-r--r--testsuite/tests/tool-debugger/Makefile58
-rw-r--r--testsuite/tests/tool-debugger/debuggee.ml2
-rw-r--r--testsuite/tests/tool-debugger/debuggee.reference5
-rwxr-xr-xtestsuite/tests/tool-debugger/input_script5
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