1988 lines
71 KiB
Makefile
1988 lines
71 KiB
Makefile
SUBDIRS = assemblyresolve gc-descriptors . testing_gac
|
|
|
|
if FULL_AOT_TESTS
|
|
FEATUREFUL_RUNTIME_TEST =
|
|
else
|
|
FEATUREFUL_RUNTIME_TEST = test-appdomain-unload
|
|
endif
|
|
|
|
check-local: assemblyresolve/test/asm.dll testjit test-generic-sharing test-type-load test-multi-netmodule test-cattr-type-load test-reflection-load-with-context test_platform \
|
|
test-console-output test-env-options test-unhandled-exception-2 $(FEATUREFUL_RUNTIME_TEST) test-process-stress test-pedump rm-empty-logs runtest-gac-loading
|
|
check-full: test-sgen check-local
|
|
check-parallel: compile-tests check-full
|
|
|
|
check-coreclr:
|
|
$(MAKE) -C $(mono_build_root)/acceptance-tests check-coreclr
|
|
|
|
# for backwards compatibility on Wrench
|
|
test-wrench: check-parallel
|
|
|
|
aotcheck: testaot gshared-aot
|
|
|
|
JITTEST_PROG = $(if $(VALGRIND), valgrind $(VALGRIND_ARGS),) $(if $(SGEN),$(top_builddir)/mono/mini/mono-sgen,$(top_builddir)/mono/mini/mono)
|
|
|
|
JITTEST_PROG_RUN = MONO_CFG_DIR=$(mono_build_root)/runtime/etc $(LIBTOOL) --mode=execute $(JITTEST_PROG)
|
|
|
|
|
|
RUNTIME_ARGS=--config tests-config --optimize=all --debug
|
|
|
|
if HOST_WIN32
|
|
TEST_RUNNER_ARGS=--config tests-config --runtime $(if $(MONO_EXECUTABLE),$(shell cygpath -w -a $(MONO_EXECUTABLE) | sed 's/\\/\\\\/g'),mono)
|
|
else
|
|
TEST_RUNNER_ARGS=--config tests-config --runtime $(if $(MONO_EXECUTABLE),$(MONO_EXECUTABLE),mono)
|
|
endif
|
|
|
|
TEST_RUNNER_ARGS += $(if $(V), --verbose,)
|
|
|
|
CLASS=$(mcs_topdir)/class/lib/$(DEFAULT_PROFILE)
|
|
|
|
with_mono_path = MONO_PATH=$(CLASS)
|
|
|
|
RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper
|
|
TOOLS_RUNTIME = MONO_PATH=$(mcs_topdir)/class/lib/build $(top_builddir)/runtime/mono-wrapper --aot-path=$(mcs_topdir)/class/lib/build
|
|
|
|
MKBUNDLE = \
|
|
PKG_CONFIG_PATH=$(top_builddir):$(PKG_CONFIG_PATH) \
|
|
$(RUNTIME) $(CLASS)/mkbundle.exe
|
|
|
|
if FULL_AOT_TESTS
|
|
PROFILE_MCS_FLAGS = -d:MOBILE,MOBILE_LEGACY,FULL_AOT_DESKTOP
|
|
endif
|
|
|
|
if HYBRID_AOT_TESTS
|
|
PROFILE_MCS_FLAGS = -d:MOBILE,MOBILE_LEGACY
|
|
endif
|
|
|
|
MCS_NO_LIB = $(TOOLS_RUNTIME) $(CSC) -unsafe -debug:portable \
|
|
-noconfig -nologo \
|
|
-nowarn:0162 -nowarn:0168 -nowarn:0219 -nowarn:0414 -nowarn:0618 \
|
|
-nowarn:0169 -nowarn:1690 -nowarn:0649 -nowarn:0612 -nowarn:3021 \
|
|
-nowarn:0197 $(PROFILE_MCS_FLAGS)
|
|
|
|
MCS = $(MCS_NO_LIB)
|
|
|
|
ILASM = $(TOOLS_RUNTIME) $(mcs_topdir)/class/lib/build/ilasm.exe
|
|
|
|
TEST_RUNNER = ./test-runner.exe --runtime $(top_builddir)/runtime/mono-wrapper --mono-path "$(CLASS)"
|
|
|
|
if FULL_AOT_TESTS
|
|
TEST_RUNNER += --aot-run-flags "$(AOT_RUN_FLAGS)" --aot-build-flags "$(AOT_BUILD_FLAGS)"
|
|
endif
|
|
|
|
if HYBRID_AOT_TESTS
|
|
TEST_RUNNER += --aot-run-flags "$(AOT_RUN_FLAGS)" --aot-build-flags "$(AOT_BUILD_FLAGS)"
|
|
endif
|
|
|
|
|
|
BENCHSRC=fib.cs random.cs nested-loops.cs ackermann.cs tight-loop.cs sieve.cs
|
|
|
|
STRESS_TESTS_SRC= \
|
|
abort-stress-1.cs \
|
|
abort-stress-2.cs \
|
|
abort-stress-3.cs \
|
|
domain-stress.cs \
|
|
gchandle-stress.cs \
|
|
monitor-stress.cs \
|
|
thread-stress.cs \
|
|
gc-stress.cs \
|
|
gc-copy-stress.cs \
|
|
gc-graystack-stress.cs \
|
|
exit-stress.cs \
|
|
process-stress.cs \
|
|
assembly-load-stress.cs
|
|
|
|
# Disabled until ?mcs is fixed
|
|
# bug-331958.cs
|
|
BASE_TEST_CS_SRC= \
|
|
generic-unloading-sub.2.cs \
|
|
create-instance.cs \
|
|
bug-2907.cs \
|
|
array-init.cs \
|
|
arraylist.cs \
|
|
assembly-load-remap.cs \
|
|
assemblyresolve_event.cs \
|
|
assemblyresolve_event3.cs \
|
|
assemblyresolve_event4.cs \
|
|
checked.cs \
|
|
char-isnumber.cs \
|
|
field-layout.cs \
|
|
pack-layout.cs \
|
|
pack-bug.cs \
|
|
hash-table.cs \
|
|
test-ops.cs \
|
|
obj.cs \
|
|
test-dup-mp.cs \
|
|
string.cs \
|
|
stringbuilder.cs \
|
|
switch.cs \
|
|
outparm.cs \
|
|
delegate.cs \
|
|
bitconverter.cs \
|
|
exception.cs \
|
|
exception2.cs \
|
|
exception3.cs \
|
|
exception4.cs \
|
|
exception5.cs \
|
|
exception6.cs \
|
|
exception7.cs \
|
|
exception8.cs \
|
|
exception10.cs \
|
|
exception11.cs \
|
|
exception12.cs \
|
|
exception13.cs \
|
|
exception14.cs \
|
|
exception15.cs \
|
|
exception16.cs \
|
|
exception17.cs \
|
|
exception18.cs \
|
|
typeload-unaligned.cs \
|
|
struct.cs \
|
|
valuetype-gettype.cs \
|
|
typeof-ptr.cs \
|
|
static-constructor.cs \
|
|
pinvoke.cs \
|
|
pinvoke-utf8.cs \
|
|
pinvoke3.cs \
|
|
pinvoke11.cs \
|
|
pinvoke13.cs \
|
|
pinvoke17.cs \
|
|
invoke.cs \
|
|
invoke2.cs \
|
|
runtime-invoke.cs \
|
|
invoke-string-ctors.cs \
|
|
reinit.cs \
|
|
box.cs \
|
|
array.cs \
|
|
enum.cs \
|
|
enum2.cs \
|
|
enum-intrins.cs \
|
|
property.cs \
|
|
enumcast.cs \
|
|
assignable-tests.cs \
|
|
array-cast.cs \
|
|
array-subtype-attr.cs \
|
|
cattr-compile.cs \
|
|
cattr-field.cs \
|
|
cattr-object.cs \
|
|
custom-attr.cs \
|
|
double-cast.cs \
|
|
newobj-valuetype.cs \
|
|
arraylist-clone.cs \
|
|
setenv.cs \
|
|
vtype.cs \
|
|
isvaluetype.cs \
|
|
iface6.cs \
|
|
iface7.cs \
|
|
ipaddress.cs \
|
|
array-vt.cs \
|
|
interface1.cs \
|
|
reflection-enum.cs \
|
|
reflection-prop.cs \
|
|
reflection4.cs \
|
|
reflection5.cs \
|
|
reflection-const-field.cs \
|
|
many-locals.cs \
|
|
string-compare.cs \
|
|
test-prime.cs \
|
|
test-tls.cs \
|
|
params.cs \
|
|
reflection.cs \
|
|
interface.cs \
|
|
iface.cs \
|
|
iface2.cs \
|
|
iface3.cs \
|
|
iface4.cs \
|
|
iface-large.cs \
|
|
virtual-method.cs \
|
|
intptrcast.cs \
|
|
indexer.cs \
|
|
stream.cs \
|
|
console.cs \
|
|
shift.cs \
|
|
jit-int.cs \
|
|
jit-uint.cs \
|
|
jit-long.cs \
|
|
long.cs \
|
|
jit-ulong.cs \
|
|
jit-float.cs \
|
|
pop.cs \
|
|
time.cs \
|
|
pointer.cs \
|
|
hashcode.cs \
|
|
delegate1.cs \
|
|
delegate2.cs \
|
|
delegate3.cs \
|
|
delegate5.cs \
|
|
delegate6.cs \
|
|
delegate7.cs \
|
|
delegate8.cs \
|
|
delegate10.cs \
|
|
delegate11.cs \
|
|
delegate12.cs \
|
|
delegate13.cs \
|
|
largeexp.cs \
|
|
largeexp2.cs \
|
|
marshalbyref1.cs \
|
|
static-ctor.cs \
|
|
inctest.cs \
|
|
bound.cs \
|
|
array-invoke.cs \
|
|
test-arr.cs \
|
|
decimal.cs \
|
|
decimal-array.cs \
|
|
marshal.cs \
|
|
marshal1.cs \
|
|
marshal2.cs \
|
|
marshal3.cs \
|
|
marshal5.cs \
|
|
marshal6.cs \
|
|
marshal7.cs \
|
|
marshal8.cs \
|
|
marshal9.cs \
|
|
marshalbool.cs \
|
|
test-byval-in-struct.cs \
|
|
thread.cs \
|
|
thread5.cs \
|
|
thread-static.cs \
|
|
thread-static-init.cs \
|
|
context-static.cs \
|
|
float-pop.cs \
|
|
interfacecast.cs \
|
|
array3.cs \
|
|
classinit.cs \
|
|
classinit2.cs \
|
|
classinit3.cs \
|
|
synchronized.cs \
|
|
async_read.cs \
|
|
threadpool.cs \
|
|
threadpool1.cs \
|
|
threadpool-exceptions1.cs \
|
|
threadpool-exceptions2.cs \
|
|
threadpool-exceptions3.cs \
|
|
threadpool-exceptions4.cs \
|
|
threadpool-exceptions5.cs \
|
|
threadpool-exceptions6.cs \
|
|
base-definition.cs \
|
|
bug-27420.cs \
|
|
bug-46781.cs \
|
|
bug-42136.cs \
|
|
bug-59286.cs \
|
|
bug-70561.cs \
|
|
bug-78311.cs \
|
|
bug-78653.cs \
|
|
bug-78656.cs \
|
|
bug-77127.cs \
|
|
bug-323114.cs \
|
|
bug-Xamarin-5278.cs \
|
|
interlocked.cs \
|
|
delegate-async-exit.cs \
|
|
delegate-delegate-exit.cs \
|
|
delegate-exit.cs \
|
|
finalizer-abort.cs \
|
|
finalizer-exception.cs \
|
|
finalizer-exit.cs \
|
|
finalizer-thread.cs \
|
|
main-exit.cs \
|
|
main-returns-abort-resetabort.cs \
|
|
main-returns-background-abort-resetabort.cs \
|
|
main-returns-background-resetabort.cs \
|
|
main-returns-background.cs \
|
|
main-returns-background-change.cs \
|
|
main-returns.cs \
|
|
subthread-exit.cs \
|
|
desweak.cs \
|
|
exists.cs \
|
|
handleref.cs \
|
|
dbnull-missing.cs \
|
|
test-type-ctor.cs \
|
|
soft-float-tests.cs \
|
|
thread-exit.cs \
|
|
finalize-parent.cs \
|
|
interlocked-2.2.cs \
|
|
pinvoke-2.2.cs \
|
|
bug-78431.2.cs \
|
|
bug-79684.2.cs \
|
|
catch-generics.2.cs \
|
|
event-get.2.cs \
|
|
safehandle.2.cs \
|
|
module-cctor-loader.2.cs \
|
|
generics-invoke-byref.2.cs \
|
|
generic-signature-compare.2.cs \
|
|
generics-sharing.2.cs \
|
|
shared-generic-methods.2.cs \
|
|
shared-generic-synchronized.2.cs \
|
|
generic-inlining.2.cs \
|
|
generic-initobj.2.cs \
|
|
generic-delegate.2.cs \
|
|
generic-sizeof.2.cs \
|
|
generic-virtual.2.cs \
|
|
generic-interface-methods.2.cs \
|
|
generic-array-type.2.cs \
|
|
generic-method-patching.2.cs \
|
|
generic-static-methods.2.cs \
|
|
generic-null-call.2.cs \
|
|
generic-special.2.cs \
|
|
generic-special2.2.cs \
|
|
generic-exceptions.2.cs \
|
|
generic-virtual2.2.cs \
|
|
generic-valuetype-interface.2.cs \
|
|
generic-getgenericarguments.2.cs \
|
|
generic-synchronized.2.cs \
|
|
generic-delegate-ctor.2.cs \
|
|
generic-array-iface-set.2.cs \
|
|
generic-typedef.2.cs \
|
|
bug-431413.2.cs \
|
|
bug-459285.2.cs \
|
|
generic-virtual-invoke.2.cs \
|
|
bug-461198.2.cs \
|
|
generic-sealed-virtual.2.cs \
|
|
generic-system-arrays.2.cs \
|
|
generic-stack-traces.2.cs \
|
|
generic-stack-traces2.2.cs \
|
|
bug-472600.2.cs \
|
|
recursive-generics.2.cs \
|
|
bug-473482.2.cs \
|
|
bug-473999.2.cs \
|
|
bug-479763.2.cs \
|
|
bug-616463.cs \
|
|
bug-80392.2.cs \
|
|
bug-82194.2.cs \
|
|
anonarray.2.cs \
|
|
ienumerator-interfaces.2.cs \
|
|
array-enumerator-ifaces.2.cs \
|
|
generic_type_definition_encoding.2.cs \
|
|
bug-333798.2.cs \
|
|
bug-348522.2.cs \
|
|
bug-340662_bug.cs \
|
|
bug-325283.2.cs \
|
|
thunks.cs \
|
|
winx64structs.cs \
|
|
nullable_boxing.2.cs \
|
|
valuetype-equals.cs \
|
|
custom-modifiers.2.cs \
|
|
bug-382986.cs \
|
|
test-inline-call-stack.cs \
|
|
bug-324535.cs \
|
|
modules.cs \
|
|
bug-81673.cs \
|
|
bug-81691.cs \
|
|
bug-415577.cs \
|
|
filter-stack.cs \
|
|
vararg.cs \
|
|
vararg2.cs \
|
|
bug-461867.cs \
|
|
bug-461941.cs \
|
|
bug-461261.cs \
|
|
bug-400716.cs \
|
|
bug-459094.cs \
|
|
bug-467456.cs \
|
|
bug-508538.cs \
|
|
bug-472692.2.cs \
|
|
gchandles.cs \
|
|
interlocked-3.cs \
|
|
interlocked-4.2.cs \
|
|
w32message.cs \
|
|
gc-altstack.cs \
|
|
large-gc-bitmap.cs \
|
|
bug-561239.cs \
|
|
bug-562150.cs \
|
|
bug-599469.cs \
|
|
monitor-resurrection.cs \
|
|
monitor-wait-abort.cs \
|
|
monitor-abort.cs \
|
|
bug-666008.cs \
|
|
bug-685908.cs \
|
|
sgen-long-vtype.cs \
|
|
delegate-invoke.cs \
|
|
bug-696593.cs \
|
|
bug-705140.cs \
|
|
bug-1147.cs \
|
|
mono-path.cs \
|
|
bug-bxc-795.cs \
|
|
bug-3903.cs \
|
|
async-with-cb-throws.cs \
|
|
bug-6148.cs \
|
|
bug-10127.cs \
|
|
bug-18026.cs \
|
|
allow-synchronous-major.cs \
|
|
block_guard_restore_aligment_on_exit.cs \
|
|
thread_static_gc_layout.cs \
|
|
sleep.cs \
|
|
bug-27147.cs \
|
|
bug-30085.cs \
|
|
bug-17537.cs \
|
|
pinvoke_ppcc.cs \
|
|
pinvoke_ppcs.cs \
|
|
pinvoke_ppci.cs \
|
|
pinvoke_ppcf.cs \
|
|
pinvoke_ppcd.cs \
|
|
bug-29585.cs \
|
|
priority.cs \
|
|
abort-cctor.cs \
|
|
thread-native-exit.cs \
|
|
reference-loader.cs \
|
|
thread-suspend-suspended.cs \
|
|
thread-suspend-selfsuspended.cs \
|
|
remoting4.cs \
|
|
remoting1.cs \
|
|
remoting2.cs \
|
|
remoting3.cs \
|
|
remoting5.cs \
|
|
appdomain.cs \
|
|
appdomain-client.cs \
|
|
appdomain-unload.cs \
|
|
appdomain-async-invoke.cs \
|
|
appdomain-thread-abort.cs \
|
|
appdomain1.cs \
|
|
appdomain2.cs \
|
|
appdomain-exit.cs \
|
|
appdomain-serialize-exception.cs \
|
|
assemblyresolve_event2.2.cs \
|
|
appdomain-unload-callback.cs \
|
|
appdomain-unload-doesnot-raise-pending-events.cs \
|
|
appdomain-unload-asmload.cs \
|
|
unload-appdomain-on-shutdown.cs \
|
|
bug-47295.cs \
|
|
loader.cs \
|
|
pinvoke2.cs \
|
|
generic-type-builder.2.cs \
|
|
dynamic-generic-size.cs \
|
|
cominterop.cs \
|
|
dynamic-method-access.2.cs \
|
|
dynamic-method-finalize.2.cs \
|
|
dynamic-method-stack-traces.cs \
|
|
generic_type_definition.2.cs \
|
|
bug-333798-tb.2.cs \
|
|
bug-335131.2.cs \
|
|
bug-322722_patch_bx.2.cs \
|
|
bug-322722_dyn_method_throw.2.cs \
|
|
bug-389886-2.cs \
|
|
bug-349190.2.cs \
|
|
bug-389886-sre-generic-interface-instances.cs \
|
|
bug-462592.cs \
|
|
bug-575941.cs \
|
|
bug-389886-3.cs \
|
|
constant-division.cs \
|
|
dynamic-method-resurrection.cs \
|
|
bug-80307.cs \
|
|
assembly_append_ordering.cs \
|
|
bug-544446.cs \
|
|
bug-36848.cs \
|
|
generic-marshalbyref.2.cs \
|
|
stackframes-async.2.cs \
|
|
transparentproxy.cs \
|
|
bug-48015.cs \
|
|
delegate9.cs \
|
|
marshal-valuetypes.cs \
|
|
xdomain-threads.cs \
|
|
monitor.cs \
|
|
generic-xdomain.2.cs \
|
|
threadpool-exceptions7.cs \
|
|
cross-domain.cs \
|
|
generic-unloading.2.cs \
|
|
namedmutex-destroy-race.cs \
|
|
thread6.cs \
|
|
appdomain-threadpool-unload.cs \
|
|
process-unref-race.cs \
|
|
bug-46661.cs \
|
|
w32message.cs
|
|
|
|
TEST_CS_SRC_DIST= \
|
|
$(BASE_TEST_CS_SRC) \
|
|
async-exc-compilation.cs \
|
|
filter-stack.cs \
|
|
finally_guard.cs \
|
|
finally_block_ending_in_dead_bb.cs
|
|
|
|
TEST_CS_SRC_GEN = \
|
|
runtime-invoke.gen.cs \
|
|
imt_big_iface_test.cs
|
|
|
|
if AMD64
|
|
TEST_CS_SRC = $(BASE_TEST_CS_SRC) $(TEST_CS_SRC_GEN) async-exc-compilation.cs finally_guard.cs finally_block_ending_in_dead_bb.cs
|
|
else
|
|
if X86
|
|
TEST_CS_SRC = $(BASE_TEST_CS_SRC) $(TEST_CS_SRC_GEN) async-exc-compilation.cs finally_guard.cs finally_block_ending_in_dead_bb.cs
|
|
else
|
|
TEST_CS_SRC = $(BASE_TEST_CS_SRC) $(TEST_CS_SRC_GEN)
|
|
endif
|
|
endif
|
|
|
|
if IA64
|
|
TEST_CS_SRC+=async-exc-compilation.cs filter-stack.cs
|
|
endif
|
|
|
|
TEST_IL_SRC= \
|
|
field-access.il \
|
|
method-access.il \
|
|
ldftn-access.il \
|
|
cpblkTest.il \
|
|
vbinterface.il \
|
|
calliTest.il \
|
|
calliGenericTest.il \
|
|
ckfiniteTest.il \
|
|
fault-handler.il \
|
|
locallocTest.il \
|
|
initblkTest.il \
|
|
qt-instance.il \
|
|
vararg.il \
|
|
bug-29859.il \
|
|
bug-78549.il \
|
|
static-fields-nonconst.il \
|
|
reload-at-bb-end.il \
|
|
test-enum-indstoreil.il \
|
|
filter-bug.il \
|
|
even-odd.il \
|
|
bug-82022.il \
|
|
vt-sync-method.il \
|
|
enum_types.il \
|
|
invalid-token.il \
|
|
call_missing_method.il \
|
|
call_missing_class.il \
|
|
ldfld_missing_field.il \
|
|
ldfld_missing_class.il \
|
|
find-method.2.il \
|
|
bug-79215.2.il \
|
|
bug-79956.2.il \
|
|
bug-327438.2.il \
|
|
bug-387274.2.il \
|
|
bug-426309.2.il \
|
|
ldtoken_with_byref_typespec.2.il \
|
|
resolve_method_bug.2.il \
|
|
resolve_field_bug.2.il \
|
|
resolve_type_bug.2.il \
|
|
generics-sharing-other-exc.2.il \
|
|
generic-ldobj.2.il \
|
|
generic-mkrefany.2.il \
|
|
generic-refanyval.2.il \
|
|
generic-ldtoken.2.il \
|
|
generic-ldtoken-method.2.il \
|
|
generic-ldtoken-field.2.il \
|
|
generic-tailcall.2.il \
|
|
generic-tailcall2.2.il \
|
|
generic-array-exc.2.il \
|
|
generic-valuetype-newobj2.2.il \
|
|
generic-valuetype-newobj.2.il \
|
|
generic-constrained.2.il \
|
|
generic-type-load-exception.2.il \
|
|
bug-81466.il \
|
|
bug457574.il \
|
|
bug445361.il \
|
|
bug-463303.il \
|
|
bug469742.2.il \
|
|
bug-528055.il \
|
|
array_load_exception.il \
|
|
bug-481403.il \
|
|
interface-with-static-method.il \
|
|
bug-633291.il \
|
|
delegate-with-null-target.il \
|
|
bug-318677.il \
|
|
gsharing-valuetype-layout.il \
|
|
invalid_generic_instantiation.il \
|
|
bug-45841-fpstack-exceptions.il
|
|
|
|
if AMD64
|
|
# #651684
|
|
PLATFORM_DISABLED_TESTS = finally_guard.exe
|
|
|
|
if HOST_WIN32
|
|
PLATFORM_DISABLED_TESTS += w32message.exe
|
|
endif
|
|
|
|
endif
|
|
|
|
if IA64
|
|
# bug #319249
|
|
PLATFORM_DISABLED_TESTS=exception17.exe
|
|
PLATFORM_DISABLED_TESTS+=winx64structs.exe
|
|
endif
|
|
|
|
if X86
|
|
|
|
if HOST_WIN32
|
|
PLATFORM_DISABLED_TESTS=async-exc-compilation.exe finally_guard.exe finally_block_ending_in_dead_bb.exe \
|
|
bug-18026.exe monitor.exe threadpool-exceptions5.exe process-unref-race.exe w32message.exe
|
|
endif
|
|
|
|
endif
|
|
|
|
if POWERPC
|
|
# bug #71274
|
|
PLATFORM_DISABLED_TESTS=finalizer-abort.exe finalizer-exception.exe finalizer-exit.exe
|
|
endif
|
|
|
|
if POWERPC64
|
|
# FIXME: These tests hang/fail for unknown reasons
|
|
PLATFORM_DISABLED_TESTS=monitor.exe threadpool-exceptions5.exe appdomain-thread-abort.exe appdomain-unload.exe \
|
|
pinvoke2.exe pinvoke3.exe pinvoke11.exe threadpool-exceptions7.exe winx64structs.exe bug-10127.exe pinvoke_ppcc.exe \
|
|
pinvoke_ppcs.exe pinvoke_ppci.exe pinvoke_ppcf.exe pinvoke_ppcd.exe abort-cctor.exe \
|
|
sgen-domain-unload-2.exe sgen-weakref-stress.exe sgen-cementing-stress.exe sgen-new-threads-dont-join-stw.exe \
|
|
sgen-new-threads-dont-join-stw-2.exe sgen-new-threads-collect.exe sgen-bridge.exe
|
|
endif
|
|
|
|
if ARM
|
|
PLATFORM_DISABLED_TESTS=filter-stack.exe
|
|
endif
|
|
|
|
if MIPS
|
|
# monitor.exe is racy
|
|
PLATFORM_DISABLED_TESTS=filter-stack.exe monitor.exe
|
|
endif
|
|
|
|
if S390X
|
|
PLATFORM_DISABLED_TESTS=dynamic-method-resurrection.exe
|
|
#PLATFORM_DISABLED_TESTS=dynamic-method-resurrection.exe exception17.exe
|
|
endif
|
|
|
|
if NACL_CODEGEN
|
|
# Tests that use Thread.Abort()
|
|
PLATFORM_DISABLED_TESTS= abort-stress-1.exe \
|
|
abort-stress-2.exe \
|
|
abort-stress-3.exe \
|
|
appdomain-thread-abort.exe \
|
|
async-exc-compilation.exe \
|
|
bug-561239.exe \
|
|
bug-70561.exe \
|
|
finalizer-abort.exe \
|
|
finally_guard.exe \
|
|
finally_block_ending_in_dead_bb.exe \
|
|
main-returns-abort-resetabort.exe \
|
|
main-returns-background-abort-resetabort.exe \
|
|
thread6.exe \
|
|
threadpool-exceptions5.exe \
|
|
threadpool-exceptions6.exe
|
|
|
|
PLATFORM_DISABLED_TESTS+= w32message.exe
|
|
|
|
# Tests that rely on AppDomain.Unload
|
|
PLATFORM_DISABLED_TESTS+= appdomain-async-invoke.exe \
|
|
appdomain-exit.exe \
|
|
appdomain-unload-callback.exe \
|
|
appdomain-unload.exe \
|
|
domain-stress.exe \
|
|
generic-unloading.2.exe \
|
|
monitor.exe \
|
|
remoting4.exe \
|
|
threadpool-exceptions7.exe \
|
|
xdomain-threads.exe
|
|
|
|
# pinvoke2 attaches a thread to the runtime, but
|
|
# doesn't 'unattach' it and it hangs in GC on exit
|
|
PLATFORM_DISABLED_TESTS+= pinvoke2.exe
|
|
|
|
# Tests that currently hang waiting for non-main threads
|
|
# to exit in NaCl, need to investigate. Most are AppDomain
|
|
# creation and Delegate tests.
|
|
PLATFORM_DISABLED_TESTS+= appdomain1.exe \
|
|
delegate9.exe \
|
|
marshal-valuetypes.exe \
|
|
cross-domain.exe \
|
|
stackframes-async.2.exe \
|
|
generic-marshalbyref.2.exe \
|
|
generic-xdomain.2.exe \
|
|
bug-415577.exe
|
|
|
|
# Tests that fail trying to write files (appdomain create mostly)
|
|
PLATFORM_DISABLED_TESTS+= bug-335131.2.exe \
|
|
bug-349190.2.exe \
|
|
bug-80307.exe \
|
|
bug-462592.exe
|
|
|
|
# FIXME: don't know why delegate2.exe fails, it shouldn't
|
|
PLATFORM_DISABLED_TESTS+= delegate2.exe
|
|
|
|
# These tests newly fail with the latest revision. pinvoke3 fails because
|
|
# of a thread attach, the others have not been investigated. TODO revisit.
|
|
PLATFORM_DISABLED_TESTS+= pinvoke3.exe \
|
|
async_read.exe \
|
|
async-with-cb-throws.exe \
|
|
appdomain-unload-doesnot-raise-pending-events.exe \
|
|
gsharing-valuetype-layout.exe
|
|
|
|
if X86
|
|
# FIXME: There are problems with async callbacks and results on NaCl 32-bit
|
|
PLATFORM_DISABLED_TESTS+= delegate1.exe \
|
|
delegate3.exe \
|
|
delegate5.exe \
|
|
delegate8.exe \
|
|
threadpool.exe \
|
|
threadpool1.exe \
|
|
threadpool-exceptions3.exe \
|
|
bug-323114.exe \
|
|
delegate-exit.exe \
|
|
bug-80392.2.exe
|
|
|
|
# FIXME: These tests hang/fail for unknown reasons, deal with exiting
|
|
PLATFORM_DISABLED_TESTS+= main-returns-background-resetabort.exe \
|
|
main-returns-background.exe \
|
|
main-returns-background-change.exe
|
|
endif
|
|
|
|
endif
|
|
|
|
if ENABLE_COOP
|
|
COOP_DISABLED_TESTS= thunks.exe
|
|
else
|
|
COOP_DISABLED_TESTS=
|
|
endif
|
|
|
|
PROFILE_DISABLED_TESTS=
|
|
|
|
if FULL_AOT_TESTS
|
|
# Tests which rely on TypeLoadExceptions
|
|
# In full-aot mode, these cause the relevant methods to be not AOTed.
|
|
PROFILE_DISABLED_TESTS += \
|
|
typeload-unaligned.exe \
|
|
field-access.exe \
|
|
invalid_generic_instantiation.exe \
|
|
bug-481403.exe \
|
|
array_ldelema.exe \
|
|
array_load_exception.exe \
|
|
bug445361.exe \
|
|
generic-type-load-exception.2.exe \
|
|
invalid-token.exe \
|
|
call_missing_method.exe \
|
|
call_missing_class.exe \
|
|
ldfld_missing_field.exe \
|
|
ldfld_missing_class.exe \
|
|
vt-sync-method.exe
|
|
|
|
# Tests which rely on remoting
|
|
PROFILE_DISABLED_TESTS += \
|
|
context-static.exe \
|
|
bug-415577.exe \
|
|
generic-marshalbyref.2.exe \
|
|
unhandled-exception-7.exe
|
|
|
|
# Tests which use unsupported pinvoke+full aot
|
|
# functionality
|
|
PROFILE_DISABLED_TESTS += \
|
|
marshal.exe \
|
|
marshal2.exe \
|
|
marshal6.exe \
|
|
marshal7.exe \
|
|
marshal8.exe \
|
|
pinvoke-2.2.exe \
|
|
pinvoke3.exe \
|
|
thunks.exe
|
|
|
|
# Tests which load assemblies which are not
|
|
# in the testing_aot_full profile
|
|
PROFILE_DISABLED_TESTS += \
|
|
assembly-load-remap.exe
|
|
|
|
# Test which needs remoting support
|
|
PROFILE_DISABLED_TESTS += \
|
|
remoting4.exe \
|
|
remoting1.exe \
|
|
remoting2.exe \
|
|
remoting3.exe \
|
|
remoting5.exe
|
|
|
|
# Tests which needs AppDomain support
|
|
PROFILE_DISABLED_TESTS += \
|
|
appdomain.exe \
|
|
appdomain-client.exe \
|
|
appdomain-unload.exe \
|
|
appdomain-async-invoke.exe \
|
|
appdomain-thread-abort.exe \
|
|
appdomain1.exe \
|
|
appdomain2.exe \
|
|
appdomain-exit.exe \
|
|
appdomain-unload-callback.exe \
|
|
appdomain-unload-doesnot-raise-pending-events.exe \
|
|
unload-appdomain-on-shutdown.exe \
|
|
assemblyresolve_event2.2.exe \
|
|
bug-544446.exe \
|
|
bug-36848.exe \
|
|
generic-marshalbyref.2.exe \
|
|
stackframes-async.2.exe \
|
|
transparentproxy.exe \
|
|
bug-48015.exe \
|
|
delegate9.exe \
|
|
marshal-valuetypes.exe \
|
|
xdomain-threads.exe \
|
|
monitor.exe \
|
|
generic-xdomain.2.exe \
|
|
threadpool-exceptions7.exe \
|
|
cross-domain.exe \
|
|
generic-unloading.2.exe \
|
|
appdomain-threadpool-unload.exe
|
|
|
|
# Tests which needs System.Reflection.Emit support
|
|
PROFILE_DISABLED_TESTS += \
|
|
bug-47295.exe \
|
|
loader.exe \
|
|
pinvoke2.exe \
|
|
generic-type-builder.2.exe \
|
|
dynamic-generic-size.exe \
|
|
cominterop.exe \
|
|
dynamic-method-access.2.exe \
|
|
dynamic-method-finalize.2.exe \
|
|
dynamic-method-stack-traces.exe \
|
|
generic_type_definition.2.exe \
|
|
bug-333798-tb.2.exe \
|
|
bug-335131.2.exe \
|
|
bug-322722_patch_bx.2.exe \
|
|
bug-322722_dyn_method_throw.2.exe \
|
|
bug-389886-2.exe \
|
|
bug-349190.2.exe \
|
|
bug-389886-sre-generic-interface-instances.exe \
|
|
bug-462592.exe \
|
|
bug-575941.exe \
|
|
bug-389886-3.exe \
|
|
constant-division.exe \
|
|
dynamic-method-resurrection.exe \
|
|
assembly_append_ordering.exe
|
|
|
|
# Test which needs System.Web support
|
|
PROFILE_DISABLED_TESTS += \
|
|
bug-80307.exe
|
|
|
|
# Tests which needs named Mutex support
|
|
PROFILE_DISABLED_TESTS += \
|
|
namedmutex-destroy-race.exe
|
|
|
|
# ThreadAbortException doesn't have necessary field for this test
|
|
PROFILE_DISABLED_TESTS += \
|
|
thread6.exe
|
|
|
|
# can't AOT the TestingReferenceAssembly.dll which is a dependency
|
|
# of reference-loader.exe because it contains the [ReferenceAssemblyAttribute]
|
|
# and the runtime errors out with "File does not contain a valid CIL image."
|
|
PROFILE_DISABLED_TESTS += \
|
|
reference-loader.exe
|
|
|
|
# constraints-load.il:
|
|
# Failed to load method 0x6000007 from '..../mono/tests/constraints-load.exe' due to
|
|
# Could not resolve type with token 01000002 assembly:mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 type:System.BrokenIComparable`1 member:<none>.
|
|
PROFILE_DISABLED_TESTS += \
|
|
constraints-load.exe \
|
|
bug-515884.exe
|
|
endif
|
|
|
|
if HYBRID_AOT_TESTS
|
|
PROFILE_DISABLED_TESTS += \
|
|
bug-80307.exe \
|
|
namedmutex-destroy-race.exe
|
|
endif
|
|
|
|
AOT_DISABLED_TESTS= \
|
|
constraints-load.exe
|
|
|
|
CI_DISABLED_TESTS = \
|
|
main-returns-background-resetabort.exe \
|
|
main-returns-background-abort-resetabort.exe \
|
|
assemblyresolve_event3.exe \
|
|
delegate2.exe \
|
|
finally_guard.exe \
|
|
generic-xdomain.2.exe
|
|
|
|
# failing tests which we temporarily disable for PRs
|
|
# so they don't interfere with other people's work
|
|
CI_PR_DISABLED_TESTS = \
|
|
appdomain-threadpool-unload.exe \
|
|
appdomain-thread-abort.exe
|
|
|
|
# appdomain-threadpool-unload.exe creates 100 appdomains, takes too long with llvm
|
|
LLVM_DISABLED_TESTS = \
|
|
appdomain-threadpool-unload.exe
|
|
|
|
LLVM = $(filter --llvm, $(MONO_ENV_OPTIONS))
|
|
|
|
# The two finalizer tests only work under sgen
|
|
# gc-altstack.exe fails under boehm because it has no support for altstack
|
|
# bug-459094.exe creates an extremely deep directory tree
|
|
# delegate-invoke.exe depends on 929c6bc9b6d76a273f251e6f5dfacac36e9c38bd which was
|
|
# reverted.
|
|
# bug-Xamarin-5278.exe got broken by 5d26590e79da139a284459299aee95c25f4cd835
|
|
# bug-45841-fpstack-exceptions.exe: https://bugzilla.xamarin.com/show_bug.cgi?id=47053
|
|
# appdomain-thread-abort.exe: https://bugzilla.xamarin.com/show_bug.cgi?id=47054
|
|
KNOWN_FAILING_TESTS = \
|
|
delegate-async-exception.exe \
|
|
bug-348522.2.exe \
|
|
bug-459094.exe \
|
|
delegate-invoke.exe \
|
|
bug-Xamarin-5278.exe \
|
|
bug-45841-fpstack-exceptions.exe \
|
|
appdomain-thread-abort.exe
|
|
|
|
DISABLED_TESTS = \
|
|
$(KNOWN_FAILING_TESTS) \
|
|
$(PLATFORM_DISABLED_TESTS) \
|
|
$(EXTRA_DISABLED_TESTS) \
|
|
$(COOP_DISABLED_TESTS) \
|
|
$(PROFILE_DISABLED_TESTS) \
|
|
$(if $(AOT),$(AOT_DISABLED_TESTS)) \
|
|
$(if $(CI),$(CI_DISABLED_TESTS)) \
|
|
$(if $(CI_PR),$CI_PR_DISABLED_TESTS) \
|
|
$(if $(LLVM),$(LLVM_DISABLED_TESTS))
|
|
|
|
INTERP_DISABLED_TESTS = \
|
|
$(CI_PR_DISABLED_TESTS) \
|
|
$(CI_DISABLED_TESTS) \
|
|
$(KNOWN_FAILING_TESTS) \
|
|
abort-cctor.exe \
|
|
appdomain-async-invoke.exe \
|
|
appdomain-exit.exe \
|
|
appdomain-unload-callback.exe \
|
|
appdomain-unload-doesnot-raise-pending-events.exe \
|
|
appdomain-unload.exe \
|
|
appdomain.exe \
|
|
appdomain1.exe \
|
|
appdomain2.exe \
|
|
array_load_exception.exe \
|
|
assembly_append_ordering.exe \
|
|
assemblyresolve_event4.exe \
|
|
async-exc-compilation.exe \
|
|
async-with-cb-throws.exe \
|
|
async_read.exe \
|
|
bug-18026.exe \
|
|
bug-2907.exe \
|
|
bug-323114.exe \
|
|
bug-327438.2.exe \
|
|
bug-335131.2.exe \
|
|
bug-415577.exe \
|
|
bug-461867.exe \
|
|
bug-461941.exe \
|
|
bug-46661.exe \
|
|
bug-47295.exe \
|
|
bug-48015.exe \
|
|
bug-544446.exe \
|
|
bug-685908.exe \
|
|
bug-80307.exe \
|
|
bug-80392.2.exe \
|
|
bug-81673.exe \
|
|
bug-82022.exe \
|
|
bug445361.exe \
|
|
call_missing_class.exe \
|
|
call_missing_method.exe \
|
|
calliGenericTest.exe \
|
|
cominterop.exe \
|
|
constant-division.exe \
|
|
context-static.exe \
|
|
cross-domain.exe \
|
|
delegate-async-exit.exe \
|
|
delegate-delegate-exit.exe \
|
|
delegate-exit.exe \
|
|
delegate-with-null-target.exe \
|
|
delegate1.exe \
|
|
delegate3.exe \
|
|
delegate5.exe \
|
|
delegate8.exe \
|
|
delegate9.exe \
|
|
dynamic-method-access.2.exe \
|
|
dynamic-method-finalize.2.exe \
|
|
dynamic-method-resurrection.exe \
|
|
dynamic-method-stack-traces.exe \
|
|
even-odd.exe \
|
|
exception18.exe \
|
|
field-access.exe \
|
|
finally_block_ending_in_dead_bb.exe \
|
|
generic-marshalbyref.2.exe \
|
|
generic-mkrefany.2.exe \
|
|
generic-refanyval.2.exe \
|
|
generic-stack-traces2.2.exe \
|
|
generic-type-load-exception.2.exe \
|
|
generic-unloading.2.exe \
|
|
generics-invoke-byref.2.exe \
|
|
generics-sharing.2.exe \
|
|
handleref.exe \
|
|
invalid-token.exe \
|
|
invalid_generic_instantiation.exe \
|
|
ldfld_missing_class.exe \
|
|
ldfld_missing_field.exe \
|
|
ldftn-access.exe \
|
|
main-returns-background-change.exe \
|
|
marshal-valuetypes.exe \
|
|
marshal.exe \
|
|
marshal2.exe \
|
|
marshal8.exe \
|
|
marshal9.exe \
|
|
marshalbool.exe \
|
|
method-access.exe \
|
|
monitor.exe \
|
|
nullable_boxing.2.exe \
|
|
pinvoke-2.2.exe \
|
|
pinvoke-utf8.exe \
|
|
pinvoke.exe \
|
|
pinvoke11.exe \
|
|
pinvoke2.exe \
|
|
pinvoke3.exe \
|
|
pinvoke_ppcc.exe \
|
|
pinvoke_ppcd.exe \
|
|
pinvoke_ppcf.exe \
|
|
pinvoke_ppci.exe \
|
|
pinvoke_ppcs.exe \
|
|
process-unref-race.exe \
|
|
reload-at-bb-end.exe \
|
|
remoting1.exe \
|
|
remoting2.exe \
|
|
remoting3.exe \
|
|
remoting4.exe \
|
|
remoting5.exe \
|
|
safehandle.2.exe \
|
|
stackframes-async.2.exe \
|
|
static-constructor.exe \
|
|
test-inline-call-stack.exe \
|
|
test-type-ctor.exe \
|
|
thread6.exe \
|
|
threadpool-exceptions1.exe \
|
|
threadpool-exceptions2.exe \
|
|
threadpool-exceptions3.exe \
|
|
threadpool-exceptions4.exe \
|
|
threadpool-exceptions5.exe \
|
|
threadpool-exceptions6.exe \
|
|
threadpool-exceptions7.exe \
|
|
threadpool.exe \
|
|
threadpool1.exe \
|
|
thunks.exe \
|
|
transparentproxy.exe \
|
|
typeload-unaligned.exe \
|
|
unload-appdomain-on-shutdown.exe \
|
|
vararg.exe \
|
|
vararg2.exe \
|
|
vt-sync-method.exe \
|
|
winx64structs.exe \
|
|
xdomain-threads.exe
|
|
|
|
# pre-requisite test sources: files that are not test themselves
|
|
# but that need to be compiled
|
|
PREREQ_IL_SRC=event-il.il module-cctor.il
|
|
PREREQ_CS_SRC=
|
|
PREREQ_IL_DLL_SRC=
|
|
PREREQ_CS_DLL_SRC=
|
|
|
|
PREREQSI_IL=$(PREREQ_IL_SRC:.il=.exe) \
|
|
$(PREREQ_IL_DLL_SRC:.il=.dll)
|
|
PREREQSI_CS=$(PREREQ_CS_SRC:.cs=.exe) \
|
|
$(PREREQ_CS_DLL_SRC:.cs=.dll)
|
|
TESTSI_CS=$(filter-out $(DISABLED_TESTS),$(TEST_CS_SRC:.cs=.exe))
|
|
TESTSI_IL=$(filter-out $(DISABLED_TESTS),$(TEST_IL_SRC:.il=.exe))
|
|
TESTBS=$(filter-out $(DISABLED_TESTS),$(BENCHSRC:.cs=.exe))
|
|
STRESS_TESTS=$(filter-out $(DISABLED_TESTS),$(STRESS_TESTS_SRC:.cs=.exe))
|
|
|
|
PREREQSI_IL_AOT=$(PREREQ_IL_SRC:.il=.exe$(PLATFORM_AOT_SUFFIX)) \
|
|
$(PREREQ_IL_DLL_SRC:.il=.dll$(PLATFORM_AOT_SUFFIX))
|
|
PREREQSI_CS_AOT=$(PREREQ_CS_SRC:.cs=.exe$(PLATFORM_AOT_SUFFIX)) \
|
|
$(PREREQ_CS_DLL_SRC:.cs=.dll$(PLATFORM_AOT_SUFFIX))
|
|
|
|
EXTRA_DIST=test-driver test-runner.cs $(TEST_CS_SRC_DIST) $(TEST_IL_SRC) \
|
|
$(BENCHSRC) $(STRESS_TESTS_SRC) stress-runner.pl $(PREREQ_IL_SRC) $(PREREQ_CS_SRC)
|
|
|
|
%.exe: %.il
|
|
$(ILASM) -out:$@ $<
|
|
|
|
if !FULL_AOT_TESTS
|
|
TEST_DRIVER_HARD_KILL_FEATURE=-r:$(CLASS)/Mono.Posix.dll
|
|
endif
|
|
|
|
if FULL_AOT_TESTS
|
|
TEST_DRIVER_DEPEND=TestDriver.dll$(PLATFORM_AOT_SUFFIX)
|
|
else
|
|
if HYBRID_AOT_TESTS
|
|
TEST_DRIVER_DEPEND=TestDriver.dll$(PLATFORM_AOT_SUFFIX)
|
|
else
|
|
TEST_DRIVER_DEPEND=TestDriver.dll
|
|
endif
|
|
endif
|
|
|
|
%.exe: %.cs $(TEST_DRIVER_DEPEND)
|
|
$(MCS) -r:$(CLASS)/System.dll -r:$(CLASS)/System.Xml.dll -r:$(CLASS)/System.Core.dll -r:TestDriver.dll $(TEST_DRIVER_HARD_KILL_FEATURE) -out:$@ $<
|
|
|
|
# N.B. test-runner.exe references the TOOLS_RUNTIME versions of the framework assemblies
|
|
test-runner.exe: test-runner.cs $(TEST_DRIVER_DEPEND)
|
|
$(MCS) -r:System.dll -r:System.Xml.dll -r:System.Core.dll -r:TestDriver.dll $(TEST_DRIVER_HARD_KILL_FEATURE) -out:$@ $<
|
|
|
|
%.dll: %.cs
|
|
$(MCS) -r:$(CLASS)/System.dll -target:library -out:$@ $<
|
|
|
|
reference-loader.exe: reference-loader.cs TestingReferenceAssembly.dll TestingReferenceReferenceAssembly.dll $(TEST_DRIVER_DEPEND)
|
|
$(MCS) -r:$(CLASS)/System.dll -r:TestDriver.dll -r:TestingReferenceAssembly.dll -r:TestingReferenceReferenceAssembly.dll $(TEST_DRIVER_HARD_KILL_FEATURE) -out:$@ $(srcdir)/reference-loader.cs
|
|
|
|
TestingReferenceAssembly.dll: TestingReferenceAssembly.cs
|
|
$(MCS) -target:library -out:$@ $<
|
|
|
|
TestingReferenceReferenceAssembly.dll: TestingReferenceReferenceAssembly.cs TestingReferenceAssembly.dll
|
|
$(MCS) -r:TestingReferenceAssembly.dll -target:library -out:$@ $<
|
|
|
|
%.exe$(PLATFORM_AOT_SUFFIX): %.exe
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $<
|
|
|
|
%.dll$(PLATFORM_AOT_SUFFIX): %.dll
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $<
|
|
|
|
# mkbundle works on ppc, but the pkg-config POC doesn't when run with make test
|
|
if POWERPC
|
|
test_platform:
|
|
else
|
|
# Can't use mkbundle on win32 since there is no static build there
|
|
# Can't run test-unhandled-exception on Windows because of all the debug popups...
|
|
if HOST_WIN32
|
|
test_platform:
|
|
else
|
|
# mkbundle uses the installed mono-2.pc so it won't work if there is no system mono
|
|
#test_platform: testbundle test-iomap-regression
|
|
test_platform: test-iomap-regression
|
|
endif
|
|
endif
|
|
|
|
if X86
|
|
if HOST_WIN32
|
|
else
|
|
test_platform: test-eglib-remap
|
|
endif
|
|
endif
|
|
|
|
AOT_EXTRA_LIBS = \
|
|
bug-382986-lib.dll$(PLATFORM_AOT_SUFFIX) \
|
|
bug-324535-il.dll$(PLATFORM_AOT_SUFFIX) \
|
|
bug-36848-a.dll$(PLATFORM_AOT_SUFFIX) \
|
|
bug-81691-b.dll$(PLATFORM_AOT_SUFFIX) \
|
|
bug-327438.2.exe$(PLATFORM_AOT_SUFFIX) \
|
|
bug-81466-lib.dll$(PLATFORM_AOT_SUFFIX)
|
|
|
|
if FULL_AOT_TESTS
|
|
prereqs: $(PREREQSI_IL_AOT) $(PREREQSI_CS_AOT) $(AOT_EXTRA_LIBS)
|
|
else
|
|
if HYBRID_AOT_TESTS
|
|
prereqs: $(PREREQSI_IL_AOT) $(PREREQSI_CS_AOT) $(AOT_EXTRA_LIBS)
|
|
else
|
|
prereqs: $(PREREQSI_IL) $(PREREQSI_CS)
|
|
endif
|
|
endif
|
|
|
|
# Target to precompile the test executables
|
|
tests: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la prereqs $(GSHARED_TESTS)
|
|
|
|
#
|
|
# Test that no symbols are missed in eglib-remap.h
|
|
#
|
|
OK_G_SYMBOLS='g_list\|g_slist\|g_concat_dir_and_file\|g_Ctoc\'
|
|
if NACL_CODEGEN
|
|
test-eglib-remap:
|
|
else
|
|
test-eglib-remap:
|
|
@echo "Testing eglib remap..."
|
|
@if which nm > /dev/null; then if nm $(top_builddir)/mono/mini/mono | grep -v $(OK_G_SYMBOLS) | grep 't g_'; then exit 1; else exit 0; fi; fi
|
|
endif
|
|
|
|
test-env-options:
|
|
MONO_ENV_OPTIONS="--version" $(RUNTIME) array-init.exe | grep -q Architecture:
|
|
|
|
test-sgen : sgen-tests
|
|
|
|
# Precompile the test assemblies in parallel
|
|
compile-tests:
|
|
$(MAKE) -j4 $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS) compile-gac-loading
|
|
if FULL_AOT_TESTS
|
|
$(MAKE) $(PREREQSI_IL_AOT) $(PREREQSI_CS_AOT) $(AOT_EXTRA_LIBS)
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(MAKE) $(PREREQSI_IL_AOT) $(PREREQSI_CS_AOT) $(AOT_EXTRA_LIBS)
|
|
endif
|
|
|
|
# Remove empty .stdout and .stderr files for wrench
|
|
rm-empty-logs:
|
|
@echo "Removing empty logs..."
|
|
find . '(' -name "*.stdout" -o -name "*.stderr" ')' -size 0 -exec rm {} \;
|
|
|
|
assemblyresolve/test/asm.dll:
|
|
$(MAKE) -C assemblyresolve prereq
|
|
|
|
TestDriver.dll:
|
|
$(MCS) -target:library -out:$@ $(srcdir)/../mini/TestDriver.cs $(srcdir)/../mini/TestHelpers.cs
|
|
|
|
runtest: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS)
|
|
@failed=0; \
|
|
passed=0; \
|
|
failed_tests="";\
|
|
if [ "x$$V" = "x1" ]; then dump_action="dump-output"; else dump_action="no-dump"; fi; \
|
|
rm -f testlist testlist.sorted; \
|
|
for i in $(TESTSI_CS) $(TESTBS) $(TESTSI_IL); do echo $${i} >> testlist; sort testlist > testlist.sorted; done; \
|
|
for i in `cat testlist.sorted`; do \
|
|
rm -f $${i}.so; \
|
|
$(with_mono_path) $(JITTEST_PROG_RUN) --aot --debug $${i} > $${i}.aotlog 2>&1 || exit 1; \
|
|
if $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$i "$(DISABLED_TESTS)" "$${dump_action}" $(RUNTIME_ARGS); \
|
|
then \
|
|
passed=`expr $${passed} + 1`; \
|
|
else \
|
|
if [ $$? = 2 ]; then break; fi; \
|
|
failed=`expr $${failed} + 1`; \
|
|
failed_tests="$${failed_tests} $$i"; \
|
|
fi \
|
|
done; \
|
|
echo "$${passed} test(s) passed. $${failed} test(s) did not pass."; \
|
|
rm -f testlist testlist.sorted; \
|
|
if [ $${failed} != 0 ]; then \
|
|
echo -e "\nFailed tests:\n"; \
|
|
for i in $${failed_tests}; do \
|
|
echo $${i}; \
|
|
if [ "x$$V" = "x1" ]; then \
|
|
cat $${i}.stdout; \
|
|
cat $${i}.stderr; \
|
|
fi; \
|
|
done; \
|
|
exit 1; \
|
|
fi
|
|
|
|
runtest-managed: test-runner.exe $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS)
|
|
$(TOOLS_RUNTIME) --debug $(TEST_RUNNER) $(TEST_RUNNER_ARGS) -j a --testsuite-name "runtime" --timeout 300 --disabled "$(DISABLED_TESTS)" $(TESTSI_CS) $(TESTBS) $(TESTSI_IL)
|
|
|
|
runtest-managed-serial: test-runner.exe $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS)
|
|
$(TOOLS_RUNTIME) --debug $(TEST_RUNNER) $(TEST_RUNNER_ARGS) -j 1 --testsuite-name "runtime" --disabled "$(DISABLED_TESTS)" $(TESTSI_CS) $(TESTBS) $(TESTSI_IL)
|
|
|
|
testjit:
|
|
@if test x$(M) != x0; then $(MAKE) runtest-managed; else $(MAKE) runtest; fi
|
|
|
|
testaot:
|
|
@$(MAKE) AOT=1 runtest
|
|
|
|
testtrace:
|
|
@$(MAKE) RUNTIME_ARGS="$${RUNTIME_ARGS} --trace" runtest
|
|
|
|
testinterp: test-runner.exe $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS)
|
|
$(TOOLS_RUNTIME) --debug $(TEST_RUNNER) $(TEST_RUNNER_ARGS) -j a --runtime-args "--interpreter" --testsuite-name "runtime-interp" --timeout 300 --disabled "$(INTERP_DISABLED_TESTS)" $(TESTSI_CS) $(TESTBS) $(TESTSI_IL)
|
|
|
|
testjitspeed: $(JITTEST_PROG) $(TESTBS)
|
|
for i in $(TESTBS); do \
|
|
echo $$i; \
|
|
time $(JITTEST_PROG) $$i; \
|
|
done
|
|
|
|
test-iomap-regression: exists.cs
|
|
@$(MCS) $(srcdir)/exists.cs -out:exists.exe
|
|
@echo "Testing exists.exe..."
|
|
@MONO_IOMAP=all $(RUNTIME) exists.exe
|
|
|
|
stresstest: $(STRESS_TESTS)
|
|
@failed=0; \
|
|
passed=0; \
|
|
failed_tests="";\
|
|
for i in $(STRESS_TESTS); do \
|
|
if $(srcdir)/stress-runner.pl $$i ../mini/mono $(RUNTIME_ARGS); \
|
|
then \
|
|
passed=`expr $${passed} + 1`; \
|
|
else \
|
|
if [ $$? = 2 ]; then break; fi; \
|
|
failed=`expr $${failed} + 1`; \
|
|
failed_tests="$${failed_tests} $$i"; \
|
|
fi \
|
|
done; \
|
|
echo "$${passed} test(s) passed. $${failed} test(s) did not pass."; \
|
|
if [ $${failed} != 0 ]; then echo -e "\nFailed tests:\n"; \
|
|
for i in $${failed_tests}; do echo $${i}; done; exit 1; fi
|
|
|
|
testbundle: console.exe
|
|
@echo "Testing mkbundle..."
|
|
@$(MKBUNDLE) --static console.exe > mkbundle.stdout
|
|
@$(with_mono_path) MONO_CFG_DIR=$(mono_cfg_dir) ./a.out >> mkbundle.stdout
|
|
@- rm -rf a.out
|
|
|
|
EXTRA_DIST += load-missing.il t-missing.cs load-exceptions.cs
|
|
test-type-load: $(TEST_DRIVER_DEPEND)
|
|
if !POWERPC64
|
|
@$(ILASM) /dll /output:load-missing.dll $(srcdir)/load-missing.il > /dev/null
|
|
@$(MCS) -t:library -out:t.dll -d:FOUND $(srcdir)/t-missing.cs
|
|
@$(MCS) -r:TestDriver.dll -r:load-missing.dll -r:t.dll -out:load-exceptions.exe $(srcdir)/load-exceptions.cs
|
|
@$(MCS) -t:library -out:t.dll $(srcdir)/t-missing.cs
|
|
@echo "Testing load-exception.exe..."
|
|
@$(RUNTIME) load-exceptions.exe > load-exceptions.exe.stdout 2> load-exceptions.exe.stderr
|
|
endif
|
|
|
|
EXTRA_DIST += test-multi-netmodule-1-netmodule.cs test-multi-netmodule-2-dll1.cs test-multi-netmodule-3-dll2.cs test-multi-netmodule-4-exe.cs
|
|
test-multi-netmodule:
|
|
@$(MCS) -t:module test-multi-netmodule-1-netmodule.cs
|
|
@$(MCS) -addmodule:test-multi-netmodule-1-netmodule.netmodule -t:library test-multi-netmodule-2-dll1.cs
|
|
@$(MCS) -addmodule:test-multi-netmodule-1-netmodule.netmodule -t:library test-multi-netmodule-3-dll2.cs
|
|
@$(MCS) -r:test-multi-netmodule-2-dll1.dll test-multi-netmodule-4-exe.cs
|
|
$(RUNTIME) test-multi-netmodule-4-exe.exe > test-multi-netmodule-4-exe.exe.stdout 2> test-multi-netmodule-4-exe.exe.stderr
|
|
|
|
EXTRA_DIST += custom-attr-errors.cs custom-attr-errors-lib.cs
|
|
test-cattr-type-load: $(TEST_DRIVER_DEPEND) custom-attr-errors.cs custom-attr-errors-lib.cs
|
|
$(MCS) -D:WITH_MEMBERS /t:library $(srcdir)/custom-attr-errors-lib.cs
|
|
$(MCS) -r:TestDriver.dll -r:custom-attr-errors-lib.dll $(srcdir)/custom-attr-errors.cs
|
|
$(MCS) /t:library $(srcdir)/custom-attr-errors-lib.cs
|
|
@echo "Testing custom-attribute-load-exceptions.exe..."
|
|
@$(RUNTIME) custom-attr-errors.exe > custom-attr-errors.exe.stdout 2> custom-attr-errors.exe.stderr
|
|
|
|
EXTRA_DIST += reflection-load-with-context-lib.cs reflection-load-with-context-second-lib.cs reflection-load-with-context.cs
|
|
test-reflection-load-with-context: reflection-load-with-context-lib.cs reflection-load-with-context-second-lib.cs reflection-load-with-context.exe
|
|
rm -rf reflection-load-dir
|
|
mkdir reflection-load-dir
|
|
$(MCS) /t:library $(srcdir)/reflection-load-with-context-second-lib.cs -out:reflection-load-dir/reflection-load-with-context-second-lib.dll
|
|
$(MCS) /t:library -r:reflection-load-dir/reflection-load-with-context-second-lib.dll $(srcdir)/reflection-load-with-context-lib.cs -out:reflection-load-dir/reflection-load-with-context-lib.dll
|
|
@echo "Testing reflection-load-with-context.cs.exe..."
|
|
@$(RUNTIME) reflection-load-with-context.exe > reflection-load-with-context.exe.stdout 2> reflection-load-with-context.exe.stderr
|
|
|
|
|
|
EXTRA_DIST += debug-casts.cs
|
|
# This depends on TLS, so its not ran by default
|
|
debug-casts:
|
|
@$(MCS) -r:TestDriver.dll $(srcdir)/debug-casts.cs
|
|
@$(RUNTIME) --debug=casts debug-casts.exe
|
|
|
|
EXTRA_DIST += sgen-bridge.cs sgen-descriptors.cs sgen-gshared-vtype.cs sgen-bridge-major-fragmentation.cs sgen-domain-unload.cs sgen-weakref-stress.cs sgen-cementing-stress.cs sgen-case-23400.cs finalizer-wait.cs critical-finalizers.cs sgen-domain-unload-2.cs sgen-suspend.cs sgen-new-threads-dont-join-stw.cs sgen-new-threads-dont-join-stw-2.cs sgen-new-threads-collect.cs sgen-bridge-xref.cs bug-17590.cs sgen-toggleref.cs sgen-bridge-gchandle.cs
|
|
|
|
|
|
sgen-tests:
|
|
$(MAKE) sgen-regular-tests
|
|
if !S390X
|
|
$(MAKE) sgen-toggleref-tests
|
|
$(MAKE) sgen-bridge-tests
|
|
$(MAKE) sgen-bridge2-tests
|
|
endif
|
|
|
|
SGEN_REGULAR_TESTS_SRC = \
|
|
finalizer-wait.cs \
|
|
critical-finalizers.cs \
|
|
sgen-descriptors.cs \
|
|
sgen-gshared-vtype.cs \
|
|
sgen-weakref-stress.cs \
|
|
sgen-cementing-stress.cs \
|
|
sgen-case-23400.cs \
|
|
sgen-new-threads-dont-join-stw.cs \
|
|
sgen-new-threads-dont-join-stw-2.cs \
|
|
sgen-new-threads-collect.cs \
|
|
gc-graystack-stress.cs \
|
|
bug-17590.cs \
|
|
sgen-domain-unload.cs \
|
|
sgen-domain-unload-2.cs
|
|
|
|
SGEN_REGULAR_DISABLED_TESTS=
|
|
|
|
if FULL_AOT_TESTS
|
|
SGEN_REGULAR_DISABLED_TESTS += \
|
|
sgen-domain-unload.exe \
|
|
sgen-domain-unload-2.exe
|
|
endif
|
|
|
|
SGEN_REGULAR_TESTS=$(filter-out $(SGEN_REGULAR_DISABLED_TESTS),$(SGEN_REGULAR_TESTS_SRC:.cs=.exe))
|
|
|
|
sgen-regular-tests: $(SGEN_REGULAR_TESTS)
|
|
$(MAKE) sgen-regular-tests-ms
|
|
$(MAKE) sgen-regular-tests-ms-conc
|
|
$(MAKE) sgen-regular-tests-ms-conc-par
|
|
$(MAKE) sgen-regular-tests-ms-conc-split
|
|
$(MAKE) sgen-regular-tests-ms-split
|
|
$(MAKE) sgen-regular-tests-ms-conc-split-95
|
|
$(MAKE) sgen-regular-tests-ms-clear-at-gc
|
|
$(MAKE) sgen-regular-tests-ms-conc-clear-at-gc
|
|
$(MAKE) sgen-regular-tests-ms-conc-split-clear-at-gc
|
|
|
|
sgen-regular-tests-ms: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
sgen-regular-tests-ms-conc: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
sgen-regular-tests-ms-conc-par: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep-conc-par" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
sgen-regular-tests-ms-conc-split: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep-conc,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
sgen-regular-tests-ms-split: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
sgen-regular-tests-ms-conc-split-95: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="major=marksweep-conc,minor=split,alloc-ratio=95" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
sgen-regular-tests-ms-clear-at-gc: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="clear-at-gc" MONO_GC_PARAMS="major=marksweep" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
sgen-regular-tests-ms-conc-clear-at-gc: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="clear-at-gc" MONO_GC_PARAMS="major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
sgen-regular-tests-ms-conc-split-clear-at-gc: $(SGEN_REGULAR_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="clear-at-gc" MONO_GC_PARAMS="major=marksweep-conc,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_REGULAR_TESTS)
|
|
|
|
SGEN_TOGGLEREF_TESTS= \
|
|
sgen-toggleref.exe
|
|
|
|
sgen-toggleref-tests: $(SGEN_TOGGLEREF_TESTS)
|
|
$(MAKE) sgen-toggleref-tests-plain
|
|
$(MAKE) sgen-toggleref-tests-ms-conc
|
|
$(MAKE) sgen-toggleref-tests-ms-conc-split
|
|
$(MAKE) sgen-toggleref-tests-ms-split
|
|
$(MAKE) sgen-toggleref-tests-ms-split-95
|
|
$(MAKE) sgen-toggleref-tests-plain-clear-at-gc
|
|
$(MAKE) sgen-toggleref-tests-ms-conc-clear-at-gc
|
|
$(MAKE) sgen-toggleref-tests-ms-split-clear-at-gc
|
|
|
|
sgen-toggleref-tests-plain: $(SGEN_TOGGLEREF_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="toggleref-test" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_TOGGLEREF_TESTS)
|
|
sgen-toggleref-tests-ms-conc: $(SGEN_TOGGLEREF_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="toggleref-test,major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_TOGGLEREF_TESTS)
|
|
sgen-toggleref-tests-ms-conc-split: $(SGEN_TOGGLEREF_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="toggleref-test,major=marksweep-conc,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_TOGGLEREF_TESTS)
|
|
sgen-toggleref-tests-ms-split: $(SGEN_TOGGLEREF_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="toggleref-test,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_TOGGLEREF_TESTS)
|
|
sgen-toggleref-tests-ms-split-95: $(SGEN_TOGGLEREF_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="" MONO_GC_PARAMS="toggleref-test,minor=split,alloc-ratio=95" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_TOGGLEREF_TESTS)
|
|
sgen-toggleref-tests-plain-clear-at-gc: $(SGEN_TOGGLEREF_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="clear-at-gc" MONO_GC_PARAMS="toggleref-test" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_TOGGLEREF_TESTS)
|
|
sgen-toggleref-tests-ms-conc-clear-at-gc: $(SGEN_TOGGLEREF_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="clear-at-gc" MONO_GC_PARAMS="toggleref-test,major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_TOGGLEREF_TESTS)
|
|
sgen-toggleref-tests-ms-split-clear-at-gc: $(SGEN_TOGGLEREF_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="clear-at-gc" MONO_GC_PARAMS="toggleref-test,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_TOGGLEREF_TESTS)
|
|
|
|
SGEN_BRIDGE_TESTS= \
|
|
sgen-bridge.exe \
|
|
sgen-bridge-major-fragmentation.exe
|
|
|
|
sgen-bridge-tests: $(SGEN_BRIDGE_TESTS)
|
|
$(MAKE) sgen-bridge-tests-plain
|
|
$(MAKE) sgen-bridge-tests-ms-conc
|
|
$(MAKE) sgen-bridge-tests-ms-split
|
|
$(MAKE) sgen-bridge-tests-plain-new-bridge
|
|
$(MAKE) sgen-bridge-tests-ms-conc-new-bridge
|
|
$(MAKE) sgen-bridge-tests-ms-split-new-bridge
|
|
$(MAKE) sgen-bridge-tests-plain-tarjan-bridge
|
|
$(MAKE) sgen-bridge-tests-ms-split-tarjan-bridge
|
|
|
|
sgen-bridge-tests-plain: $(SGEN_BRIDGE_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE_TESTS)
|
|
sgen-bridge-tests-ms-conc: $(SGEN_BRIDGE_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE_TESTS)
|
|
sgen-bridge-tests-ms-split: $(SGEN_BRIDGE_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE_TESTS)
|
|
sgen-bridge-tests-plain-new-bridge: $(SGEN_BRIDGE_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="bridge-implementation=new" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE_TESTS)
|
|
sgen-bridge-tests-ms-conc-new-bridge: $(SGEN_BRIDGE_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="bridge-implementation=new,major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE_TESTS)
|
|
sgen-bridge-tests-ms-split-new-bridge: $(SGEN_BRIDGE_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="bridge-implementation=new,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE_TESTS)
|
|
sgen-bridge-tests-plain-tarjan-bridge: $(SGEN_BRIDGE_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="bridge-implementation=tarjan" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE_TESTS)
|
|
sgen-bridge-tests-ms-split-tarjan-bridge: $(SGEN_BRIDGE_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="bridge-implementation=tarjan,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE_TESTS)
|
|
|
|
SGEN_BRIDGE2_TESTS= \
|
|
sgen-bridge-xref.exe
|
|
|
|
sgen-bridge2-tests: $(SGEN_BRIDGE2_TESTS)
|
|
$(MAKE) sgen-bridge2-tests-plain
|
|
$(MAKE) sgen-bridge2-tests-ms-conc
|
|
$(MAKE) sgen-bridge2-tests-ms-split
|
|
$(MAKE) sgen-bridge2-tests-plain-new-bridge
|
|
$(MAKE) sgen-bridge2-tests-ms-conc-new-bridge
|
|
$(MAKE) sgen-bridge2-tests-ms-split-new-bridge
|
|
$(MAKE) sgen-bridge2-tests-plain-tarjan-bridge
|
|
$(MAKE) sgen-bridge2-tests-ms-split-tarjan-bridge
|
|
|
|
sgen-bridge2-tests-plain: $(SGEN_BRIDGE2_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE2_TESTS)
|
|
sgen-bridge2-tests-ms-conc: $(SGEN_BRIDGE2_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE2_TESTS)
|
|
sgen-bridge2-tests-ms-split: $(SGEN_BRIDGE2_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE2_TESTS)
|
|
sgen-bridge2-tests-plain-new-bridge: $(SGEN_BRIDGE2_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="bridge-implementation=new" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE2_TESTS)
|
|
sgen-bridge2-tests-ms-conc-new-bridge: $(SGEN_BRIDGE2_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="bridge-implementation=new,major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE2_TESTS)
|
|
sgen-bridge2-tests-ms-split-new-bridge: $(SGEN_BRIDGE2_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="bridge-implementation=new,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE2_TESTS)
|
|
sgen-bridge2-tests-plain-tarjan-bridge: $(SGEN_BRIDGE2_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="bridge-implementation=tarjan" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE2_TESTS)
|
|
sgen-bridge2-tests-ms-split-tarjan-bridge: $(SGEN_BRIDGE2_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="bridge-implementation=tarjan,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 900 $(SGEN_BRIDGE2_TESTS)
|
|
|
|
SGEN_BRIDGE3_TESTS= \
|
|
sgen-bridge-gchandle.exe
|
|
|
|
sgen-bridge3-tests: $(SGEN_BRIDGE3_TESTS)
|
|
$(MAKE) sgen-bridge3-tests-plain
|
|
$(MAKE) sgen-bridge3-tests-ms-conc
|
|
$(MAKE) sgen-bridge3-tests-ms-split
|
|
$(MAKE) sgen-bridge3-tests-plain-new-bridge
|
|
$(MAKE) sgen-bridge3-tests-ms-conc-new-bridge
|
|
$(MAKE) sgen-bridge3-tests-ms-split-new-bridge
|
|
$(MAKE) sgen-bridge3-tests-plain-tarjan-bridge
|
|
$(MAKE) sgen-bridge3-tests-ms-split-tarjan-bridge
|
|
|
|
sgen-bridge3-tests-plain: $(SGEN_bridge3_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=3Bridge" MONO_GC_PARAMS="" $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --timeout 900 $(SGEN_BRIDGE3_TESTS)
|
|
sgen-bridge3-tests-ms-conc: $(SGEN_BRIDGE3_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=3Bridge" MONO_GC_PARAMS="major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --timeout 900 $(SGEN_BRIDGE3_TESTS)
|
|
sgen-bridge3-tests-ms-split: $(SGEN_BRIDGE3_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=3Bridge" MONO_GC_PARAMS="minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --timeout 900 $(SGEN_BRIDGE3_TESTS)
|
|
sgen-bridge3-tests-plain-new-bridge: $(SGEN_BRIDGE3_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=3Bridge" MONO_GC_PARAMS="bridge-implementation=new" $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --timeout 900 $(SGEN_BRIDGE3_TESTS)
|
|
sgen-bridge3-tests-ms-conc-new-bridge: $(SGEN_BRIDGE3_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=3Bridge" MONO_GC_PARAMS="bridge-implementation=new,major=marksweep-conc" $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --timeout 900 $(SGEN_BRIDGE3_TESTS)
|
|
sgen-bridge3-tests-ms-split-new-bridge: $(SGEN_BRIDGE3_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=3Bridge" MONO_GC_PARAMS="bridge-implementation=new,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --timeout 900 $(SGEN_BRIDGE3_TESTS)
|
|
sgen-bridge3-tests-plain-tarjan-bridge: $(SGEN_BRIDGE3_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=3Bridge" MONO_GC_PARAMS="bridge-implementation=tarjan" $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --timeout 900 $(SGEN_BRIDGE3_TESTS)
|
|
sgen-bridge3-tests-ms-split-tarjan-bridge: $(SGEN_BRIDGE3_TESTS) test-runner.exe
|
|
MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="bridge=3Bridge" MONO_GC_PARAMS="bridge-implementation=tarjan,minor=split" $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --timeout 900 $(SGEN_BRIDGE3_TESTS)
|
|
|
|
|
|
AOT_CONFIGURATIONS= \
|
|
"|regular" \
|
|
"--gc=boehm|boehm"
|
|
|
|
#LLVM crashes, got to fix it first.
|
|
# "--llvm|llvm" \
|
|
# "--llvm --gc=boehm|llvm+boehm"
|
|
|
|
|
|
test-aot:
|
|
@failed=0; \
|
|
passed=0; \
|
|
failed_tests="";\
|
|
profile=$(DEFAULT_PROFILE); \
|
|
tmpfile=`mktemp -t mono_aot_outputXXXXXX` || exit 1; \
|
|
rm -f test-aot-$${name}.stdout test-aot-$${name}.stderr; \
|
|
for assembly in $(mcs_topdir)/class/lib/$$profile/*.dll ; do \
|
|
asm_name=`basename $$assembly`; \
|
|
echo "... $$asm_name"; \
|
|
for conf in $(AOT_CONFIGURATIONS); do \
|
|
name=`echo $$conf | cut -d\| -f 2`; \
|
|
params=`echo $$conf | cut -d\| -f 1`; \
|
|
test_name="$${asm_name}|$${name}"; \
|
|
echo " $$test_name"; \
|
|
if MONO_PATH=$(mcs_topdir)/class/lib/$$profile $(JITTEST_PROG_RUN) $$params --aot=outfile=$$tmpfile $$assembly >> test-aot-$${name}.stdout 2>> test-aot-$${name}.stderr; \
|
|
then \
|
|
passed=`expr $${passed} + 1`; \
|
|
else \
|
|
failed=`expr $${failed} + 1`; \
|
|
failed_tests="$${failed_tests} $$test_name"; \
|
|
fi \
|
|
done; \
|
|
done; \
|
|
rm $$tmpfile; \
|
|
echo "$${passed} test(s) passed. $${failed} test(s) did not pass."; \
|
|
if [ $${failed} != 0 ]; then echo -e "\nFailed tests:\n"; \
|
|
for i in $${failed_tests}; do echo $${i}; done; exit 1; fi
|
|
|
|
|
|
# Generated tests for runtime invoke
|
|
EXTRA_DIST += gen-runtime-invoke.cs
|
|
runtime-invoke.gen.exe: $(TEST_DRIVER_DEPEND) gen-runtime-invoke.exe
|
|
$(RUNTIME) gen-runtime-invoke.exe > runtime-invoke.gen.cs
|
|
$(MCS) -out:runtime-invoke.gen.exe -r:TestDriver.dll runtime-invoke.gen.cs
|
|
|
|
EXTRA_DIST += make-imt-test.cs
|
|
imt_big_iface_test.exe: $(TEST_DRIVER_DEPEND) make-imt-test.exe
|
|
$(RUNTIME) make-imt-test.exe > imt_big_iface_test.cs
|
|
$(MCS) -out:imt_big_iface_test.exe -r:TestDriver.dll imt_big_iface_test.cs
|
|
|
|
EXTRA_DIST += test-inline-call-stack-library.cs test-inline-call-stack.cs
|
|
test-inline-call-stack-library.dll: $(TEST_DRIVER_DEPEND) $(srcdir)/test-inline-call-stack-library.cs
|
|
$(MCS) -t:library -out:test-inline-call-stack-library.dll $(srcdir)/test-inline-call-stack-library.cs
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
|
|
test-inline-call-stack.exe: $(TEST_DRIVER_DEPEND) test-inline-call-stack-library.dll $(srcdir)/test-inline-call-stack.cs
|
|
$(MCS) -r:TestDriver.dll -r:test-inline-call-stack-library.dll -out:test-inline-call-stack.exe $(srcdir)/test-inline-call-stack.cs
|
|
|
|
EXTRA_DIST += unhandled-exception-base-configuration.config
|
|
EXTRA_DIST += unhandled-exception-legacy-configuration.config
|
|
EXTRA_DIST += appdomain-unload.exe.config
|
|
EXTRA_DIST += unhandled-exception-test-case.2.cs
|
|
EXTRA_DIST += unhandled-exception-test-runner.2.cs
|
|
unhandled-exception-test-case.1.cs: unhandled-exception-test-case.2.cs
|
|
cp unhandled-exception-test-case.2.cs unhandled-exception-test-case.1.cs
|
|
unhandled-exception-test-case-legacy.1.cs: unhandled-exception-test-case.1.cs
|
|
cp unhandled-exception-test-case.1.cs unhandled-exception-test-case-legacy.1.cs
|
|
unhandled-exception-test-case-legacy.2.cs: unhandled-exception-test-case.2.cs
|
|
cp unhandled-exception-test-case.2.cs unhandled-exception-test-case-legacy.2.cs
|
|
unhandled-exception-config_files: unhandled-exception-base-configuration.config unhandled-exception-legacy-configuration.config
|
|
cp unhandled-exception-base-configuration.config unhandled-exception-test-case.1.exe.config
|
|
cp unhandled-exception-base-configuration.config unhandled-exception-test-case.2.exe.config
|
|
cp unhandled-exception-legacy-configuration.config unhandled-exception-test-case-legacy.1.exe.config
|
|
cp unhandled-exception-legacy-configuration.config unhandled-exception-test-case-legacy.2.exe.config
|
|
unhandled-exception-test-case.1.exe: unhandled-exception-test-case.1.cs
|
|
$(MCS) /debug unhandled-exception-test-case.1.cs
|
|
unhandled-exception-test-case-legacy.1.exe: unhandled-exception-test-case-legacy.1.cs
|
|
$(MCS) /debug unhandled-exception-test-case-legacy.1.cs
|
|
unhandled-exception-test-case.2.exe: unhandled-exception-test-case.2.cs
|
|
$(MCS) /debug unhandled-exception-test-case.2.cs
|
|
unhandled-exception-test-case-legacy.2.exe: unhandled-exception-test-case-legacy.2.cs
|
|
$(MCS) /debug unhandled-exception-test-case-legacy.2.cs
|
|
unhandled-exception-test-runner.2.exe: unhandled-exception-test-runner.2.cs
|
|
$(MCS) /debug unhandled-exception-test-runner.2.cs
|
|
|
|
test-unhandled-exception: unhandled-exception-test-runner.2.exe unhandled-exception-config_files unhandled-exception-test-case.1.exe unhandled-exception-test-case-legacy.1.exe unhandled-exception-test-case.2.exe unhandled-exception-test-case-legacy.2.exe
|
|
$(RUNTIME) unhandled-exception-test-runner.2.exe RUNTIME:../mini/mono,GTC:F
|
|
|
|
# We use 'test-support-files' to handle an ordering issue between the 'mono/' and 'runtime/' directories
|
|
bug-80307.exe: $(srcdir)/bug-80307.cs
|
|
$(MCS) -r:$(CLASS)/System.Web.dll -out:$@ $(srcdir)/bug-80307.cs
|
|
cd $(top_builddir)/runtime && $(MAKE) test-support-files
|
|
|
|
EXTRA_DIST += bug-81673-interface.cs
|
|
bug-81673.exe bug-81673-interface.dll: $(srcdir)/bug-81673.cs $(srcdir)/bug-81673-interface.cs
|
|
$(MCS) -target:library -out:bug-81673-interface.dll $(srcdir)/bug-81673-interface.cs
|
|
$(MCS) -out:bug-81673.exe -r:bug-81673-interface.dll $(srcdir)/bug-81673.cs
|
|
$(MCS) -define:WITH_STOP -target:library -out:bug-81673-interface.dll $(srcdir)/bug-81673-interface.cs
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
|
|
EXTRA_DIST += bug-36848-a.cs
|
|
bug-36848.exe bug-36848-a.dll: $(srcdir)/bug-36848.cs $(srcdir)/bug-36848-a.cs
|
|
$(MCS) -target:library -out:bug-36848-a.dll $(srcdir)/bug-36848-a.cs
|
|
$(MCS) -r:bug-36848-a.dll -out:bug-36848.exe $(srcdir)/bug-36848.cs
|
|
$(MCS) -target:library -out:bug-36848-a.dll $(srcdir)/bug-36848-a.cs /define:WITH_STOP
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
|
|
EXTRA_DIST += bug-81691-a.cs bug-81691-b.cs
|
|
bug-81691.exe bug-81691-b.dll: $(srcdir)/bug-81691.cs $(srcdir)/bug-81691-a.cs $(srcdir)/bug-81691-b.cs
|
|
$(MCS) -target:library -out:bug-81691-a.dll $(srcdir)/bug-81691-a.cs
|
|
$(MCS) -target:library -out:bug-81691-b.dll -r:bug-81691-a.dll $(srcdir)/bug-81691-b.cs
|
|
$(MCS) -r:bug-81691-b.dll -out:bug-81691.exe $(srcdir)/bug-81691.cs
|
|
rm -f bug-81691-a.dll
|
|
bug-81691.exe: bug-81691-b.dll
|
|
|
|
EXTRA_DIST += bug-81466-lib.il
|
|
bug-81466-lib.dll: bug-81466-lib.il
|
|
$(ILASM) /dll /output:bug-81466-lib.dll $(srcdir)/bug-81466-lib.il
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
bug-81466.exe: bug-81466.il bug-81466-lib.dll
|
|
$(ILASM) /exe /output:bug-81466.exe $(srcdir)/bug-81466.il
|
|
|
|
EXTRA_DIST += bug-324535-il.il
|
|
bug-324535-il.dll : bug-324535-il.il
|
|
$(ILASM) /dll /output:bug-324535-il.dll $(srcdir)/bug-324535-il.il
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
bug-324535.exe : bug-324535.cs bug-324535-il.dll
|
|
$(MCS) -r:bug-324535-il.dll -out:bug-324535.exe $(srcdir)/bug-324535.cs
|
|
|
|
EXTRA_DIST += custom-modifiers.2.cs custom-modifiers-lib.il
|
|
custom-modifiers-lib.dll: custom-modifiers-lib.il
|
|
$(ILASM) /dll /output:custom-modifiers-lib.dll $(srcdir)/custom-modifiers-lib.il
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
custom-modifiers.2.exe: custom-modifiers.2.cs custom-modifiers-lib.dll
|
|
$(MCS) -r:custom-modifiers-lib.dll -out:custom-modifiers.2.exe $(srcdir)/custom-modifiers.2.cs
|
|
|
|
EXTRA_DIST += bug-382986-lib.cs
|
|
bug-382986-lib.dll: bug-382986-lib.cs
|
|
$(MCS) -target:library -out:$@ $(srcdir)/bug-382986-lib.cs
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
|
|
bug-382986.exe: bug-382986.cs bug-382986-lib.dll
|
|
$(MCS) -out:$@ -r:bug-382986-lib.dll $(srcdir)/bug-382986.cs
|
|
|
|
EXTRA_DIST += bug-17537-helper.cs
|
|
bug-17537-helper.exe: bug-17537-helper.cs
|
|
$(MCS) -out:$@ $(srcdir)/bug-17537-helper.cs
|
|
chmod -x $@
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
|
|
bug-17537.exe: bug-17537.cs bug-17537-helper.exe
|
|
$(MCS) -r:$(CLASS)/System.dll -out:$@ $(srcdir)/bug-17537.cs
|
|
|
|
EXTRA_DIST += coreclr-security.cs
|
|
|
|
coreclr-security.exe : coreclr-security.cs
|
|
$(SMCS) -out:coreclr-security.exe $(srcdir)/coreclr-security.cs
|
|
|
|
test-coreclr-security : coreclr-security.exe
|
|
@echo "Testing coreclr-security.exe..."
|
|
@$(RUNTIME_MOONLIGHT) --security=core-clr-test coreclr-security.exe
|
|
|
|
EXTRA_DIST += generic-unboxing.2.il
|
|
generic-unboxing.2.dll : generic-unboxing.2.il
|
|
$(ILASM) /dll /output:generic-unboxing.2.dll $(srcdir)/generic-unboxing.2.il
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
|
|
EXTRA_DIST += generic-boxing.2.il
|
|
generic-boxing.2.dll : generic-boxing.2.il generic-unboxing.2.dll
|
|
$(ILASM) /dll /output:generic-boxing.2.dll $(srcdir)/generic-boxing.2.il
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
|
|
EXTRA_DIST += generic-unbox.2.cs
|
|
generic-unbox.2.exe : generic-unbox.2.cs generic-unboxing.2.dll
|
|
$(MCS) -r:generic-unboxing.2.dll -out:$@ $(srcdir)/generic-unbox.2.cs
|
|
|
|
EXTRA_DIST += generic-box.2.cs
|
|
generic-box.2.exe : generic-box.2.cs generic-unboxing.2.dll generic-boxing.2.dll
|
|
$(MCS) -r:generic-unboxing.2.dll,generic-boxing.2.dll -out:$@ $(srcdir)/generic-box.2.cs
|
|
|
|
EXTRA_DIST += generic-delegate2.2.cs generic-delegate2-lib.2.il
|
|
generic-delegate2-lib.2.dll : generic-delegate2-lib.2.il
|
|
$(ILASM) /dll /output:$@ $(srcdir)/generic-delegate2-lib.2.il
|
|
if FULL_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
if HYBRID_AOT_TESTS
|
|
$(RUNTIME) $(AOT_BUILD_FLAGS) $@
|
|
endif
|
|
generic-delegate2.2.exe : generic-delegate2.2.cs generic-delegate2-lib.2.dll
|
|
$(MCS) -r:generic-delegate2-lib.2.dll -out:$@ $(srcdir)/generic-delegate2.2.cs
|
|
|
|
bug-3903.exe: bug-3903.cs
|
|
$(MCS_NO_LIB) $(srcdir)/bug-3903.cs -nostdlib -r:$(srcdir)/../../external/binary-reference-assemblies/v2.0/mscorlib.dll -r:$(srcdir)/../../external/binary-reference-assemblies/v2.0/System.Core.dll -out:$@
|
|
|
|
gshared: test-generic-sharing
|
|
|
|
gshared-aot:
|
|
@$(MAKE) AOT=1 gshared
|
|
|
|
GSHARED_TESTS_SRC = \
|
|
generics-sharing.2.cs \
|
|
shared-generic-methods.2.cs \
|
|
shared-generic-synchronized.2.cs \
|
|
generic-initobj.2.cs \
|
|
generics-sharing-other-exc.2.cs \
|
|
generic-box.2.cs \
|
|
generic-unbox.2.cs \
|
|
generic-delegate.2.cs \
|
|
generic-sizeof.2.cs \
|
|
generic-ldobj.2.cs \
|
|
generic-mkrefany.2.cs \
|
|
generic-refanyval.2.cs \
|
|
generic-ldtoken.2.cs \
|
|
generic-ldtoken-method.2.cs \
|
|
generic-ldtoken-field.2.cs \
|
|
generic-virtual.2.cs \
|
|
generic-tailcall.2.cs \
|
|
generic-interface-methods.2.cs \
|
|
generic-array-type.2.cs \
|
|
generic-method-patching.2.cs \
|
|
generic-static-methods.2.cs \
|
|
generic-null-call.2.cs \
|
|
generic-tailcall2.2.cs \
|
|
generic-array-exc.2.cs \
|
|
generic-special.2.cs \
|
|
generic-special2.2.cs \
|
|
generic-exceptions.2.cs \
|
|
generic-delegate2.2.cs \
|
|
generic-virtual2.2.cs \
|
|
generic-valuetype-interface.2.cs \
|
|
generic-valuetype-newobj.2.cs \
|
|
generic-valuetype-newobj2.2.cs \
|
|
generic-getgenericarguments.2.cs \
|
|
generic-synchronized.2.cs \
|
|
generic-delegate-ctor.2.cs \
|
|
generic-constrained.2.cs \
|
|
bug-431413.2.cs \
|
|
generic-virtual-invoke.2.cs \
|
|
generic-typedef.2.cs \
|
|
generic-marshalbyref.2.cs \
|
|
bug-459285.2.cs \
|
|
bug-461198.2.cs \
|
|
generic-sealed-virtual.2.cs \
|
|
generic-system-arrays.2.cs \
|
|
generic-stack-traces.2.cs \
|
|
generic-stack-traces2.2.cs \
|
|
bug-472600.2.cs \
|
|
bug-473482.2.cs \
|
|
bug-473999.2.cs \
|
|
bug-479763.2.cs \
|
|
generic-type-load-exception.2.cs \
|
|
bug-616463.cs \
|
|
bug-1147.cs \
|
|
generic-type-builder.2.cs
|
|
|
|
GSHARED_DISABLED_TESTS=
|
|
|
|
if FULL_AOT_TESTS
|
|
GSHARED_DISABLED_TESTS += \
|
|
generic-type-builder.2.exe
|
|
endif
|
|
|
|
GSHARED_TESTS=$(filter-out $(GSHARED_DISABLED_TESTS),$(GSHARED_TESTS_SRC:.cs=.exe))
|
|
|
|
test-generic-sharing-normal: $(GSHARED_TESTS)
|
|
@for fn in $+ ; do \
|
|
echo "Testing $$fn ..."; \
|
|
$(RUNTIME) -O=gshared $$fn > $$fn.stdout || exit 1; \
|
|
$(RUNTIME) -O=gshared,shared $$fn > $$fn.stdout || exit 1; \
|
|
$(RUNTIME) -O=gshared,-inline $$fn > $$fn.stdout || exit 1; \
|
|
$(RUNTIME) -O=gshared,-inline,shared $$fn > $fn.stdout || exit 1; \
|
|
if [ x$(AOT) = x1 ]; then $(with_mono_path) $(JITTEST_PROG_RUN) --aot --debug $$fn > /dev/null || exit 1; $(RUNTIME) $$fn > $$fn.stdout || exit 1; fi; \
|
|
done
|
|
|
|
test-generic-sharing-managed: test-runner.exe $(GSHARED_TESTS)
|
|
$(Q) $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) -j a --testsuite-name "gshared" --disabled "$(DISABLED_TESTS)" --opt-sets "gshared gshared,shared gshared,-inline gshared,-inline,shared" $(GSHARED_TESTS)
|
|
|
|
if NACL_CODEGEN
|
|
test-generic-sharing:
|
|
else
|
|
test-generic-sharing:
|
|
@if test x$(M) != x0; then $(MAKE) test-generic-sharing-managed; else $(MAKE) test-generic-sharing-normal; fi
|
|
endif
|
|
|
|
EXTRA_DIST += async-exceptions.cs
|
|
async-exceptions.exe : async-exceptions.cs
|
|
$(MCS) -out:async-exceptions.exe $(srcdir)/async-exceptions.cs
|
|
test-async-exceptions : async-exceptions.exe
|
|
for i in `echo 0 1 2 3 4 5 6 7 8 9 10`; do $(RUNTIME) --inject-async-exc Tests:foo $$i async-exceptions.exe || exit 1; done
|
|
for i in `echo 0 1 2 3 4 5 6 7 8 9 10`; do $(RUNTIME) --inject-async-exc Tests:bar $$i async-exceptions.exe || exit 1; done
|
|
|
|
EXTRA_DIST += modules.cs modules-m1.cs
|
|
modules-m1.netmodule: modules-m1.cs
|
|
$(MCS) -out:$@ /target:module $(srcdir)/modules-m1.cs
|
|
modules.exe: modules.cs modules-m1.netmodule $(TEST_DRIVER_DEPEND)
|
|
$(MCS) -out:$@ /addmodule:modules-m1.netmodule -r:TestDriver.dll $(srcdir)/modules.cs
|
|
|
|
# Useful if mono is compiled with --enable-shared=no
|
|
patch-libtool:
|
|
cp "../../libtool" .
|
|
sed -e 's,build_libtool_libs=no,build_libtool_libs=yes,g' libtool > 2; mv 2 libtool
|
|
sed -e 's,LIBTOOL =,LIBTOOL2 =,g' Makefile > 2 && echo "LIBTOOL = bash ./libtool" > 1 && cat 1 2 > Makefile
|
|
touch libtest.c
|
|
|
|
|
|
if NACL_CODEGEN
|
|
test-process-exit:
|
|
else
|
|
EXTRA_DIST += threadpool-in-processexit.cs threadpool-in-processexit.exe.stdout.expected
|
|
test-process-exit:
|
|
@$(MCS) $(srcdir)/threadpool-in-processexit.cs -out:threadpool-in-processexit.exe
|
|
@echo "Testing threadpool-in-processexit.exe..."
|
|
@$(RUNTIME) threadpool-in-processexit.exe > threadpool-in-processexit.exe.stdout
|
|
@diff -w threadpool-in-processexit.exe.stdout $(srcdir)/threadpool-in-processexit.exe.stdout.expected
|
|
endif
|
|
|
|
OOM_TESTS = \
|
|
gc-oom-handling.exe \
|
|
gc-oom-handling2.exe
|
|
|
|
|
|
test-oom: $(OOM_TESTS)
|
|
@for fn in $+ ; do \
|
|
echo "Testing $$fn ..."; \
|
|
MONO_GC_PARAMS=max-heap-size=16m MONO_ENV_OPTIONS="--gc=sgen" $(RUNTIME) $$fn > $$fn.stdout || exit 1; \
|
|
MONO_GC_PARAMS=max-heap-size=16m $(RUNTIME) $$fn > $$fn.stdout || exit 1; \
|
|
done
|
|
|
|
if HOST_WIN32
|
|
test-unhandled-exception-2:
|
|
else
|
|
|
|
# tests that expect a 1 exit code
|
|
UNHANDLED_EXCEPTION_1_TESTS = \
|
|
unhandled-exception-1.exe
|
|
|
|
# tests that expect a 255 exit code
|
|
UNHANDLED_EXCEPTION_255_TESTS = \
|
|
unhandled-exception-2.exe \
|
|
unhandled-exception-3.exe \
|
|
unhandled-exception-4.exe \
|
|
unhandled-exception-5.exe \
|
|
unhandled-exception-6.exe \
|
|
unhandled-exception-7.exe \
|
|
unhandled-exception-8.exe
|
|
|
|
test-unhandled-exception-2: $(UNHANDLED_EXCEPTION_1_TESTS) $(UNHANDLED_EXCEPTION_255_TESTS)
|
|
$(MAKE) test-unhandled-exception-2-1-with-managed-handler
|
|
$(MAKE) test-unhandled-exception-2-1-without-managed-handler
|
|
$(MAKE) test-unhandled-exception-2-255-with-managed-handler
|
|
$(MAKE) test-unhandled-exception-2-255-without-managed-handler
|
|
|
|
test-unhandled-exception-2-1-with-managed-handler: $(UNHANDLED_EXCEPTION_1_TESTS) test-runner.exe
|
|
$(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) -j a --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --expected-exit-code 1 $(UNHANDLED_EXCEPTION_1_TESTS)
|
|
test-unhandled-exception-2-1-without-managed-handler: $(UNHANDLED_EXCEPTION_1_TESTS) test-runner.exe
|
|
TEST_UNHANDLED_EXCEPTION_HANDLER=1 $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) -j a --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --expected-exit-code 1 $(UNHANDLED_EXCEPTION_1_TESTS)
|
|
test-unhandled-exception-2-255-with-managed-handler: $(UNHANDLED_EXCEPTION_255_TESTS) test-runner.exe
|
|
$(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) -j a --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --expected-exit-code 255 $(UNHANDLED_EXCEPTION_255_TESTS)
|
|
test-unhandled-exception-2-255-without-managed-handler: $(UNHANDLED_EXCEPTION_255_TESTS) test-runner.exe
|
|
TEST_UNHANDLED_EXCEPTION_HANDLER=1 $(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) -j a --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --expected-exit-code 255 $(UNHANDLED_EXCEPTION_255_TESTS)
|
|
|
|
endif
|
|
|
|
EXTRA_DIST += appdomain-loader.cs appdomain-tester.cs
|
|
test-appdomain-unload: appdomain-loader.exe appdomain-tester.exe
|
|
$(RUNTIME) -O=gshared appdomain-loader.exe > appdomain-loader.exe.1.stdout || exit 1;
|
|
$(RUNTIME) appdomain-loader.exe > appdomain-loader.exe.2.stdout || exit 1;
|
|
MONO_DEBUG_ASSEMBLY_UNLOAD=1 $(RUNTIME) -O=gshared appdomain-loader.exe > appdomain-loader.exe.3.stdout || exit 1;
|
|
MONO_DEBUG_ASSEMBLY_UNLOAD=1 $(RUNTIME) appdomain-loader.exe > appdomain-loader.exe.4.stdout || exit 1;
|
|
|
|
EXTRA_DIST += console-output.cs console-output.exe.stderr.expected console-output.exe.stdout.expected
|
|
test-console-output: console-output.exe
|
|
@$(RUNTIME) console-output.exe 1>console-output.exe.stdout
|
|
@$(RUNTIME) console-output.exe 2>console-output.exe.stderr
|
|
@diff -w console-output.exe.stdout $(srcdir)/console-output.exe.stdout.expected \
|
|
&& diff -w console-output.exe.stderr $(srcdir)/console-output.exe.stderr.expected
|
|
|
|
test-pedump: test-runner.exe
|
|
$(with_mono_path) $(mono_build_root)/tools/pedump/pedump --verify error test-runner.exe
|
|
|
|
.PHONY: test-gac-loading
|
|
|
|
runtest-gac-loading: test-runner.exe
|
|
$(MAKE) -C testing_gac runtest
|
|
|
|
compile-gac-loading:
|
|
$(MAKE) -C testing_gac compile-tests
|
|
|
|
PROCESS_STRESS_TESTS= \
|
|
process-stress-1.exe \
|
|
process-stress-2.exe \
|
|
process-stress-3.exe \
|
|
process-leak.exe
|
|
|
|
test-process-stress: $(PROCESS_STRESS_TESTS) test-runner.exe
|
|
$(TOOLS_RUNTIME) $(TEST_RUNNER) $(TEST_RUNNER_ARGS) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" --timeout 600 $(PROCESS_STRESS_TESTS)
|
|
|
|
coreclr-gcstress:
|
|
$(MAKE) -C $(mono_build_root)/acceptance-tests coreclr-gcstress
|
|
|
|
# Tests for the Mono lldb plugin
|
|
EXTRA_DIST += test_lldb.py test-lldb.cs
|
|
test-lldb: test-lldb.exe
|
|
python test_lldb.py $(JITTEST_PROG)
|
|
|
|
noinst_LTLIBRARIES = libtest.la
|
|
|
|
AM_CPPFLAGS = $(GLIB_CFLAGS)
|
|
|
|
if HOST_WIN32
|
|
# gcc-3.4.4 emits incorrect code when making indirect calls to stdcall functions using a tail call
|
|
# This shows up when compiling mono_test_marshal_delegate ()
|
|
libtest_la_CFLAGS=-fno-optimize-sibling-calls
|
|
# the exported names created by gcc for stdcall functions are missing the leading _, so MS.NET
|
|
# can't find them. So we use --kill-at to remove the @ suffix as well.
|
|
libtest_la_LDFLAGS=-no-undefined -rpath `pwd` -Wl,--kill-at
|
|
else
|
|
libtest_la_LDFLAGS = -rpath `pwd`
|
|
endif
|
|
libtest_la_SOURCES = libtest.c
|
|
libtest_la_LIBADD = $(GLIB_LIBS) $(LIBICONV)
|
|
|
|
CLEANFILES = $(TESTSI_CS) $(TESTSI_IL) $(STRESS_TESTS) *.dll *.stdout *.aotlog *.exe stest.dat
|