Repository: reef Updated Branches: refs/heads/master 5f212e179 -> 82a32809c
[REEF-1720] Improve testing documentation for REEF.NET JIRA: [REEF-1720](https://issues.apache.org/jira/browse/REEF-1720) Pull request: This closes #1233 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/82a32809 Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/82a32809 Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/82a32809 Branch: refs/heads/master Commit: 82a32809c5267c3caa9923a5c3e5d2503b853fc7 Parents: 5f212e1 Author: Mariia Mykhailova <[email protected]> Authored: Wed Jan 18 11:33:17 2017 -0800 Committer: Markus Weimer <[email protected]> Committed: Thu Jan 19 10:00:11 2017 -0800 ---------------------------------------------------------------------- lang/cs/BUILD.md | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/82a32809/lang/cs/BUILD.md ---------------------------------------------------------------------- diff --git a/lang/cs/BUILD.md b/lang/cs/BUILD.md index 07e9fba..249444d 100644 --- a/lang/cs/BUILD.md +++ b/lang/cs/BUILD.md @@ -33,31 +33,50 @@ Prerequisites Instructions ------------ -To build and run tests in Visual Studio, open `lang\cs\Org.Apache.REEF.sln`, build entire solution and run all tests in Test Explore. +To build and run tests in Visual Studio on local machine: + +1. Open solution `.\lang\cs\Org.Apache.REEF.sln` +2. Build solution +3. Open Test Explorer and add search filter `-Trait:Environment` to filter out tests which are supposed to run on Yarn. + If not filtered out, these tests will fail. +4. Use "Run All" to run all tests To build REEF.NET from command line, execute msbuild .\lang\cs\Org.Apache.REEF.sln -To run .NET tests from command line, execute +To run .NET tests on local machine from command line, execute msbuild .\lang\cs\TestRunner.proj +`TestRunner.proj` already has a filter set up to exclude Yarn tests. + Continuous Integration ------------ -We use [AppVeyor](https://www.appveyor.com/) to run continuous integration for REEF .NET code (i.e. build and run tests +We use [AppVeyor](https://www.appveyor.com/) to run continuous integration for REEF .NET code (i.e. build code and run tests for all pull requests and commits to master branch). It can be convenient to set up AppVeyor for your fork of REEF repository, for example, to reproduce a test failure which -can't be reproduced locally. +can't be reproduced locally or to get AppVeyor test run results earlier than the official ones. 1. Log in to [AppVeyor](https://ci.appveyor.com/) using your GitHub credentials. -2. Go to [project creation](https://ci.appveyor.com/projects/new) and select reef repository. +2. Go to [project creation](https://ci.appveyor.com/projects/new) and select `reef` repository. 3. Fine-tune configuration as required at Settings tab of repository; you can enable building pushes to your repository when you're investigating something and disable them when you don't need them. 4. Edit [AppVeyor configuration file](../../appveyor.yml) as required (by default you'll use the same configuration as REEF build). +To isolate a specific test or group of tests, you can modify `test_script` section of `appveyor.yml`. +For example, to run only one test `Org.Apache.REEF.Tests.Functional.IMRU.IMRUCloseTaskTest.TestTaskCloseOnLocalRuntime` +modify `test_script` section as follows: + + test_script: + - cmd: cd .\lang\cs + - cmd: .\.nuget\nuget.exe restore .\.nuget\packages.config -o .\packages + - cmd: .\packages\xunit.runner.console.2.1.0\tools\xunit.console.exe .\bin\x64\Debug\Org.Apache.REEF.Tests\Org.Apache.REEF.Tests.dll -method Org.Apache.REEF.Tests.Functional.IMRU.IMRUCloseTaskTest.TestTaskCloseOnLocalRuntime + +`nuget restore` is necessary to install `xunit.runner.console` package, which by default is installed in `TestRunner.proj`. + Instructions on Building and Testing REEF .NET from Scratch ------------
