Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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
|
|
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.)
|
|
* 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
|
|
* 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
|
|
|
|
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
|
|
|
|
* 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
|
|
Fixes #19286
|
|
* 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.
|
|
* 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
|
|
* 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}
|
|
* Split unix test builds in slices
Ports #17161 to linux
* Address review feedback
|
|
Remove Alpine 3.6 builds
|
|
The alpine 3.6 builds have been replaced with the more generic
linux-musl builds so removing them.
|
|
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
|
|
preventing tests build (#17025)
|
|
* Building non-Windows builds using the CLI's MSBuild
|
|
This change will start using build-test.sh generatelayoutonly to build
the coreoverlay directory for use with runtest.sh.
|
|
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|