on master help sign in
* Make regression test029 work by adding a wrapper loading environment variables to properties
884c5b8Jan Bessai
test/Makefile+1−1
@@ -8,7 +8,7 @@ test: $(TESTS)
8 @perl ./runtest.pl $(patsubst %.test,%,$@)
8 @perl ./runtest.pl $(patsubst %.test,%,$@)
9
9
10test_java:
10test_java:
11− perl ./runtest.pl without sugar004 buffer001 --codegen Java
11+ perl ./runtest.pl without buffer001 reg039 --codegen Java
12
12
13test_js:
13test_js:
14 @perl ./runtest.pl without sugar004 reg029 io001 dsl002 io003 effects001 effects002 buffer001 bounded001 folding002 --codegen node
14 @perl ./runtest.pl without sugar004 reg029 io001 dsl002 io003 effects001 effects002 buffer001 bounded001 folding002 --codegen node
test/reg029/Reg029Wrapper.javanew file+17
@@ -0,0 +1,17 @@
1+import java.util.Map;
2+
3+/**
4+ * The Java back end uses properties
5+ * instead of environment variables.
6+ * This wrapper loads the env variables
7+ * into the standard set of properties.
8+ */
9+public class Reg029Wrapper {
10+ public static void main(String [] args) {
11+ Map<String, String> env = System.getenv();
12+ for (String key : env.keySet()) {
13+ System.setProperty(key, env.get(key));
14+ }
15+ reg029.main(args);
16+ }
17+}
test/reg029/reg029.idr+1
@@ -2,6 +2,7 @@ module Main
2
2
3import System
3import System
4
4
5+-- necessary to find the getenv symbol
5%dynamic "libm"
6%dynamic "libm"
6
7
7main : IO ()
8main : IO ()
test/reg029/run+9−2
@@ -2,6 +2,13 @@
2idris $@ reg029.idr -o reg029
2idris $@ reg029.idr -o reg029
3unset IDRIS_REG029_NONEXISTENT_VAR
3unset IDRIS_REG029_NONEXISTENT_VAR
4export IDRIS_REG029_EXISTENT_VAR='exists!'
4export IDRIS_REG029_EXISTENT_VAR='exists!'
5+case "$@" in
6+*\-\-codegen\ Java*)
7+ javac -cp reg029 Reg029Wrapper.java
8+ java -cp .:reg029 Reg029Wrapper
9+ ;;
10+*)
5−./reg029
11+ ./reg029
12+esac
6idris $@ reg029.idr --exec
13idris $@ reg029.idr --exec
7−rm -f reg029 *.ibc
14+rm -f reg029 *.ibc *.class