diff options
author | Jarret Shook <jashoo@microsoft.com> | 2017-12-14 15:58:32 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-14 15:58:32 -0800 |
commit | a9bbada43c9133aac4ac135ce68940282faf6377 (patch) | |
tree | a50d1c618d12baad7d345ee23bf88ed87beb867a /Documentation | |
parent | 0af608123cfe6cedf4e38d14792f620ba5de4faf (diff) | |
parent | 94baff373526ca3ab46d8650206096669f45a76e (diff) | |
download | coreclr-a9bbada43c9133aac4ac135ce68940282faf6377.tar.gz coreclr-a9bbada43c9133aac4ac135ce68940282faf6377.tar.bz2 coreclr-a9bbada43c9133aac4ac135ce68940282faf6377.zip |
Merge pull request #15448 from jashook/rebase_dutw
Remove CoreFX runtest dependency
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/building/unix-test-instructions.md | 68 |
1 files changed, 43 insertions, 25 deletions
diff --git a/Documentation/building/unix-test-instructions.md b/Documentation/building/unix-test-instructions.md index 60f324ea9b..9823b2681b 100644 --- a/Documentation/building/unix-test-instructions.md +++ b/Documentation/building/unix-test-instructions.md @@ -6,19 +6,24 @@ CoreCLR tests **Building** -Build CoreCLR on [Unix](https://github.com/dotnet/coreclr/blob/master/Documentation/building/linux-instructions.md), and CoreFX on [Unix](https://github.com/dotnet/corefx/blob/master/Documentation/building/unix-instructions.md). +Build CoreCLR on [Unix](https://github.com/dotnet/coreclr/blob/master/Documentation/building/linux-instructions.md). **Building the Tests** -To build the tests on Unix: +DotNet is required to build the tests, this can be done on any platform then copied over if the arch or os does not support DotNet. If DotNet is not supported, [CoreFX](https://github.com/dotnet/corefx/blob/master/Documentation/building/unix-instructions.md) is also required to be built. -> `./build-test.sh -rebuild` +To build the tests on Unix: -As of [#11860](https://github.com/dotnet/coreclr/pull/11860) building the tests on unix works; however, it will take significantly more time than building on Windows. +> `./build-test.sh` To build on Windows: -> `C:\coreclr>build-test.cmd -rebuild` +> `C:\coreclr>build-test.cmd` + +Please note that this builds the Priority 0 tests. To build priority 1: + +> `build-test.sh -priority 1` + **Building Individual Tests** @@ -83,41 +88,54 @@ sudo apt-get install libunwind8:armhf libunwind8-dev:armhf libicu-dev:armhf libl **Running tests** The following instructions assume that on the Unix machine: -- The CoreCLR repo is cloned at `~/coreclr` -- The CoreFX repo is cloned at `~/corefx` -- The Windows clone of the CoreCLR repo is mounted at `/media/coreclr` +- The CoreCLR repo is cloned at `/mnt/coreclr` -Tests currently need to be built on Windows and copied over to the Unix machine for testing. Copy the test build over to the Unix machine: +If DotNet is unsupported +- The CoreFX repo is cloned at `/mnt/corefx` +- The other platform's clone of the CoreCLR repo is mounted at `/media/coreclr` -> `cp --recursive /media/coreclr/bin/tests/Windows_NT.x64.Debug ~/test/` +The following steps are different if DotNet is supported or not on your arch and os. -See runtest.sh usage information: +**DotNet is supported** -> `~/coreclr$ tests/runtest.sh --help` +build-test.sh will have setup the Core_Root directory correctly after the test build. If this was either skipped or needs to be regenerated use: -Run tests (`Debug` may be replaced with `Release` or `Checked`, depending on which Configuration you've built): +>`build-test.sh generatelayoutonly` + +To run the tests run with the --coreOverlayDir path > ```bash > ~/coreclr$ tests/runtest.sh -> --testRootDir=~/test/Windows_NT.x64.Debug -> --testNativeBinDir=~/coreclr/bin/obj/Linux.x64.Debug/tests -> --coreClrBinDir=~/coreclr/bin/Product/Linux.x64.Debug -> --mscorlibDir=~/coreclr/bin/Product/Linux.x64.Debug -> --coreFxBinDir=~/corefx/bin/runtime/netcoreapp-Linux-Debug-x64 +> --testRootDir=/mnt/coreclr/bin/tests/Linux.x64.Debug +> --testNativeBinDir=/mnt/coreclr/bin/obj/Linux.x64.Debug/tests +> --coreOverlayDir=/mnt/coreclr/bin/tests/Tests/Core_Root +> --copyNativeTestBin > ``` -The method above will copy dependencies from the set of directories provided to create an 'overlay' directory. -If you already have an overlay directory prepared with the dependencies you need, you can specify `--coreOverlayDir` -instead of `--coreClrBinDir`, `--mscorlibDir`, `--coreFxBinDir`, and `--coreFxNativeBinDir`. It would look something like: +**DotNet is not supported** +Tests need to be built on another platform and copied over to the Unix machine for testing. Copy the test build over to the Unix machine: + +> `cp --recursive /media/coreclr/bin/tests/Windows_NT.x64.Debug /mnt/test/` + +See runtest.sh usage information: + +> `/mnt/coreclr$ tests/runtest.sh --help` + +Run tests (`Debug` may be replaced with `Release` or `Checked`, depending on which Configuration you've built): > ```bash -> ~/coreclr$ tests/runtest.sh -> --testRootDir=~/test/Windows_NT.x64.Debug -> --testNativeBinDir=~/coreclr/bin/obj/Linux.x64.Debug/tests -> --coreOverlayDir=/path/to/directory/containing/overlay +> /mnt/coreclr$ tests/runtest.sh +> --testRootDir=/mnt/test/Windows_NT.x64.Debug +> --testNativeBinDir=/mnt/coreclr/bin/obj/Linux.x64.Debug/tests +> --coreClrBinDir=/mnt/coreclr/bin/Product/Linux.x64.Debug +> --mscorlibDir=/mnt/coreclr/bin/Product/Linux.x64.Debug +> --coreFxBinDir=/mnt/corefx/bin/runtime/netcoreapp-Linux-Debug-x64 > ``` +The method above will copy dependencies from the set of directories provided to create an 'overlay' directory. + +**Results** Test results will go into: |