xamarin-macios/tests/mmp-regression/Makefile

80 строки
2.4 KiB
Makefile
Исходник Обычный вид История

TOP = ../..
2016-05-26 16:06:52 +03:00
include $(TOP)/Make.config
MMP=$(MAC_DESTDIR)/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/bin/mmp
export MD_APPLE_SDK_ROOT:=$(abspath $(XCODE_DEVELOPER_ROOT)/../..)
export TargetFrameworkFallbackSearchPaths=$(MAC_DESTDIR)/Library/Frameworks/Mono.framework/External/xbuild-frameworks
export MSBuildExtensionsPathFallbackPathsOverride=$(MAC_DESTDIR)/Library/Frameworks/Mono.framework/External/xbuild
2016-05-26 16:06:52 +03:00
export XamarinMacFrameworkRoot=$(MAC_DESTDIR)/Library/Frameworks/Xamarin.Mac.framework/Versions/Current
export XAMMAC_FRAMEWORK_PATH=$(abspath $(MAC_DESTDIR)$(MAC_FRAMEWORK_CURRENT_DIR))
2016-05-26 16:06:52 +03:00
ALL_TESTS = \
custom-bundle-name \
2016-05-26 16:06:52 +03:00
embedded-mono \
embedded-mono-profile \
link-frameworks-1 \
link-keep-resources-1 \
link-keep-resources-2 \
link-posix-1 \
link-preserve-assembly \
link-remove-attributes-1 \
link-safe-1 \
system-mono \
system-mono-profile \
2016-05-26 16:06:52 +03:00
all-local:: run
CONFIG?=Debug
$(foreach test,$(ALL_TESTS),$(test)/bin): dylib/libTest.dylib
$(QF_GEN) if ! $(SYSTEM_XIBUILD) -- $(@D)/$(@D).csproj /p:Configuration=$(CONFIG); then EC=$$?; rm -Rf $@; exit $$EC; fi
2016-05-26 16:06:52 +03:00
dylib/libTest.dylib: dylib/src.c
[xcode12.5] Initial bump for beta 1 (#10573) This version of Xcode requires macOS 11.0 or later. New commits in xamarin/maccore: * xamarin/maccore@de616ca53e [mlaunch] Fix dependencies for Xcode 12.5 beta 1 (#2387) * xamarin/maccore@e93375583c [Actions] Fix rebase trigger. * xamarin/maccore@0dfeb85ff6 [CI][VSTS] Add information when the external tool fails. (#2377) * xamarin/maccore@87e165fdbb Remove Vincent as a code owner 😞 (#2368) * xamarin/maccore@55a700bb5b [build] Add /restore to Xamarin.Analysis build (#2366) * xamarin/maccore@2d9f8a9685 Bump to xamarin/xamarin-analysis@95245313 (#2362) Diff: https://github.com/xamarin/maccore/compare/428964bf32f06862eb4209129c6fb5b882c3b9be..de616ca53e22ebea66216374a15b8caf2ca77e3c * Bump system mono to the latest available 2020-02 package. (#10402) This makes xamarin-macios build on Apple Silicon, and also seems to get an updated csc that fixes a problem with nullability warnings/errors. * [tests] Fix mmp-regression build ``` 10:59:46.5383210 Making all in /Users/builder/azdo/_work/1/s/xamarin-macios/tests/mmp-regression 10:59:46.5392610 TargetFrameworkFallbackSearchPaths=/Users/builder/azdo/_work/1/s/xamarin-macios/_mac-build/Library/Frameworks/Mono.framework/External/xbuild-frameworks MSBuildExtensionsPathFallbackPathsOverride=/Users/builder/azdo/_work/1/s/xamarin-macios/_mac-build/Library/Frameworks/Mono.framework/External/xbuild make all 10:59:46.6208220 /Applications/Xcode_12.5.0-beta.app/Contents/Developer/usr/bin/make clean 10:59:46.6956100 /Applications/Xcode_12.5.0-beta.app/Contents/Developer/usr/bin/make build 10:59:46.7422460 GEN dylib/libTest.dylib 10:59:46.8094820 ld: library not found for -lSystem 10:59:46.8097590 clang: error: linker command failed with exit code 1 (use -v to see invocation) 10:59:46.8110310 make[2]: *** [dylib/libTest.dylib] Error 1 10:59:46.8112570 make[1]: *** [run] Error 2 10:59:47.0030120 Process make exited with 2 ``` This happens on BigSur as it does not find the default location anymore... * [tests] Do not test GKLeaderboardViewController on BigSur The issue is the OS version, not the Xcode version. Update check to skip that test on macOS 11+ * [tests] Fix MSBuild tests / integration The test cannot work on BigSur since while you can `dlopen` the library you can open `fopen` it as a file (and can't embed it for the test). ``` 12:31:23.9407820 CSC : error CS1566: Error reading resource 'libz.dylib' -- 'Could not find file "/usr/lib/libz.dylib"' [/Users/builder/azdo/_work/1/s/xamarin-macios/tests/msbuild/Xamarin.MacDev.Tests/bin/Debug/net472/tmp-test-dir/msbuild-tests201/XM45Binding.csproj] 12:31:23.9407900 Done Building Project "/Users/builder/azdo/_work/1/s/xamarin-macios/tests/msbuild/Xamarin.MacDev.Tests/bin/Debug/net472/tmp-test-dir/msbuild-tests201/XM45Binding.csproj" (default targets) -- FAILED. ``` * [tests] Fix MTouch tests failures * `nm` changed it's output and test was updated * `clang` linking has a much higher limit for it's command-line length At least it does not seem to be OS specific since both 10.15 and 11.0 returns the same maximum ``` $ getconf ARG_MAX 1048576 ```
2021-02-06 04:30:24 +03:00
$(QF_GEN) $(XCODE_CC) $< -o$@ -arch x86_64 -shared -L /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib
2016-05-26 16:06:52 +03:00
build: $(foreach test,$(ALL_TESTS),$(test)/bin)
run run-test run-tests:
$(MAKE) clean
$(MAKE) build
$(MAKE) exec
run-test-%:
rm -Rf $*/bin
$(MAKE) $*/bin
$(MAKE) exec-$*
[runtime] integrate mono 2017-10 (#2905) * Update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now. * [builds] Pass --with-cross-offsets= to crosstv's configure. * Bump mono to 2017-08. * Bump mono to 2017-08. * Force disable 'futimens' and 'utimensat' so that we build with Xcode 9. This is also needed to build with Xcode 8.3 on High Sierra. * Remove old AppleTls implementation. * Bump mono. * Bump mono to 2017-08. * Bump mono to 2017-08 * Reenable link-keep-resources-2 test - This reverts commit 76b759ef22c06cda3ba30aba1ac0d45634e4fbf4. - 2017-08 has linker fix * Bump mono to 2017-10 * Revert "Bump mono to 2017-10" This reverts commit bb7832724e18f8578449e46426382a537f3f4823. * Bump system mono to 2017-10 * Bump embedded mono to 2017-10 * [runtime] reflect eglib move https://github.com/mono/mono/commit/9be68f8952ea0e1aad582bfe2f47bad71aee2cc7 * bump mono * [btouch] remove Security.Tls usage from test * [mtouch tests] update the function name used to initialize libmono-profiler-log, its called mono_profiler_init_log () now. see https://github.com/mono/mono/commit/ea4e4a9ef6fc42570a23026adbe826cf7248290e fixes: ``` 1) Failed : Xamarin.MTouch.Profiling(tvOS) _mono_profiler_startup_log Expected: collection containing "_mono_profiler_startup_log" But was: < "_mono_profiler_init_log" > at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0 2) Failed : Xamarin.MTouch.Profiling(watchOS) _mono_profiler_startup_log Expected: collection containing "_mono_profiler_startup_log" But was: < "_xamarin_get_block_descriptor", "_mono_profiler_init_log" > at Xamarin.MTouch.Profiling (Xamarin.Profile profile) [0x00106] in <511889694a624cc9a50e0e9b259b05c5>:0 ``` * [mmptest] update log profiler options. https://github.com/mono/mono/commit/826558a4af624bc0acaea98ec39784e65d278091 deprecated the dash prefix for the mlpd path. `noallocs` or `nocalls` are not needed, neither of them are default anymore. * [mmptest] fix link-keep-resources-2 test to cope with more corlib resources. another corlib resource (mscorlib.xml) was added: https://github.com/mono/mono/commit/11e95169e787#diff-2d1c64decd91d9a6e8842ab0f0e9438d * Revert "[mmptest] fix link-keep-resources-2 test to cope with more corlib resources." This reverts commit 350eb3c174288bbffcc3b7acb15cadb913af25b7. * [XHarness] Add the Mono.Data.Tds tests. * Address comments from rolf in the review. * [mmp regresssion tests] bump mono linker, so mscorlib.xml gets stripped the test was failing in that way: > Executing link-keep-resources-2... > [FAIL] i18n 4/2 data files present: charinfo.nlp, collation.core.bin, collation.tailoring.bin, mscorlib.xml also update the output, because it's actually expected at least three elements. fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=59277 * bump mono fixes crash in tvOS: https://github.com/mono/mono/pull/5812 * bump mono for updated BCL tests see https://github.com/mono/mono/pull/5820 * [mono] set 2017-10 branch in .gitmodules * [macos] Fix guiunit error on clean builds by depending on correct copy (#2912) * [macos] Fix guiunit error on clean builds by depending on correct copy - From a clean build making a BCL test would error due to the non-mobile guiunit not being built - This was because the Makefile-mac.inc target was incorrect - This was because xharness assumed that non variation based targets were always Modern - However, BCL tests are Full, not Modern * Code review change * Swap to var to reduce diff * Revert changes in the paths for GuiUnit. * [XHarness] Add the System.IO.Compression bcl tests. (#2918) * [XHarness] Add the System.IO.Compression bcl tests. * [XHarness] Add bcl tests for System.IO.Compression.FileSystem. (#2924) * [XHarness] Add the System.IO.Compression bcl tests. * Ensure that resources are correctly copied in the bundles. * [XHarness] Add bcl tests for System.IO.Compression.FileSystem. * As per review, make the Mac test app name match the tests that are ran. * [XHarness] Add Mono.CSharp tests on ios. (#2927) * [XHarness] Add Mono.CSharp tests on ios. * Bump mono to bring changes in the mono.csharp tests. * [xtro-sharpie] fix TypeDefinition access due to Cecil change * Bump mono * bump mono fixes - https://bugzilla.xamarin.com/show_bug.cgi?id=60480 - https://bugzilla.xamarin.com/show_bug.cgi?id=60482 * bump mono more fixes around conflicting paths when tests are run in parallel. * Bump for mono/mono@2017-10
2017-11-14 23:30:08 +03:00
exec-system-mono-profile exec-embedded-mono-profile: export MONO_ENV_OPTIONS=--profile=log:output=output.mlpd
2016-05-26 16:06:52 +03:00
exec-link-frameworks-1 link-frameworks-1/bin: CONFIG=Release
2016-05-26 16:06:52 +03:00
exec-%:
@echo Executing $*... | tee $*/$@.log
@test -z $(BUILD_REVISION) || echo @MonkeyWrench: AddFile: $(CURDIR)/$*/$@.log
@cd $* && if ! bin/$(CONFIG)/$*.app/Contents/MacOS/$* >> $@.log 2>&1; then echo "CRASHED" >> $@.log; fi
2016-05-26 16:06:52 +03:00
@if grep -q FAIL $*/exec-$*.log; then echo "Test $* failed"; fi
@if grep -q CRASHED $*/exec-$*.log; then echo "Test $* crashed"; fi
@echo Executed $* | tee -a $*/$@.log
@echo "" >> $*/$@.log
exec: $(foreach test,$(ALL_TESTS),exec-$(test))
@cat */exec-*.log > tests.log
@cat tests.log
@if grep -q CRASHED tests.log; then \
echo Test run crashed; \
exit 1; \
elif grep -q FAIL tests.log; then \
echo Test run failed; \
exit 1; \
else \
echo Test run succeeded; \
fi
clean:
@rm -f tests.log
@for i in $(ALL_TESTS); do \
rm -rf $(PWD)/$$i/{bin,obj}/; \
done