Xamarin Public Jenkins 5d55bfa52c Imported Upstream version 4.0.3.19
Former-commit-id: 3869fd58d5153302a2708e2cc3f80e000b19c35c
2015-07-24 04:03:39 -04:00

2038 lines
70 KiB
Makefile

# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@IA64_TRUE@am__append_1 = async-exc-compilation.cs filter-stack.cs
# FIXME: There are problems with async callbacks and results on NaCl 32-bit
# FIXME: These tests hang/fail for unknown reasons, deal with exiting
@NACL_CODEGEN_TRUE@@X86_TRUE@am__append_2 = delegate1.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ delegate3.exe delegate5.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ delegate8.exe threadpool.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ threadpool1.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ threadpool-exceptions3.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ bug-323114.exe delegate-exit.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ bug-80392.2.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ main-returns-background-resetabort.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ main-returns-background.exe \
@NACL_CODEGEN_TRUE@@X86_TRUE@ main-returns-background-change.exe
@NACL_CODEGEN_FALSE@am__append_3 = threadpool-in-processexit.cs threadpool-in-processexit.exe.stdout.expected
subdir = mono/tests
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/mkinstalldirs $(srcdir)/tests-config.in \
$(top_srcdir)/depcomp ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/acinclude.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = tests-config
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
am__DEPENDENCIES_1 =
libtest_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libtest_la_OBJECTS = libtest_la-libtest.lo
libtest_la_OBJECTS = $(am_libtest_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
libtest_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libtest_la_CFLAGS) \
$(CFLAGS) $(libtest_la_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(libtest_la_SOURCES)
DIST_SOURCES = $(libtest_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
distdir
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
API_VER = @API_VER@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BOEHM_DEFINES = @BOEHM_DEFINES@
BUILD_EXEEXT = @BUILD_EXEEXT@
BUILD_GLIB_CFLAGS = @BUILD_GLIB_CFLAGS@
BUILD_GLIB_LIBS = @BUILD_GLIB_LIBS@
CC = @CC@
CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CC_FOR_BUILD = @CC_FOR_BUILD@
CFLAGS = @CFLAGS@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@
DLLTOOL = @DLLTOOL@
DOLT_BASH = @DOLT_BASH@
DSYMUTIL = @DSYMUTIL@
DTRACE = @DTRACE@
DTRACEFLAGS = @DTRACEFLAGS@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_PERF_EVENTS = @ENABLE_PERF_EVENTS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GDKX11 = @GDKX11@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_LIBS = @GLIB_LIBS@
GMODULE_CFLAGS = @GMODULE_CFLAGS@
GMODULE_LIBS = @GMODULE_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
GTKX11 = @GTKX11@
HAVE_MSGFMT = @HAVE_MSGFMT@
HOST_CC = @HOST_CC@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTL = @INTL@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBC = @LIBC@
LIBGC_CPPFLAGS = @LIBGC_CPPFLAGS@
LIBGC_LIBS = @LIBGC_LIBS@
LIBGC_STATIC_LIBS = @LIBGC_STATIC_LIBS@
LIBICONV = @LIBICONV@
LIBMONO_LA = @LIBMONO_LA@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LLVM_CFLAGS = @LLVM_CFLAGS@
LLVM_CONFIG = @LLVM_CONFIG@
LLVM_CXXFLAGS = @LLVM_CXXFLAGS@
LLVM_LDFLAGS = @LLVM_LDFLAGS@
LLVM_LIBS = @LLVM_LIBS@
LN_S = @LN_S@
LTCOMPILE = @LTCOMPILE@
LTCXXCOMPILE = @LTCXXCOMPILE@
LTLIBICONV = @LTLIBICONV@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MONO_DL_NEED_USCORE = @MONO_DL_NEED_USCORE@
MONO_NACL_ALIGN_MASK_OFF = @MONO_NACL_ALIGN_MASK_OFF@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OPROFILE_CFLAGS = @OPROFILE_CFLAGS@
OPROFILE_LIBS = @OPROFILE_LIBS@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SGEN_DEFINES = @SGEN_DEFINES@
SHARED_CFLAGS = @SHARED_CFLAGS@
SHELL = @SHELL@
SQLITE = @SQLITE@
SQLITE3 = @SQLITE3@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VTUNE_CFLAGS = @VTUNE_CFLAGS@
VTUNE_LIBS = @VTUNE_LIBS@
WERROR_CFLAGS = @WERROR_CFLAGS@
X11 = @X11@
XATTR_LIB = @XATTR_LIB@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XINERAMA = @XINERAMA@
XMKMF = @XMKMF@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
arch_target = @arch_target@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
docs_dir = @docs_dir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
export_ldflags = @export_ldflags@
extra_runtime_ldflags = @extra_runtime_ldflags@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
ikvm_native_dir = @ikvm_native_dir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
libgc_dir = @libgc_dir@
libgdiplus_install_loc = @libgdiplus_install_loc@
libgdiplus_loc = @libgdiplus_loc@
libmono_cflags = @libmono_cflags@
libmono_ldflags = @libmono_ldflags@
libsuffix = @libsuffix@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mcs_topdir = @mcs_topdir@
mcs_topdir_from_srcdir = @mcs_topdir_from_srcdir@
mkdir_p = @mkdir_p@
mono_build_root = @mono_build_root@
mono_cfg_dir = @mono_cfg_dir@
mono_runtime = @mono_runtime@
nacl_self_host = @nacl_self_host@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
reloc_libdir = @reloc_libdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SUBDIRS = cas assemblyresolve gc-descriptors
TEST_PROG = ../interpreter/mint
JITTEST_PROG = $(if $(VALGRIND), valgrind $(VALGRIND_ARGS),) $(if $(SGEN),$(top_builddir)/mono/mini/mono-sgen,$(top_builddir)/mono/mini/mono)
TEST_PROG_RUN = MONO_SHARED_DIR=$(mono_build_root)/runtime MONO_CFG_DIR=$(mono_build_root)/runtime/etc $(LIBTOOL) --mode=execute $(TEST_PROG)
JITTEST_PROG_RUN = MONO_SHARED_DIR=$(mono_build_root)/runtime MONO_CFG_DIR=$(mono_build_root)/runtime/etc $(LIBTOOL) --mode=execute $(JITTEST_PROG)
RUNTIME_ARGS = --config tests-config --optimize=all --debug
with_mono_path = MONO_PATH=$(mcs_topdir)/class/lib/net_4_5
RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper
MKBUNDLE = \
PKG_CONFIG_PATH=$(top_builddir):$(PKG_CONFIG_PATH) \
$(RUNTIME) $(mcs_topdir)/class/lib/net_4_5/mkbundle.exe
MCS = $(RUNTIME) $(mcs_topdir)/class/lib/build/mcs.exe -unsafe -debug \
-nowarn:0162 -nowarn:0168 -nowarn:0219 -nowarn:0414 -nowarn:0618 \
-nowarn:0169 -nowarn:1690 -nowarn:0649 -nowarn:0612 -nowarn:3021 \
-nowarn:0197
ILASM = $(RUNTIME) $(mcs_topdir)/class/lib/net_4_5/ilasm.exe
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 = \
bug-2907.cs \
array-init.cs \
arraylist.cs \
assemblyresolve_event.cs \
assemblyresolve_event3.cs \
assemblyresolve_event4.cs \
checked.cs \
char-isnumber.cs \
create-instance.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 \
typeload-unaligned.cs \
struct.cs \
valuetype-gettype.cs \
typeof-ptr.cs \
static-constructor.cs \
pinvoke.cs \
pinvoke2.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 \
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 \
appdomain.cs \
appdomain1.cs \
appdomain2.cs \
appdomain-client.cs \
appdomain-unload.cs \
appdomain-async-invoke.cs \
loader.cs \
pointer.cs \
hashcode.cs \
delegate1.cs \
delegate2.cs \
delegate3.cs \
delegate5.cs \
delegate6.cs \
delegate7.cs \
delegate8.cs \
delegate9.cs \
remoting1.cs \
remoting2.cs \
remoting3.cs \
remoting4.cs \
remoting5.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 \
marshal-valuetypes.cs \
test-byval-in-struct.cs \
thread.cs \
thread5.cs \
thread6.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 \
threadpool-exceptions7.cs \
base-definition.cs \
bug-27420.cs \
bug-47295.cs \
bug-46781.cs \
bug-48015.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 \
cross-domain.cs \
appdomain-exit.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 \
cominterop.cs \
exists.cs \
handleref.cs \
transparentproxy.cs \
dbnull-missing.cs \
test-type-ctor.cs \
soft-float-tests.cs \
thread-exit.cs \
finalize-parent.cs \
assemblyresolve_event2.2.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 \
stackframes-async.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-exceptions.2.cs \
generic-virtual2.2.cs \
generic-valuetype-interface.2.cs \
generic-getgenericarguments.2.cs \
generic-type-builder.2.cs \
generic-synchronized.2.cs \
generic-delegate-ctor.2.cs \
generic-array-iface-set.2.cs \
generic-typedef.2.cs \
generic-marshalbyref.2.cs \
generic-xdomain.2.cs \
dynamic-generic-size.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 \
dynamic-method-access.2.cs \
dynamic-method-finalize.2.cs \
bug-82194.2.cs \
anonarray.2.cs \
ienumerator-interfaces.2.cs \
array-enumerator-ifaces.2.cs \
generic_type_definition_encoding.2.cs \
generic_type_definition.2.cs \
bug-333798.2.cs \
bug-333798-tb.2.cs \
bug-335131.2.cs \
bug-322722_patch_bx.2.cs \
bug-348522.2.cs \
bug-340662_bug.cs \
bug-322722_dyn_method_throw.2.cs \
bug-389886-2.cs \
bug-325283.2.cs \
thunks.cs \
winx64structs.cs \
bug-349190.2.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-80307.cs \
bug-415577.cs \
filter-stack.cs \
vararg2.cs \
bug-389886-sre-generic-interface-instances.cs \
bug-461867.cs \
bug-461941.cs \
bug-461261.cs \
bug-400716.cs \
bug-462592.cs \
bug-459094.cs \
generic-unloading.2.cs \
generic-unloading-sub.2.cs \
bug-467456.cs \
appdomain-unload-callback.cs \
bug-508538.cs \
bug-472692.2.cs \
gchandles.cs \
interlocked-3.cs \
interlocked-4.2.cs \
appdomain-thread-abort.cs \
xdomain-threads.cs \
w32message.cs \
bug-544446.cs \
gc-altstack.cs \
large-gc-bitmap.cs \
bug-561239.cs \
bug-562150.cs \
bug-575941.cs \
bug-599469.cs \
bug-389886-3.cs \
monitor.cs \
monitor-resurrection.cs \
dynamic-method-resurrection.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 \
appdomain-unload-doesnot-raise-pending-events.cs \
bug-6148.cs \
assembly_append_ordering.cs \
bug-10127.cs \
bug-18026.cs \
allow-synchronous-major.cs \
unload-appdomain-on-shutdown.cs \
block_guard_restore_aligment_on_exit.cs \
thread_static_gc_layout.cs \
sleep.cs \
bug-27147.cs \
bug-17537.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
@AMD64_FALSE@@X86_FALSE@TEST_CS_SRC = $(BASE_TEST_CS_SRC) \
@AMD64_FALSE@@X86_FALSE@ $(TEST_CS_SRC_GEN) $(am__append_1)
@AMD64_FALSE@@X86_TRUE@TEST_CS_SRC = $(BASE_TEST_CS_SRC) \
@AMD64_FALSE@@X86_TRUE@ $(TEST_CS_SRC_GEN) \
@AMD64_FALSE@@X86_TRUE@ async-exc-compilation.cs \
@AMD64_FALSE@@X86_TRUE@ finally_guard.cs \
@AMD64_FALSE@@X86_TRUE@ finally_block_ending_in_dead_bb.cs \
@AMD64_FALSE@@X86_TRUE@ $(am__append_1)
@AMD64_TRUE@TEST_CS_SRC = $(BASE_TEST_CS_SRC) $(TEST_CS_SRC_GEN) \
@AMD64_TRUE@ async-exc-compilation.cs finally_guard.cs \
@AMD64_TRUE@ finally_block_ending_in_dead_bb.cs $(am__append_1)
# #651684
@AMD64_TRUE@PLATFORM_DISABLED_TESTS = finally_guard.exe \
@AMD64_TRUE@ $(am__append_2)
@ARM_TRUE@PLATFORM_DISABLED_TESTS = filter-stack.exe $(am__append_2)
@HOST_WIN32_TRUE@@X86_TRUE@PLATFORM_DISABLED_TESTS = \
@HOST_WIN32_TRUE@@X86_TRUE@ async-exc-compilation.exe \
@HOST_WIN32_TRUE@@X86_TRUE@ finally_guard.exe \
@HOST_WIN32_TRUE@@X86_TRUE@ finally_block_ending_in_dead_bb.exe \
@HOST_WIN32_TRUE@@X86_TRUE@ bug-18026.exe monitor.exe \
@HOST_WIN32_TRUE@@X86_TRUE@ threadpool-exceptions5.exe \
@HOST_WIN32_TRUE@@X86_TRUE@ $(am__append_2)
# bug #319249
@IA64_TRUE@PLATFORM_DISABLED_TESTS = exception17.exe winx64structs.exe \
@IA64_TRUE@ $(am__append_2)
# monitor.exe is racy
@MIPS_TRUE@PLATFORM_DISABLED_TESTS = filter-stack.exe monitor.exe \
@MIPS_TRUE@ $(am__append_2)
#PLATFORM_DISABLED_TESTS=dynamic-method-resurrection.exe exception17.exe
# Tests that use Thread.Abort()
# Tests that rely on AppDomain.Unload
# pinvoke2 attaches a thread to the runtime, but
# doesn't 'unattach' it and it hangs in GC on exit
# Tests that currently hang waiting for non-main threads
# to exit in NaCl, need to investigate. Most are AppDomain
# creation and Delegate tests.
# Tests that fail trying to write files (appdomain create mostly)
# FIXME: don't know why delegate2.exe fails, it shouldn't
# These tests newly fail with the latest revision. pinvoke3 fails because
# of a thread attach, the others have not been investigated. TODO revisit.
@NACL_CODEGEN_TRUE@PLATFORM_DISABLED_TESTS = abort-stress-1.exe \
@NACL_CODEGEN_TRUE@ abort-stress-2.exe abort-stress-3.exe \
@NACL_CODEGEN_TRUE@ appdomain-thread-abort.exe \
@NACL_CODEGEN_TRUE@ async-exc-compilation.exe bug-561239.exe \
@NACL_CODEGEN_TRUE@ bug-70561.exe finalizer-abort.exe \
@NACL_CODEGEN_TRUE@ finally_guard.exe \
@NACL_CODEGEN_TRUE@ finally_block_ending_in_dead_bb.exe \
@NACL_CODEGEN_TRUE@ main-returns-abort-resetabort.exe \
@NACL_CODEGEN_TRUE@ main-returns-background-abort-resetabort.exe \
@NACL_CODEGEN_TRUE@ thread6.exe threadpool-exceptions5.exe \
@NACL_CODEGEN_TRUE@ threadpool-exceptions6.exe \
@NACL_CODEGEN_TRUE@ appdomain-async-invoke.exe \
@NACL_CODEGEN_TRUE@ appdomain-exit.exe \
@NACL_CODEGEN_TRUE@ appdomain-unload-callback.exe \
@NACL_CODEGEN_TRUE@ appdomain-unload.exe domain-stress.exe \
@NACL_CODEGEN_TRUE@ generic-unloading.2.exe monitor.exe \
@NACL_CODEGEN_TRUE@ remoting4.exe threadpool-exceptions7.exe \
@NACL_CODEGEN_TRUE@ xdomain-threads.exe pinvoke2.exe \
@NACL_CODEGEN_TRUE@ appdomain1.exe delegate9.exe \
@NACL_CODEGEN_TRUE@ marshal-valuetypes.exe cross-domain.exe \
@NACL_CODEGEN_TRUE@ stackframes-async.2.exe \
@NACL_CODEGEN_TRUE@ generic-marshalbyref.2.exe \
@NACL_CODEGEN_TRUE@ generic-xdomain.2.exe bug-415577.exe \
@NACL_CODEGEN_TRUE@ bug-335131.2.exe bug-349190.2.exe \
@NACL_CODEGEN_TRUE@ bug-80307.exe bug-462592.exe delegate2.exe \
@NACL_CODEGEN_TRUE@ pinvoke3.exe async_read.exe \
@NACL_CODEGEN_TRUE@ async-with-cb-throws.exe \
@NACL_CODEGEN_TRUE@ appdomain-unload-doesnot-raise-pending-events.exe \
@NACL_CODEGEN_TRUE@ gsharing-valuetype-layout.exe \
@NACL_CODEGEN_TRUE@ $(am__append_2)
# bug #71274
@POWERPC_TRUE@PLATFORM_DISABLED_TESTS = finalizer-abort.exe \
@POWERPC_TRUE@ finalizer-exception.exe finalizer-exit.exe \
@POWERPC_TRUE@ $(am__append_2)
@S390X_TRUE@PLATFORM_DISABLED_TESTS = dynamic-method-resurrection.exe \
@S390X_TRUE@ $(am__append_2)
# 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.
DISABLED_TESTS = \
delegate-async-exception.exe \
bug-348522.2.exe \
bug-459094.exe \
delegate-invoke.exe \
$(PLATFORM_DISABLED_TESTS) \
$(EXTRA_DISABLED_TESTS)
DISABLED_TESTS_WRENCH = \
$(DISABLED_TESTS) \
$(PLATFORM_DISABLED_TESTS_WRENCH) \
main-returns-background-resetabort.exe \
main-returns-background-abort-resetabort.exe \
thread6.exe \
assemblyresolve_event3.exe \
delegate2.exe \
finally_guard.exe \
gc-altstack.exe \
generic-xdomain.2.exe
AOT_DISABLED_TESTS = constraints-load.exe
# These only compile with MS CSC
TEST_CSC_SRC = \
vararg.cs
TEST_IL_SRC = \
field-access.il \
method-access.il \
ldftn-access.il \
cpblkTest.il \
vbinterface.il \
calliTest.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 \
constraints-load.il \
array_load_exception.il \
bug-481403.il \
interface-with-static-method.il \
bug-515884.il \
bug-633291.il \
delegate-with-null-target.il \
bug-318677.il \
gsharing-valuetype-layout.il \
invalid_generic_instantiation.il
# 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 = event-il.il module-cctor.il
PREREQ_CS_DLL_SRC =
PREREQSI_IL = $(PREREQ_IL_SRC:.il=.exe)
PREREQSI_CS = $(PREREQ_CS_SRC:.cs=.exe)
TESTSI_CS = $(TEST_CS_SRC:.cs=.exe)
TESTSI_IL = $(TEST_IL_SRC:.il=.exe)
TESTBS = $(BENCHSRC:.cs=.exe)
STRESS_TESTS = $(STRESS_TESTS_SRC:.cs=.exe)
# Generated tests for runtime invoke
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) \
load-missing.il t-missing.cs load-exceptions.cs \
custom-attr-errors.cs custom-attr-errors-lib.cs \
reflection-load-with-context-lib.cs \
reflection-load-with-context-second-lib.cs \
reflection-load-with-context.cs debug-casts.cs 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-bridge-xref.cs \
bug-17590.cs sgen-toggleref.cs gen-runtime-invoke.cs \
make-imt-test.cs test-inline-call-stack-library.cs \
test-inline-call-stack.cs \
unhandled-exception-base-configuration.config \
unhandled-exception-legacy-configuration.config \
appdomain-unload.exe.config unhandled-exception-test-case.2.cs \
unhandled-exception-test-runner.2.cs bug-81673-interface.cs \
bug-81691-a.cs bug-81691-b.cs bug-81466-lib.il \
bug-324535-il.il custom-modifiers.2.cs custom-modifiers-lib.il \
bug-382986-lib.cs bug-17537-helper.cs coreclr-security.cs \
generic-unboxing.2.il generic-boxing.2.il generic-unbox.2.cs \
generic-box.2.cs generic-delegate2.2.cs \
generic-delegate2-lib.2.il async-exceptions.cs modules.cs \
modules-m1.cs $(am__append_3)
#
# Test that no symbols are missed in eglib-remap.h
#
OK_G_SYMBOLS = 'g_list\|g_slist\|g_concat_dir_and_file\|g_Ctoc\'
#those are actually configurations, eg plain_sgen-descriptors.exe
#DISABLE_SGEN_TESTS =
SGEN_TESTS = \
finalizer-wait.exe \
critical-finalizers.exe \
sgen-descriptors.exe \
sgen-gshared-vtype.exe \
sgen-domain-unload.exe \
sgen-weakref-stress.exe \
sgen-cementing-stress.exe \
sgen-case-23400.exe \
sgen-new-threads-dont-join-stw.exe \
gc-graystack-stress.exe \
bug-17590.exe
SGEN_CONFIGURATIONS = \
"|plain" \
"major=marksweep-conc|ms-conc" \
"major=marksweep-conc,minor=split|ms-conc-split" \
"minor=split|ms-split" \
"minor=split,alloc-ratio=95|ms-split-95" \
"|plain-clear-at-gc|clear-at-gc" \
"major=marksweep-conc|ms-conc-clear-at-gc|clear-at-gc" \
"minor=split|ms-split-clear-at-gc|clear-at-gc"
#FIXME We should move to use SGEN_CONFIGURATIONS once sgen supports trailling commas or its argument list.
SGEN_BRIDGE_CONFIGURATIONS = \
"|plain" \
",major=marksweep-conc|ms-conc" \
"minor=split|ms-split" \
"bridge-implementation=new|plain-new-bridge" \
"bridge-implementation=new,major=marksweep-conc|ms-conc-new-bridge" \
"bridge-implementation=new,minor=split|ms-split-new-bridge" \
"bridge-implementation=tarjan|plain-tarjan-bridge" \
"bridge-implementation=tarjan,minor=split|ms-split-tarjan-bridge"
AOT_CONFIGURATIONS = \
"|regular" \
"--gc=boehm|boehm"
GSHARED_TESTS = \
generics-sharing.2.exe shared-generic-methods.2.exe \
shared-generic-synchronized.2.exe generic-initobj.2.exe \
generics-sharing-other-exc.2.exe generic-box.2.exe \
generic-unbox.2.exe generic-delegate.2.exe generic-sizeof.2.exe \
generic-ldobj.2.exe generic-mkrefany.2.exe \
generic-refanyval.2.exe generic-ldtoken.2.exe \
generic-ldtoken-method.2.exe generic-ldtoken-field.2.exe \
generic-virtual.2.exe generic-tailcall.2.exe \
generic-interface-methods.2.exe generic-array-type.2.exe \
generic-method-patching.2.exe generic-static-methods.2.exe \
generic-null-call.2.exe generic-tailcall2.2.exe \
generic-array-exc.2.exe generic-special.2.exe \
generic-exceptions.2.exe generic-delegate2.2.exe \
generic-virtual2.2.exe generic-valuetype-interface.2.exe \
generic-valuetype-newobj.2.exe generic-valuetype-newobj2.2.exe \
generic-getgenericarguments.2.exe generic-type-builder.2.exe \
generic-synchronized.2.exe generic-delegate-ctor.2.exe \
generic-constrained.2.exe bug-431413.2.exe \
generic-virtual-invoke.2.exe generic-typedef.2.exe \
generic-marshalbyref.2.exe bug-459285.2.exe bug-461198.2.exe \
generic-sealed-virtual.2.exe generic-system-arrays.2.exe \
generic-stack-traces.2.exe generic-stack-traces2.2.exe \
bug-472600.2.exe bug-473482.2.exe bug-473999.2.exe \
bug-479763.2.exe \
generic-type-load-exception.2.exe bug-616463.exe \
bug-1147.exe
OOM_TESTS = \
gc-oom-handling.exe \
gc-oom-handling2.exe
noinst_LTLIBRARIES = libtest.la
AM_CPPFLAGS = $(GLIB_CFLAGS) $(GMODULE_CFLAGS)
# 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 ()
@HOST_WIN32_TRUE@libtest_la_CFLAGS = -fno-optimize-sibling-calls
@HOST_WIN32_FALSE@libtest_la_LDFLAGS = -rpath `pwd`
# 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.
@HOST_WIN32_TRUE@libtest_la_LDFLAGS = -no-undefined -rpath `pwd` -Wl,--kill-at
libtest_la_SOURCES = libtest.c
libtest_la_LIBADD = $(GLIB_LIBS) $(LIBICONV)
CLEANFILES = $(TESTSI_CS) $(TESTSI_IL) $(STRESS_TESTS) *.dll *.stdout *.aotlog *.exe stest.dat
all: all-recursive
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign mono/tests/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign mono/tests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
tests-config: $(top_builddir)/config.status $(srcdir)/tests-config.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
clean-noinstLTLIBRARIES:
-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
@list='$(noinst_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \
test -z "$$locs" || { \
echo rm -f $${locs}; \
rm -f $${locs}; \
}
libtest.la: $(libtest_la_OBJECTS) $(libtest_la_DEPENDENCIES) $(EXTRA_libtest_la_DEPENDENCIES)
$(AM_V_CCLD)$(libtest_la_LINK) $(libtest_la_OBJECTS) $(libtest_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtest_la-libtest.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.c.lo:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
libtest_la-libtest.lo: libtest.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libtest_la_CFLAGS) $(CFLAGS) -MT libtest_la-libtest.lo -MD -MP -MF $(DEPDIR)/libtest_la-libtest.Tpo -c -o libtest_la-libtest.lo `test -f 'libtest.c' || echo '$(srcdir)/'`libtest.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libtest_la-libtest.Tpo $(DEPDIR)/libtest_la-libtest.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libtest.c' object='libtest_la-libtest.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libtest_la_CFLAGS) $(CFLAGS) -c -o libtest_la-libtest.lo `test -f 'libtest.c' || echo '$(srcdir)/'`libtest.c
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-recursive
all-am: Makefile $(LTLIBRARIES)
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am:
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am:
.MAKE: $(am__recursive_targets) check-am install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
check-am check-local clean clean-generic clean-libtool \
clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am
check-local: assemblyresolve/test/asm.dll testjit test-generic-sharing test-type-load test-cattr-type-load test-reflection-load-with-context test_platform test-process-exit test-messages rm-empty-logs
check-full: test-sgen check-local
check-parallel: compile-tests check-full
# for backwards compatibility on Wrench
test-wrench: check-parallel
aotcheck: testaot gshared-aot
%.exe: %.il
$(ILASM) -out:$@ $<
%.exe: %.cs TestDriver.dll
$(MCS) -r:TestDriver.dll -out:$@ $<
# mkbundle works on ppc, but the pkg-config POC doesn't when run with make test
@POWERPC_TRUE@test_platform:
# 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...
@HOST_WIN32_TRUE@@POWERPC_FALSE@test_platform:
# mkbundle uses the installed mono-2.pc so it won't work if there is no system mono
#test_platform: testbundle test-iomap-regression
@HOST_WIN32_FALSE@@POWERPC_FALSE@test_platform: test-iomap-regression
@HOST_WIN32_FALSE@@X86_TRUE@test_platform: test-eglib-remap
# Target to precompile the test executables
tests: $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS) $(GSHARED_TESTS)
@NACL_CODEGEN_TRUE@test-eglib-remap:
@NACL_CODEGEN_FALSE@test-eglib-remap:
@NACL_CODEGEN_FALSE@ @echo "Testing eglib remap..."
@NACL_CODEGEN_FALSE@ @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
#
# Tests that the internals in mono/io-layer/messages.c are ok by triggering the
# code that checks that the table is properly sorted
#
@NACL_CODEGEN_TRUE@test-messages:
@HOST_WIN32_TRUE@@NACL_CODEGEN_FALSE@test-messages:
@HOST_WIN32_FALSE@@NACL_CODEGEN_FALSE@test-messages: w32message.exe
@HOST_WIN32_FALSE@@NACL_CODEGEN_FALSE@ > test_messages.zero
@HOST_WIN32_FALSE@@NACL_CODEGEN_FALSE@ $(with_mono_path) $(JITTEST_PROG_RUN) w32message.exe >& w32message.allout && cmp test_messages.zero w32message.allout
@AMD64_TRUE@test-sgen : sgen-tests
@AMD64_FALSE@@HOST_WIN32_TRUE@@X86_TRUE@test-sgen :
@AMD64_FALSE@@HOST_WIN32_FALSE@@X86_TRUE@test-sgen : sgen-tests
@AMD64_FALSE@@ARM_TRUE@@X86_FALSE@test-sgen : sgen-tests
@AMD64_FALSE@@ARM_FALSE@@S390X_TRUE@@X86_FALSE@test-sgen : sgen-regular-tests
# Precompile the test assemblies in parallel
compile-tests:
$(MAKE) -j4 $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS)
# Remove empty .stdout and .stderr files for wrench
rm-empty-logs:
@echo "Removing empty logs..."
@find . '(' -name "*.stdout" -o -name "*.stderr" ')' -empty -exec rm {} \;
assemblyresolve/test/asm.dll:
$(MAKE) -C assemblyresolve prereq
TestDriver.dll:
$(MCS) -target:library -out:$@ $(srcdir)/../mini/TestDriver.cs
test_cs: $(TEST_PROG) $(TESTSI_CS) libtest.la
@failed=0; \
passed=0; \
if [ "x$$V" = "x1" ]; then dump_action="dump-output"; else dump_action="no-dump"; fi; \
if [ "x$$CI" = "x1" ]; then disabled_tests="$(DISABLED_TESTS_WRENCH)"; else disabled_tests="$(DISABLED_TESTS)"; fi; \
for i in $(TESTSI_CS); do \
if $(srcdir)/test-driver '$(with_mono_path) $(TEST_PROG_RUN)' $$i "$${disabled_tests}" "$${dump_action}" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
fi \
done; \
echo; echo ".cs: $${passed} test(s) passed. $${failed} test(s) did not pass."; echo
test_il: $(TEST_PROG) $(TESTSI_IL) libtest.la
@failed=0; \
passed=0; \
if [ "x$$V" = "x1" ]; then dump_action="dump-output"; else dump_action="no-dump"; fi; \
if [ "x$$CI" = "x1" ]; then disabled_tests="$(DISABLED_TESTS_WRENCH)"; else disabled_tests="$(DISABLED_TESTS)"; fi; \
for i in $(TESTSI_IL); do \
if $(srcdir)/test-driver '$(with_mono_path) $(TEST_PROG_RUN)' $$i "$${disabled_tests}" "$${dump_action}" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
fi \
done; \
echo; echo ".il: $${passed} test(s) passed. $${failed} test(s) did not pass."; echo
testb: $(TEST_PROG) $(TESTBS)
if [ "x$$V" = "x1" ]; then dump_action="dump-output"; else dump_action="no-dump"; fi; \
if [ "x$$CI" = "x1" ]; then disabled_tests="$(DISABLED_TESTS_WRENCH)"; else disabled_tests="$(DISABLED_TESTS)"; fi; \
for i in $(TESTBS); do \
$(srcdir)/test-driver '$(with_mono_path) $(TEST_PROG_RUN)' $$i "$${disabled_tests}" "$${dump_action}" $(RUNTIME_ARGS); \
done
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; \
if [ "x$$CI" = "x1" ]; then disabled_tests="$(DISABLED_TESTS_WRENCH)"; else disabled_tests="$(DISABLED_TESTS)"; 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; \
if [ x$(AOT) = x1 ]; then if echo $(AOT_DISABLED_TESTS) | grep -v -q $${i}; then $(with_mono_path) $(JITTEST_PROG_RUN) --aot --debug $${i} > $${i}.aotlog 2>&1 || exit 1; fi; fi; \
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)
@if [ "x$$CI" = "x1" ]; then disabled_tests="$(DISABLED_TESTS_WRENCH)"; else disabled_tests="$(DISABLED_TESTS)"; fi; \
$(RUNTIME) ./test-runner.exe -j a --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:
@$(MAKE) JITTEST_PROG_RUN="$(TEST_PROG_RUN)" runtest
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) MONO_SHARED_DIR=$(mono_build_root)/runtime ./a.out >> mkbundle.stdout
@- rm -rf a.out
test-type-load: TestDriver.dll
@$(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
test-cattr-type-load: TestDriver.dll 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
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
# 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
sgen-regular-tests: $(SGEN_TESTS)
@failed=0; \
passed=0; \
failed_tests="";\
if [ "x$$V" = "x1" ]; then dump_action="dump-output"; else dump_action="no-dump"; fi; \
for test in $+; do \
echo "...$$test"; \
for conf in $(SGEN_CONFIGURATIONS); do \
name=`echo $$conf | cut -d\| -f 2`; \
params=`echo $$conf | cut -d\| -f 1`; \
debug_opt=`echo $$conf | cut -d\| -f 3`; \
test_name="$${test}|$${name}"; \
if MONO_GC_PARAMS="$$params" MONO_ENV_OPTIONS="--gc=sgen" MONO_GC_DEBUG="$$debug_opt" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" "$${dump_action}" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
failed_tests="$${failed_tests} $$test_name"; \
fi \
done \
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
sgen-bridge-tests1: sgen-bridge.exe sgen-bridge-major-fragmentation.exe
@failed=0; \
passed=0; \
failed_tests="";\
if [ "x$$V" = "x1" ]; then dump_action="dump-output"; else dump_action="no-dump"; fi; \
for test in $+; do \
echo "...$$test"; \
for conf in $(SGEN_BRIDGE_CONFIGURATIONS); do \
name=`echo $$conf | cut -d\| -f 2`; \
params=`echo $$conf | cut -d\| -f 1`; \
test_name="$${test}|$${name}"; \
if MONO_GC_DEBUG="bridge=Bridge" MONO_GC_PARAMS="$${params}" MONO_ENV_OPTIONS="--gc=sgen" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" "$${dump_action}" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
failed_tests="$${failed_tests} $$test_name"; \
fi \
done \
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
sgen-bridge-tests2: sgen-bridge-xref.exe
@failed=0; \
passed=0; \
failed_tests="";\
if [ "x$$V" = "x1" ]; then dump_action="dump-output"; else dump_action="no-dump"; fi; \
for test in $+; do \
echo "...$$test"; \
for conf in $(SGEN_BRIDGE_CONFIGURATIONS); do \
name=`echo $$conf | cut -d\| -f 2`; \
params=`echo $$conf | cut -d\| -f 1`; \
test_name="$${test}|$${name}"; \
if MONO_GC_DEBUG="bridge=2Bridge" MONO_GC_PARAMS="$${params}" MONO_ENV_OPTIONS="--gc=sgen" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" "$${dump_action}" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
failed_tests="$${failed_tests} $$test_name"; \
fi \
done \
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
sgen-toggleref-tests: sgen-toggleref.exe
@failed=0; \
passed=0; \
failed_tests="";\
if [ "x$$V" = "x1" ]; then dump_action="dump-output"; else dump_action="no-dump"; fi; \
for test in $+; do \
echo "...$$test"; \
for conf in $(SGEN_CONFIGURATIONS); do \
name=`echo $$conf | cut -d\| -f 2`; \
params=`echo $$conf | cut -d\| -f 1`; \
test_name="$${test}|$${name}"; \
if MONO_GC_PARAMS="toggleref-test,$$params" MONO_ENV_OPTIONS="--gc=sgen" $(srcdir)/test-driver '$(with_mono_path) $(JITTEST_PROG_RUN)' $$test_name "$(DISABLED_TESTS_SGEN)" "$${dump_action}" $(RUNTIME_ARGS); \
then \
passed=`expr $${passed} + 1`; \
else \
if [ $$? = 2 ]; then break; fi; \
failed=`expr $${failed} + 1`; \
failed_tests="$${failed_tests} $$test_name"; \
fi \
done \
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
sgen-bridge-tests: sgen-bridge-tests1 sgen-bridge-tests2
sgen-tests: sgen-regular-tests sgen-bridge-tests sgen-toggleref-tests
#LLVM crashes, got to fix it first.
# "--llvm|llvm" \
# "--llvm --gc=boehm|llvm+boehm"
test-aot:
@failed=0; \
passed=0; \
failed_tests="";\
profile=net_4_5; \
tmpfile=`mktemp -t mono_aot_output` || 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
runtime-invoke.gen.exe: TestDriver.dll 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
imt_big_iface_test.exe: TestDriver.dll 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
test-inline-call-stack-library.dll: TestDriver.dll $(srcdir)/test-inline-call-stack-library.cs
$(MCS) -t:library -out:test-inline-call-stack-library.dll $(srcdir)/test-inline-call-stack-library.cs
test-inline-call-stack.exe: TestDriver.dll 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
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:System.Web -out:$@ $(srcdir)/bug-80307.cs
cd $(top_builddir)/runtime && $(MAKE) test-support-files
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
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
bug-81466-lib.dll: bug-81466-lib.il
$(ILASM) /dll /output:bug-81466-lib.dll $(srcdir)/bug-81466-lib.il
bug-81466.exe: bug-81466.il bug-81466-lib.dll
$(ILASM) /exe /output:bug-81466.exe $(srcdir)/bug-81466.il
bug-324535-il.dll : bug-324535-il.il
$(ILASM) /dll /output:bug-324535-il.dll $(srcdir)/bug-324535-il.il
bug-324535.exe : bug-324535.cs bug-324535-il.dll
$(MCS) -r:bug-324535-il.dll -out:bug-324535.exe $(srcdir)/bug-324535.cs
custom-modifiers-lib.dll: custom-modifiers-lib.il
$(ILASM) /dll /output:custom-modifiers-lib.dll $(srcdir)/custom-modifiers-lib.il
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
bug-382986-lib.dll: bug-382986-lib.cs
$(MCS) -target:library -out:$@ $(srcdir)/bug-382986-lib.cs
bug-382986.exe: bug-382986.cs bug-382986-lib.dll
$(MCS) -out:$@ -r:bug-382986-lib.dll $(srcdir)/bug-382986.cs
bug-17537-helper.exe: bug-17537-helper.cs
$(MCS) -out:$@ $(srcdir)/bug-17537-helper.cs
chmod -x $@
bug-17537.exe: bug-17537.cs bug-17537-helper.exe
$(MCS) -out:$@ $(srcdir)/bug-17537.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
generic-unboxing.2.dll : generic-unboxing.2.il
$(ILASM) /dll /output:generic-unboxing.2.dll $(srcdir)/generic-unboxing.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
generic-unbox.2.exe : generic-unbox.2.cs generic-unboxing.2.dll
$(MCS) -r:generic-unboxing.2.dll -out:$@ $(srcdir)/generic-unbox.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
generic-delegate2-lib.2.dll : generic-delegate2-lib.2.il
$(ILASM) /dll /output:$@ $(srcdir)/generic-delegate2-lib.2.il
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) -sdk:2 $(srcdir)/bug-3903.cs -out:$@
gshared: test-generic-sharing
gshared-aot:
@$(MAKE) AOT=1 gshared
test-generic-sharing-normal: $(GSHARED_TESTS)
@for fn in $+ ; do \
echo "Testing $$fn ..."; \
MONO_GENERIC_SHARING=all $(RUNTIME) -O=gshared $$fn > $$fn.stdout || exit 1; \
MONO_GENERIC_SHARING=all $(RUNTIME) -O=gshared,shared $$fn > $$fn.stdout || exit 1; \
MONO_GENERIC_SHARING=all $(RUNTIME) -O=gshared,-inline $$fn > $$fn.stdout || exit 1; \
MONO_GENERIC_SHARING=all $(RUNTIME) -O=gshared,-inline,shared $$fn > $fn.stdout || exit 1; \
if [ x$(AOT) = x1 ]; then MONO_GENERIC_SHARING=all $(with_mono_path) $(JITTEST_PROG_RUN) --aot --debug $$fn > /dev/null || exit 1; MONO_GENERIC_SHARING=all $(RUNTIME) $$fn > $$fn.stdout || exit 1; fi; \
done
test-generic-sharing-managed: test-runner.exe $(GSHARED_TESTS)
@$(RUNTIME) ./test-runner.exe -j a --opt-sets "gshared gshared,shared gshared,-inline gshared,-inline,shared" $(GSHARED_TESTS)
@NACL_CODEGEN_TRUE@test-generic-sharing:
@NACL_CODEGEN_FALSE@test-generic-sharing:
@NACL_CODEGEN_FALSE@ @if test x$(M) != x; then $(MAKE) test-generic-sharing-managed; else $(MAKE) test-generic-sharing-normal; fi
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
modules-m1.netmodule: modules-m1.cs
$(MCS) -out:$@ /target:module $(srcdir)/modules-m1.cs
modules.exe: modules.cs modules-m1.netmodule TestDriver.dll
$(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
@NACL_CODEGEN_TRUE@test-process-exit:
@NACL_CODEGEN_FALSE@test-process-exit:
@NACL_CODEGEN_FALSE@ @$(MCS) $(srcdir)/threadpool-in-processexit.cs -out:threadpool-in-processexit.exe
@NACL_CODEGEN_FALSE@ @echo "Testing threadpool-in-processexit.exe..."
@NACL_CODEGEN_FALSE@ @$(RUNTIME) threadpool-in-processexit.exe > threadpool-in-processexit.exe.stdout
@NACL_CODEGEN_FALSE@ @diff -w threadpool-in-processexit.exe.stdout $(srcdir)/threadpool-in-processexit.exe.stdout.expected
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
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: