Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
https://github.com/dotnet/coreclr/pull/20693 reduced the number of
Pri-1 tests significantly, which caused this error to appear on
some Pri-1 builds, e.g., Ubuntu x64 Checked builds.
|
|
The number has shrunk lately due to removing CoreMangLib tests.
|
|
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
|
|
* Address msbuild issues with cross compiled tests in helix
* Fix test warning about duplicate types
|
|
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
|
|
Fixes #19286
|
|
* Add MicrosoftNETCoreAppPackageVersion to dependencies.props
- Add MicrosoftNETCoreAppPackageVersion property
- Add required coresetup dependency build infos
* Change test projects to use new MicrosoftNETCoreAppPackageVersion property
|
|
|
|
RuntimeFrameworkVersion parameter in the test wrappers and SDK props file (#19130)
|
|
Change the associated targets and props files in the test directory to allow the test csproj's to be built as SDK style projects alongside traditional style projects.
Remove CodeTaskFactory:
- Allows the projects to be built using the core version of msbuild/dotnet build
- Converted to using msbuild property expansion instead
Add directory.build.{props,targets}:
- Currently we just import the dirs.props and targets, but means SDK style projects don't need to explicitly include these files
- We probably want to move all projects over to using these in the future, but this keeps the changes smaller for now
Specific code for SDK projects:
- There are a several changes required to build an SDK project. This change guards them behind conditionals so that only the new style projects see them. When we get to the point that there are only new projects, we can remove the guards (probably at the same time as ditching the dir.props)
Reordered build targets:
- Because SDK projects implicitly import the build targets, we can no longer re-define the build targets unconditionally knowing they will likely be overwritten.
- Instead we move the overwritten targets to separate files, and include these conditionally based on properties. In this way there is always a build defined for SDK projects, which can then be overwritten to do nothing as needed.
|
|
* 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
|
|
* Add test list CL switch
* End-To-End Test Run on Windows
* Cleanup
* MAX_PATH Workaround
* Set Execution directory for CoreFX tests
* Add All CoreFX PR Tests
* Add test dependencies
* Add extra dependencies
* Add parallel test execution
* Disable OuterLoop tests and System.Data.SqlClient.* tests
* Initialize maximum degree of parallelization to Environment.ProcessCount
* Remove unnecessary cli option
* Update Dependencies
* Add "enabled" property to tests
* Remove exclusions due to TestUtilities mismatch
* Add capability to run all tests for running Helix test lists directly
* Refactor build script to build testhost when skipping managed tests
* Disable failing System.Threading.Tests.EventWaitHandleTests.Ctor_InvalidMode
* Add switch to skip native test build
* Add testing documentation
* Don't run tests marked as "disabled" when running all available tests
* Add switch to build only testhost and remove Core_Root_Stage
* Clean up TopN.CoreFX.Windows.issues.json
* Refactor build-test.cmd
* PR feedback - build pipeline and documentation
* PR Feedback - Test Helper headers and comments
* Fix buildtesthost option for only building CoreFX test dependencies
* Disable intermittently failing test DrawBezier_PointFs
|
|
* Revert "Revert "Enable EventPipe across Unix and Windows (#14772)" (#15609)"
This reverts commit 302005ca8ae14eade37ddf4ac6e900617c1c166a.
* Fix ARM build break
* Use more explicit references to resolve build failures
* Fix compat with python3
* Disable FeaturePerfTracing on Windows as it is not ready
* Disable test for incomplete functionality
* Fix test diabled patterns
* Add license header
* Use keyword types for managed code
* Add message prefix
* More precisly condition generation of eventing sources
* Remove erroneously added changes
|
|
This reverts commit 7524d72d4f0f634fe5407280b83c25181dc8c556.
|
|
* [squashed] most work complete to enable EventPipe on Windows
* Eventpipe now builds on Windows
* Ensure evevntpipe is intialized on Windows
* Resolve the location of python from build.cmd
* Ensure eventing files are generated when needed
* moving linkage declaration to cmake
* create new event from constructor
* enable FEATURE_EVENT_TRACE and FEATURE_PERF_TRACE everywhere
* [WIP] checkpoint in fixing contarct errors
* add another possible python location
* Fix double delete bug in EventPipeConfiguration destructor
* Fix typo in function name
* Revert changes to .gitgnore
* bump to netstandard1.6 in preperation for new version of TraceEvent
* Revert changes to groovy files
* revert changes to perf-prep scripts
* add common.h and use nothrow
* Fix issue which was causing double delete of configprovider
* Add new test utilizing TraceEvent
* Remove accidentally added local directory reference
* Add comment to explain the addition of misc/tracepointprovider.cpp
* Add back sys.exit(0) and refactor
* Change conditional to be more direct
* Better handle NULL config
* Initialize m_deleteDefered
* Eliminate obsolete field
* Fix spelling error
* Fix nits
* Make smaple progiler timing functions easier to read
* Move projects back to netstandard1.4
* Incomplete improvements to EventPipeTrace test
* Add event integrity checks to test
* Clean up some left over code
* Add EventSource based test
* Remove unused PAL tests on Windows
* Fix Linux build breaks
* Minor changes to CMake files
* Remove //HACK for hack that was previously removed
* Fix formatting and negate a #ifdef
* Add conditional to ensure PERFTRACING is not enabled without EVENT_TRACE
* Take lock on EventPipeProvider and EventPipeConfiguration destruction
* Load winmm.dll at runtime
* Change function name and compile conditions
* Move typedef into #ifndef
* Use the correct config in setup
* Change lifecycle managment of EventPipeConfiguration's configuration provider
* Enable EventPipe tests pri0 and disable broken tests
* Replace python3 only error with python2 compatable one
* Make common.csproj build pri0
* Change TraceEvent version to 2.0.2 to match published verison
* Address cross build failure
* Remove use of undefined variable
* Add crossgen fix to .cmd
* Use more specific types to avoid marshalling errors
* Use Assert-style statements and remove one check
* Fix cross arch build
* Fix flipped branch
* Bring build.cmd changes to build.sh
* Fix cmake writing
* Revert "Bring build.cmd changes to build.sh"
This reverts commit 893c6492548d8bc9859ebba5b1b810aa630fac63.
* remove stdlib.h
* Fix out of order null check
|
|
Also did some small clean-up:
Fix missing tag from bad merge
Fix spacing in init-tools.sh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Deleted a few other irrelevant properties as well while I was on it.
Fixes #7711
|
|
|
|
|
|
|
|
Upgrade xunit from 2.1.0 to 2.2.0-beta2-build3300.
Restore xunit.runner.msbuild during normal test build.
Remove unused reference to xunit 2.1.0.
Replace "2.1.0" with "$(XunitPackageVersion)" for direct path to files.
Upgrade xunit used by GCPerfTestFramework and fix helix path.
Upgrade Microsoft.DotNet.xunit.performance and Microsoft.DotNet.xunit.performance.metrics to 1.0.0-alpha-build0040.
Upgrade XunitPerformanceDependency packages to 1.0.0-alpha-build0040.
Include scripts project.json in validation, update them.
Don't use helix.targets in generated xunit wrappers.
Copy TestTFM defaulting logic from CoreFX dir.props. Tweak default wrapper TFM per platform, and use real RID instead of relying on fallthrough.
|
|
1. tests\src\Common\test_dependencies\project.json - To consume corefx and other nuget feeds
2. tests\src\Common\empty\project.json - To build against the mscorlib facade,to use this just Add
<ReferenceLocalMscorlib>true</ReferenceLocalMscorlib> to your project
|
|
|
|
|
|
|
|
bin (#4764)
* Move generated test_runtime project.json to bin.
* Update helix tasks to point to moved test_runtime files.
* Remove unnecessary TestRuntimeDependenciesJson property.
|
|
|
|
This change modifies the build so that the generated xunit test
wrappers are no longer placed into the source tree, but rather to
the bin folder where all files generated by the build should go.
|
|
Remove hardcoded versions from runtests.proj
|
|
Added additional dependencies to the project.json for perflab projects that should enable generation of an assemblylist with all the packages required to execute the tests on the end machine
|
|
Put project.json for Xunit test wrappers in file system instead of generating. This lets dependency validation check the versions and reduces the number of project.json files to restore because all csproj's point to a single project.json and lockfile.
Adds XunitPackageVersion property that is used to always generate a valid project.json for xunit.runner.msbuild.
|
|
Enabling Helix perf test runs for CoreCLR
|
|
Fix XunitWrapper log file generation
|
|
|
|
|
|
Creates RunTime Dependency Layout as a seperate step
|
|
|