summaryrefslogtreecommitdiff
path: root/build-test.sh
AgeCommit message (Collapse)AuthorFilesLines
2018-10-08Runtest.py on Windows Arm(64) (#20227)Jarret Shook1-31/+44
* Initial infrastructure work to get arm(64) runtest.cmd working * Add excludes and improve runtest.py 1) Adds a build_test_wrappers only to build-test.sh. 2) Adds arm64 windows excludes 3) Adds printlastresults to runtest.cmd 4) corrects runsequential in runtest.sh 5) Corrects SequentialRun in runtest.py 6) Minor improvements to printing test results and copying native test binaries * Address pr feedback * Add to issues targets for arm64 * Working Pri 0 testing. * Remove unecessary common msbuild arguments * add pri1 excludes * Remove common msbuild args * Fix silly python3 issue
2018-09-19Enable arm64 Linux testing in CIBruce Forstall1-2/+3
Testing is enabled on a set of Qualcomm Centriq arm64 servers running Ubuntu 16.04. The set of jobs enabled almost matches the set run for arm32 Linux testing, including innerloop, JIT and GC Stress, corefx, and R2R. Temporarily, the innerloop jobs are commit jobs (invoked when a PR is merged) instead of "default trigger" jobs (invoked when a PR is submitted), until we get more experience with the robustness of the machines and jobs. The machines are fast enough that they are not marked as "limited hardware" (like arm32 Linux machines). That means that many jobs are run daily, not weekly, as periodic jobs. Notes about the changes: 1. The Linux arm64 machines are managed by Helix, which allocates them to Jenkins. 2. The arm64 OS used has been renamed from "small_page_size" to "Ubuntu16.04". If we add large page size machines, we'll need to add a differentiator. 3. The Jenkins "copy artifacts" plug-in runs ridiculously slowly on this hardware, for unknown reasons, so we copy artifacts directly using "wget". 4. Tests are built using "build-test.sh" on the (cross) build machine; we don't use Windows-built tests. 5. Added Jenkins archiving of build .log/.wrn/.err files. 6. Various tests were disabled in issues.targets, and with a new arm64/corefx_linux_test_exclusions.txt file, to get jobs to run clean. (Several issues have been opened to track these and other known failures.)
2018-09-15Layout native test components correctly on unix (#19918)Jarret Shook1-30/+25
* Enable native test build and add skipmanaged * Fix adding native components to test dir * Clean pri1/pri0 builds with native lib copy This change disables the build of several tests which have native dependencies; however, would not build the native dependencies on unix. At copy time this would result in a build-test failure. In addition, it fixes, adding executables and dynamic/static libraries to the test's location. It has been tested with build-test.sh priority1. * Fix comment wording * Remove buildagainstpackage arg * Fix default clang version * Clean pri1 run OSX * Correct test count on unix * Address typo * Merge runtest.proj
2018-08-31Fix build-test.sh wrapper build (#19779)Jarret Shook1-7/+24
* Fix build-test.sh wrapper build In addition this change creates a json file with the build info so that the wrapper build may be skipped if it was built on the same os/arch/buildtype. * Address pr feedback
2018-08-29fix merge conflict in build-test.sh (#19744)Sergey Andreenko1-1/+1
2018-08-24Use runtest.py to run tests for all platforms (#19213)Jarret Shook1-14/+10
Change build-test.sh to always build the xunit wrappers. Before it would drop a token and check the existence of the token. Unify x64 linux/OSX/Windows excludes into one file, issues.targets. Includes different locations in the file which show where to put excludes. Remove all target specific aspects of issues.targets, all tests are excluded now via wildcard, this allows expanding to .cmd and .sh based on the built platform. Unify path separators to forward slash(/) in issues.targets to support both platforms Clean up issues.targets by removing long standing exclude tests, specifically tests that have been excluded due to missing features like rva_statics. Add DisableProjectBuild to tests which have been removed from issues.targets Conditionally add DisableProjectBuild to tests which have been marked as unsupported on unix. This is mostly a port of the unsupportedOnUnix.txt list. Instead of excluding the tests, unix will simply not build them. If tests are built on windows, they will be run but they will return pass, the test wrapper will check return instantly. All exclusions ported to issues.targets for linux targets. Expand runtest.py, this includes simple issues that made it past the original CR. In addition it adds more optional features to help with inner loop dev work such as: creating a repro folder under bin/repro/.. which sets up the env and calls the failing test. In addition a launch.json will now be created under bin/repro/.. which can be used to easily debug using vscode. More logging, such as printing failures, longest running tests ect. Initial excludes ported for arm64 windows Arm64 linux, armhf unix excludes and enables running runtest.sh for these targets. arm64 windows and arm32 windows excludes and enables running runtest.cmd on arm64 targets init-tools.sh changes to pull armhf and aarch64 dotnetcli init-tools.cmd changes to pull x86 packages for dotnetcli for arm64 windows runtest.cmd for almost all scenarios will call runtest.py runtest.sh for almsot all scenarios will call runtest.py Removes all logic for running tests using runtest.sh
2018-08-23fix syntax error in build-test.shJohn Salem1-1/+1
2018-08-16Build-test.sh handles native test assets (#19430)Aaron Robinson1-43/+142
* Respect Windows script argument to skip package building. * Bring build.sh logic closer to build.cmd with respect to passing CMAKE flags for building tests * Make cmake gen script find override file without using script arguments * build-test.sh can now build native test projects Remove compileoptions.cmake and push contents into configurecompiler.cmake which contains compiler configuration from repo root CMakeLists.txt
2018-08-07Add basic check that the correct number of tests is built (#19290)Bruce Forstall1-0/+14
Fixes #19286
2018-07-19Build xunit wrappers the same way on windows and unix (#18695)Sven Boemer1-32/+39
* Initial change to allow build wrappers and runtest.py * Build xunit wrappers on unix The generated wrapper needs to target netcoreapp on unix. I had to exclude assets from the xunit package and introduce a dependency on the private corefx bits, to resolve a dependency conflict in which the generated wrapper was depending on an older System.Runtime.dll than the helper library. I also disabled binclash logging, because the wrapper build binplaces the helper library to the same location multiple times. I couldn't find a simple way to disable binclash logging for the wrapper build only, since that requires passing an empty switch to run.exe, and bash word splitting makes this nontrivial from build-test. * Correctly generate TestEnv xplat Note that this will still require changes to the test wrapper to actually source the TestEnv on unix * Build xunit wrappers using SDK * Target netcoreapp2.0 in xunit wrappers This way, the wrappers can build even if the 2.1 SDK isn't installed on the machine. * Restore to packages directory for xunit wrappers * Move common properties out to dir.common.props When building wrappers using the SDK, we need some basic properties (like the build os/arch/config, and the output directories) to be set. I factored out properties used by both the old test build and the new SDK-project test build. At first I tried using Directory.Build.props (which is automatically imported by the SDK), but our test build already imports SDK targets in various places, so this was resulting in duplicate imports. Instead, I used dir.common.props, and made the imports explicit. * Remove desktop-specific test wrapper csproj * Pass build os/arch/type and logsdir to msbuild from runtest.py * Remove xunit wrapper helper library from traversal build * Fix parameter passing in build-test.sh Use bash arrays to pass parameters for the build command. This makes it possible to pass arguments with spaces to build_Tests_internal. We use this to disable binclashlogging selectively (for the xunit wrapper build only). * Clean up factored .props files * Undo runtest.sh changes * Use latest xunit console runner everywhere * Remove extra StaticDependency on xunit.runner.console * Eliminate tests/src/dir.common.props, and rename dir.sdkbuild.props tests/src/dir.common.props was only used for the desktop-specific xunit wrapper helper library. There's no need for it any more, so its properties have been moved into tests/src/dir.props. dir.sdkbuild.props has been renamed to dir.common.props, since it contains properties used by SDK projects and buildtools projects. This change also re-enables the test build. * Reintroduce dir.sdkbuild.props as a place for SDK-only props With this, some properties shared by SDK projects can go in a global location. The TargetFramework is shared by all SDK projects in the test tree. This change also uses a property for the xunit package directory that contains the xunit.console.dll we copy to core_root. * Add xml namespace to dir.common.props This fixes a failure in the windows build. * Satisfy xunit analyzer * Satisfy xunit analyzer again * Use SDK msbuild to build wrappers On windows, the use of run.exe, config.json, and msbuild.cmd uses msbuild.exe on the path. This change will build wrappers using the local SDK via "dotnet msbuild", bypassing run.exe. Run.exe will go away entirely with the move from buildtools to arcade, so other build invocatios should follow suit. * Remove Microsoft.CSharp.Core.targets workaround UseBuildTools used to be true all the time. Now that we are building wrappers on core, UseBuildTools becomes false. However, the rest of the runtest.proj expects to build using buildtools, so we keep UseBuildTools true until we switch to arcade. The CSharpCoreTargetsPath was imported when running on core only. This used to happen only on unix, but now it also happens when building runtest.proj for the xunit wrappers on windows. On unix, this targets file was a symlink to itself to work around some buildtools logic that expected the file to exist. This workaround no longer appears necessary, and on windows, this was never used in the first place, so this change removes it. * Remove UseRoslynCompilers prop and unify roslyn import UseRoslynCompilers was introduced in buildtools by https://github.com/dotnet/buildtools/pull/947, with different behaviors on windows/unix. It was removed by https://github.com/dotnet/buildtools/pull/1974, so we can unify our roslyn imports now. * Don't copy xunit dlls to corefx test host The corefx tests run on specific versions of xunit dlls, defined in CoreFX.depproj. We want to use these versions in the test host, not those in CORE_ROOT, so exclude these from being copied to the test host directory. This fixes the failing corefx tests. * Don't pass run.exe arguments through build-test.cmd in test pipeline These arguments get passed along to the xunit wrapper build as unprocessed build args. They need to work for "dotnet msbuild" (used for the wrapper build) as well as for run.exe. * Fix parameter passing of priority arg in build-test.cmd UnprocessedBuildArgs should contain arguments in the format expected by msbuild, not by run.exe. * Fix parameter passing of unprocessed args in build-test.cmd The "--" syntax is used by run.exe to pass everything following to msbuild directly. It should not be a part of unprocessed args. * Pass TargetsWindowsArg to wrapper build in build-test.cmd Helix builds tests on windows and runs them on unix using the xunit wrappers. When cross-building the wrappers like this, TargetsWindows is set to false by the test build pipeline. This variable ensures that the wrapper uses correct directory separators when invoking the test .sh file. * Pass BuildTestsAgainstPackages arg to exclude unix tests Helix builds xunit wrappers on windows, and runs them on unix. The BuildTestsAgainstPackages should currently be set to true in the windows wrapper build to properly filter the .cmd files based on exclusions in issues.targets.
2018-07-11CoreFX CI Unix (#18753)Andon Andonov1-10/+37
* Full Unix test support * Remove Test helper build from build-test Add msg prefix Change if condition * Change Linux URL * Syntax error * Fix Merge Conflict * Address PR Feedback * Remove duplicate generate_testhost call * Address PR comments * Clean up exclusion list * Disable Client_ReadWriteCancelledToken_Throws_OperationCanceledException * Disable all flavors of CancelledToken_Throws_OperationCanceledException * Disable X509StoreTests.Constructor_DefaultStoreName - flaky on OSX * Update documentation with Linux instructions and workflow * Disable EventWaitHandleTests.Ctor_InvalidMode - failing on OSX * Disable Server_ReadWriteCancelledToken_Throws_OperationCanceledException
2018-07-09CoreFX CI Unix Staging commit (#18750)Andon Andonov1-0/+5
* Modify netci.groovy * Add script exit codes * Ad PR Triggers for Ubuntu and OSX10.12 * Remove release PR triggers * Rename arch Remove IsJitStressTestScenario assert * Add correct asserts * Reformat conditions and add triggers for Release/Checked/Debug * Change %WORKSPACE% to \${WORKSPACE}
2018-05-04Split unix test builds in slices (#17785)Steve MacLean1-17/+70
* Split unix test builds in slices Ports #17161 to linux * Address review feedback
2018-04-24Merge pull request #17747 from weshaggard/RemoveAlpineBuildWes Haggard1-5/+3
Remove Alpine 3.6 builds
2018-04-23Remove Alpine 3.6 buildsWes Haggard1-5/+3
The alpine 3.6 builds have been replaced with the more generic linux-musl builds so removing them.
2018-04-22Fix unix test build by removing unnecessary 'managed_test_build' semafore fileJacek Blaszczynski1-14/+5
Fixes #17503 The error is caused by both: 1. Unnecessary usage of 'managed_test_build' semaphore file which is incorrectly set after /t:BatchRestorePackages build target and prevents managed test build which is invoked after semaphore alredy exists 2. Masked by the above error is a wrong condition in dirs.proj non-windows test build which was introduced by PR #17161 and which prevented unix build due to missing #17161 group build port to unix
2018-03-26build-test.sh: support Clang v4.0 to v6.0, fix always false logic condition ↵Jacek Blaszczynski1-9/+24
preventing tests build (#17025)
2018-01-30Building non-Windows builds using the CLI's MSBuild (#16101)Jose Perez Rodriguez1-1/+1
* Building non-Windows builds using the CLI's MSBuild
2017-12-14Remove CoreFX runtest dependencyjashook1-52/+159
This change will start using build-test.sh generatelayoutonly to build the coreoverlay directory for use with runtest.sh.
2017-10-23Fix RID extraction in packages and test build for Alpine (#14656)Jan Vorlicek1-4/+19
* Fix RID extraction in packages and test build for Alpine The host RID extraction in build-packages.sh and build-test.sh was not matching the one in build.sh * Reflect feedback
2017-10-19Add build-test osx supportjashook1-0/+6
2017-09-26Fixed Linux test buildRoman Art1-0/+4
2017-06-07Fix FreeBSD buildTom Deseyn1-8/+14
2017-06-07build{,-test}.sh: revert and add list of unsupported ridsTom Deseyn1-42/+14
2017-05-29Make linux test build workedRoman Artemev1-0/+642
2017-05-22Revert "Fixed tests build on Linux"Russ Keldorph1-645/+0
2017-05-19Test build fixes for LinuxRoman Artemev1-0/+645