TEST_RUNTIME = MONO_PATH=$(CLASS) $(RUNTIME)
TOOLS_RUNTIME= MONO_PATH=$(mcs_topdir)/class/lib/build $(RUNTIME)
-TEST_RUNNER = ../test-runner.exe --runtime $(RUNTIME)
+# These tests are testing strict assembly strong-name resolution
+TEST_RUNNER = ../test-runner.exe --runtime $(RUNTIME) --runtime-args "--assembly-loader=strict"
if HOST_WIN32
TEST_RUNNER_ARGS=--runtime $(if $(MONO_EXECUTABLE),$(shell cygpath -w -a $(MONO_EXECUTABLE) | sed 's/\\/\\\\/g'),mono)
TEST_RUNNER_ARGS += $(if $(V), --verbose,)
if FULL_AOT_TESTS
-TEST_RUNNER += --aot-run-flags "$(AOT_RUN_FLAGS)" --aot-build-flags "$(AOT_BUILD_FLAGS)"
+TEST_RUNNER += --runtime-args "$(AOT_RUN_FLAGS)"
endif
if HYBRID_AOT_TESTS
-TEST_RUNNER += --aot-run-flags "$(AOT_RUN_FLAGS)" --aot-build-flags "$(AOT_BUILD_FLAGS)"
+TEST_RUNNER += --runtime-args "$(AOT_RUN_FLAGS)"
endif
### tools
endif
-SIGNING_KEY= testkey.snk
+SIGNING_KEY= $(srcdir)/testkey.snk
# prefix for the testing gac. gacutil will add lib/mono/gac directories
GACDIR=.
### Test cases
-# MONO_GAC_PREFIX tests
-if FULL_AOT_TESTS
-GAC_TESTS=
-else
-if HYBRID_AOT_TESTS
-GAC_TESTS=
-else
-GAC_TESTS= test-signed-v1-app-gac
-endif
-endif
-
-# MONO_PATH tests
-MP_TESTS= test-signed-v1-app-mp-unsigned-v1 \
- test-signed-v1-app-mp-signed-v1 \
- test-signed-v1-app-mp-unsigned-v2-signed-v1 \
- test-signed-v1-app-mp-signed-v2-signed-v1
-
-###
-
.PHONY: runtest compile-tests prereqs
-runtest: $(MP_TESTS) $(GAC_TESTS)
+runtest:
+if !FULL_AOT_TESTS
+if !HYBRID_AOT_TESTS
+ $(MAKE) test-signed-v1-app-mp-unsigned-v1
+ $(MAKE) test-signed-v1-app-mp-signed-v1
+ $(MAKE) test-signed-v1-app-mp-unsigned-v2-signed-v1
+ $(MAKE) test-signed-v1-app-mp-signed-v2-signed-v1
+ $(MAKE) test-signed-v1-app-gac
+endif
+endif
compile-tests: prereqs $(APP_SIGNED_V1_EXE) $(APP_SIGNED_V1_AOT)
-prereqs: $(GACTESTLIB_DLLS) $(GACTESTLIB_DLLS_AOT) gacinstall
+prereqs: $(GACTESTLIB_DLLS) $(GACTESTLIB_DLLS_AOT)
+ $(MAKE) gacinstall
$(UNSIGNED_V1_DLL): $(V1_SRC)
-mkdir -p $(@D)
%.dll$(PLATFORM_AOT_SUFFIX): %.dll
$(TEST_RUNTIME) $(AOT_BUILD_FLAGS) $<
+# MONO_PATH tests
+
test-signed-v1-app-mp-unsigned-v1: $(APP_SIGNED_V1_EXE) prereqs
$(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name "testing_gac_$@" --mono-path "unsigned_v1$(PLATFORM_PATH_SEPARATOR)$(BASE_MONO_PATH)" --expected-exit-code 1 $(APP_SIGNED_V1_EXE)
test-signed-v1-app-mp-signed-v1: $(APP_SIGNED_V1_EXE) prereqs
$(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name "testing_gac_$@" --mono-path "signed_v1$(PLATFORM_PATH_SEPARATOR)$(BASE_MONO_PATH)" $(APP_SIGNED_V1_EXE)
-test-signed-v1-app-gac: $(APP_SIGNED_V1_EXE) gacinstall prereqs
- $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name "testing_gac_$@" --mono-gac-prefix $(GACDIR) $(APP_SIGNED_V1_EXE)
-
test-signed-v1-app-mp-unsigned-v2-signed-v1: $(APP_SIGNED_V1_EXE) prereqs
$(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name "testing_gac_$@" --mono-path "unsigned_v2$(PLATFORM_PATH_SEPARATOR)signed_v1$(PLATFORM_PATH_SEPARATOR)$(BASE_MONO_PATH)" $(APP_SIGNED_V1_EXE)
test-signed-v1-app-mp-signed-v2-signed-v1: $(APP_SIGNED_V1_EXE) prereqs
$(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name "testing_gac_$@" --mono-path "signed_v2$(PLATFORM_PATH_SEPARATOR)signed_v1$(PLATFORM_PATH_SEPARATOR)$(BASE_MONO_PATH)" $(APP_SIGNED_V1_EXE)
+# MONO_GAC_PREFIX tests
+
+test-signed-v1-app-gac: $(APP_SIGNED_V1_EXE) gacinstall prereqs
+ $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name "testing_gac_$@" --mono-gac-prefix $(GACDIR) $(APP_SIGNED_V1_EXE)
+
.PHONY: gacinstall
gacinstall: $(SIGNED_V1_DLL) $(GACTESTLIB_DLLS_AOT)