New test.
[mono.git] / mono / tests / cas / linkdemand / Makefile.am
1 with_mono_path = MONO_PATH=$(mcs_topdir)/class/lib/default
2 with_mono_path2 = MONO_PATH=$(mcs_topdir)/class/lib/net_2_0
3
4 RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper --debug --security
5 RUNTIME2 = $(with_mono_path2) $(top_builddir)/runtime/mono-wrapper --debug --security
6
7 PROFILE = net_1_1
8
9 compiler_defines = -d:NET_1_1
10
11 # ifeq ($(PROFILE), net_2_0)
12 # CSCOMPILE = gmcs -debug
13 # compiler_defines += -d:NET_2_0
14 # else
15 CSCOMPILE = $(RUNTIME) $(mcs_topdir)/class/lib/default/mcs.exe -debug
16 SN = $(RUNTIME) $(mcs_topdir)/tools/security/sn.exe
17 # endif
18
19 EXTRA_DIST = icall1.cs icall2.cs icall3.cs icall4.cs icall5.cs icall6.cs \
20         aptc1.cs aptc2.cs aptclib.cs \
21         pinvoke1.cs pinvoke2.cs pinvoke3.cs pinvoke4.cs \
22         cas1.cs cas2.cs cas3.cs cas6.cs cas7.cs cas8.cs cas9.cs \
23         refcas1.cs refcas2.cs refcas3.cs refcas4.cs refcas5.cs \
24         noncas1.cs noncas2.cs noncas3.cs noncas4.cs
25
26 tests:  icall1.exe icall2.exe icall3.exe icall4.exe icall5.exe icall6.exe \
27         aptc1a.exe aptc1b.exe aptc2a.exe aptc2b.exe aptclib.dll \
28         pinvoke1.exe pinvoke2.exe pinvoke3.exe pinvoke4.exe \
29         cas1.exe cas2.exe cas3.exe cas6.exe cas7.exe cas8.exe cas9.exe \
30         refcas1.exe refcas2.exe refcas3.exe refcas4.exe refcas5.exe \
31         noncas1.exe noncas2.exe noncas3.exe noncas4.exe
32
33 aot:    icall1.exe.so icall2.exe.so icall3.exe.so icall4.exe.so icall5.exe.so icall6.exe.so \
34         aptc1a.exe.so aptc1b.exe.so aptc2a.exe.so aptc2b.exe.so aptclib.dll.so \
35         pinvoke1.exe.so pinvoke2.exe.so pinvoke3.exe.so pinvoke4.exe.so \
36         cas1.exe.so cas2.exe.so cas3.exe.so cas6.exe.so \
37         cas7.exe.so cas8.exe.so cas8.exe.so cas9.exe.so \
38         refcas1.exe.so refcas2.exe.so refcas3.exe.so refcas4.exe.so refcas5.exe.so \
39         noncas1.exe.so noncas2.exe.so noncas3.exe.so noncas4.exe.so
40
41 FULLTRUST_TEST_FILES = icall1 icall2 icall3 icall4 icall6 \
42         aptc1a aptc1b aptc2a \
43         pinvoke1 pinvoke2 pinvoke4 \
44         cas1 cas3 cas6 cas7 cas8 cas9 \
45         refcas1 refcas2 refcas3 refcas4 \
46         noncas1 noncas2 noncas3 noncas4
47
48 UNHANDLED_TEST_FILES = aptc2b cas2 pinvoke3 
49
50 run: tests
51         @for i in $(FULLTRUST_TEST_FILES); do   \
52                 $(RUNTIME) $$i.exe;     \
53         done;
54
55 test: tests
56         @failed=0; \
57         passed=0; \
58         for i in $(FULLTRUST_TEST_FILES); do    \
59                 $(RUNTIME) $$i.exe > /dev/null; \
60                 if [ "$$?" = "0" ]; then        \
61                         echo -e "fulltrust-$$i\tpass";  \
62                         passed=`expr $${passed} + 1`; \
63                 else    \
64                         echo -e "fulltrust-$$i\tFAIL ($$?)";    \
65                         failed=`expr $${failed} + 1`; \
66                         failed_tests="$${failed_tests} fulltrust-$$i"; \
67                 fi;     \
68         done;   \
69         for i in $(UNHANDLED_TEST_FILES); do    \
70                 $(RUNTIME) $$i.exe > /dev/null; \
71                 if [ "$$?" = "0" ]; then        \
72                         echo -e "unhandled-$$i\tFAIL ($$?)";    \
73                         failed=`expr $${failed} + 1`; \
74                         failed_tests="$${failed_tests} unhandled-$$i"; \
75                 else    \
76                         echo -e "unhandled-$$i\tpass";  \
77                         passed=`expr $${passed} + 1`; \
78                 fi;     \
79         done;   \
80         echo -e "\n$${passed} test(s) passed. $${failed} test(s) failed."; \
81         if [ "$${failed}" != "0" ]; then        \
82                 echo -e "Failed tests are:";    \
83                 for i in $${failed_tests};      \
84                         do echo -e "\t$${i}";   \
85                 done;   \
86                 exit 1; \
87         fi
88
89 clean:
90         rm -f *.exe* *.dll* *.snk
91
92 aptc.snk:
93         $(SN) -k aptc.snk
94
95 %a.exe: %.cs
96         $(CSCOMPILE) $^ /out:$@ $(compiler_defines)
97
98 %b.exe: %.cs
99         $(CSCOMPILE) $^ /out:$@ /keyfile:ecma.pub /delaysign+ $(compiler_defines)
100
101 aptc1b.exe: aptc1.cs aptc.snk
102         $(CSCOMPILE) $< /out:$@ /d:RESTRICT $(compiler_defines)
103
104 aptc2a.exe: aptc2.cs aptclib.dll
105         $(CSCOMPILE) $< /out:$@ /r:aptclib.dll $(compiler_defines)
106
107 aptc2b.exe: aptc2.cs aptclib.dll
108         $(CSCOMPILE) $< /out:$@ /d:RESTRICT /r:aptclib.dll $(compiler_defines)
109
110 aptclib.dll: aptclib.cs aptc.snk
111         $(CSCOMPILE) $< /out:$@ /target:library /keyfile:aptc.snk $(compiler_defines)
112
113 %.exe: %.cs
114         $(CSCOMPILE) $^ /out:$@ $(compiler_defines)
115
116 %.exe.so: %.exe
117         $(RUNTIME) --aot $^