Skip to content

Conversation

jonathanpeppers
Copy link
Member

The end goal here is to easily enable running tests on Windows. To
enable this, a new build-tools/scripts/RunNUnitTests.targets file is
needed. The Makefile will invoke this file so we aren't duplicating
anything.

We will continue with this approach in xamarin/xamarin-android, so
running unit tests is simpler on Windows there, too.

Usage (Windows):

Run all tests:

msbuild build-tools/scripts/RunNUnitTests.targets

Filter based on the --run switch:

msbuild build-tools/scripts/RunNUnitTests.targets /p:Run=Java.Interop

Run tests on specific assemblies:

msbuild build-tools\scripts\RunNUnitTests.targets /p:TestAssembly="bin\TestDebug\Java.Interop.Tools.JavaCallableWrappers-Tests.dll;bin\TestDebug\LogcatParse-Tests.dll"

Usage (macOS/linux)

make commands should remain unchanged. Existing environment variables
should continue to work such as RUNTIME, RUN, CONFIGURATION, etc.

@dnfclas
Copy link

dnfclas commented Oct 13, 2017

@jonathanpeppers,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<_TopDir>$(MSBuildThisFileDirectory)..\..</_TopDir>
<_RuntimeVersion Condition=" '$(OS)' != 'Windows_NT' ">--runtime=v4.0.0</_RuntimeVersion>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need --runtime?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not, I was mainly trying to keep everything exactly as it was.

I think the tests still pass fine without it.

The end goal here is to easily enable running tests on Windows. To
enable this, a new `build-tools/scripts/RunNUnitTests.targets` file is
needed. The `Makefile` will invoke this file so we aren't duplicating
anything.

We will continue with this approach in xamarin/xamarin-android, so
running unit tests is simpler on Windows there, too.

Usage (Windows):

Run all tests:
`msbuild build-tools/scripts/RunNUnitTests.targets`
Filter based on the `--run` switch:
`msbuild build-tools/scripts/RunNUnitTests.targets /p:Run=Java.Interop`
Run tests on specific assemblies:
`msbuild build-tools\scripts\RunNUnitTests.targets /p:TestAssembly="bin\TestDebug\Java.Interop.Tools.JavaCallableWrappers-Tests.dll;bin\TestDebug\LogcatParse-Tests.dll"`

Usage (macOS/linux):

`make` commands should remain unchanged. Existing environment variables
should continue to work such as `RUNTIME`, `RUN`, `CONFIGURATION`, etc.
@SkotEnki
Copy link

Thanks!

@jonpryor jonpryor merged commit ec16749 into dotnet:master Oct 17, 2017
@jonathanpeppers jonathanpeppers deleted the run-nunit-targets branch October 17, 2017 13:17
Redth pushed a commit to Redth/java.interop that referenced this pull request Oct 26, 2017
The end goal here is to easily enable running tests on Windows. To
enable this, a new `build-tools/scripts/RunNUnitTests.targets` file is
needed. The `Makefile` will invoke this file so we aren't duplicating
anything.

We will continue with this approach in xamarin/xamarin-android, so
running unit tests is simpler on Windows there, too.

**Usage (Windows):**

Run all tests:

    msbuild build-tools/scripts/RunNUnitTests.targets

Filter based on the `--run` switch:

    msbuild build-tools/scripts/RunNUnitTests.targets /p:Run=Java.Interop

Run tests on specific assemblies:

    msbuild build-tools\scripts\RunNUnitTests.targets /p:TestAssembly="bin\TestDebug\Java.Interop.Tools.JavaCallableWrappers-Tests.dll;bin\TestDebug\LogcatParse-Tests.dll"

**Usage (macOS/Linux):**

`make` commands should remain unchanged. Existing environment variables
should continue to work such as `RUNTIME`, `RUN`, `CONFIGURATION`, etc.

    make run-tests TESTS=bin/TestDebug/Java.Interop.Tools.JavaCallableWrappers-Tests.dll
jonpryor added a commit to jonpryor/java.interop that referenced this pull request Aug 26, 2022
Context: dotnet/android@7b4d4b8
Context: https://github.com/dotnet/sourcelink#githubcom-and-github-enterprise
Context: https://www.hanselman.com/blog/exploring-net-cores-sourcelink-stepping-into-the-source-code-of-nuget-packages-you-dont-own

Changes: http://github.com/xamarin/xamarin-android-tools/compare/fc3c2ac191a47715bc58e110ef28f38009158416...29f11f2a304376bfa96de999a78083fe5a8174c6

  * dotnet/android-tools@29f11f2: Bump to mono/mono.posix@d8994ca, dotnet/android-libzipsharp@98e9173 (dotnet#193)
  * dotnet/android-tools@7cfe683: [ci] Use Microsoft.SourceLink.GitHub (dotnet#192)
  * dotnet/android-tools@01a0dde: [Localization] Import translated resx files (dotnet#189)
  * dotnet/android-tools@cc715d9: [Xamarin.Android.Tools.AndroidSdk] Permit NDK r25 (dotnet#190)
  * dotnet/android-tools@3c55e9a: Avoid `Environment.SpecialFolder.ApplicationData` (dotnet#188)
  * dotnet/android-tools@0d55472: LEGO: Merge pull request 187
  * dotnet/android-tools@6946512: Juno: check in to juno/hb_befb220e-87ce-47e9-a9e6-10ea592b2337_20220729154833425. (dotnet#186)
  * dotnet/android-tools@6e3433a: Juno: check in to juno/hb_befb220e-87ce-47e9-a9e6-10ea592b2337_20220729025332507. (dotnet#185)
  * dotnet/android-tools@73c4388: [Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-33 (dotnet#184)
  * dotnet/android-tools@da3653e: [Xamarin.Android.Tools.AndroidSdk] Add API-33 to KnownVersions
  * dotnet/android-tools@327d433: [ci] Run OneLocBuild on a schedule (dotnet#180)
  * dotnet/android-tools@8ab60e4: [ci] Use latest macOS and Windows images (dotnet#181)
  * dotnet/android-tools@4dd3292: LEGO: Merge pull request 182
  * dotnet/android-tools@56b61f1: [Localization] Add OneLocBuild job (dotnet#175)
  * dotnet/android-tools@14076a6: [Xamarin.Android.Tools.AndroidSdk] Add API-32 to KnownVersions
  * dotnet/android-tools@9c641b3: [Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-32 (dotnet#169)
  * dotnet/android-tools@ec346d0: [Xamarin.Android.Tools.AndroidSdk] Permit NDK r24 (dotnet#171)
  * dotnet/android-tools@47832f1: [Xamarin.Android.Tools.AndroidSdk] AndroidSdkInfo validation locator (dotnet#170)
  * dotnet/android-tools@20f6112: Bump LibZipSharp to 2.0.4 (dotnet#166)
  * dotnet/android-tools@e4f0d59: Add support for writing android:roundIcon to Android manifest (dotnet#162)

Add a reference to the [Microsoft.SourceLink.GitHub NuGet package][0]
to `src/*/*.csproj` and `tools/*/*.csproj` so that `*.pdb` such as
`Java.Interop.pdb` contain URLs to facilitate debugging into their
corresponding assemblies without needing to checkout and build the
`Java.Interop` repo locally:

	% dotnet tool install --global SourceLink --version 3.1.1

	% $HOME/.dotnet/tools/sourcelink print-urls bin/Debug-net7.0/Java.Interop.pdb
	c1eaa3b7ef9a7354080ca02e56f5052a7b04fcf78298210fb69a1c05c5827c3d sha256 csharp /Volumes/Xamarin-Work/src/xamarin/Java.Interop/src/Java.Interop/GlobalSuppressions.cs
	https://github.com/raw/jonpryor/Java.Interop/6d1ae4ee1076341f8af36dbdd306dce0e6266999/src/Java.Interop/GlobalSuppressions.cs
	…

	% $HOME/.dotnet/tools/sourcelink test bin/Debug-net7.0/Java.Interop.pdb
	3 Documents with errors:
	983b6f609d1a601d57df96467aafe6a0cc6173a23d261f98ad582d16983259a9 sha256 csharp /Volumes/Xamarin-Work/src/xamarin/Java.Interop/src/Java.Interop/obj/Debug/net7.0/JniEnvironment.g.cs
	https://github.com/raw/jonpryor/Java.Interop/6d1ae4ee1076341f8af36dbdd306dce0e6266999/src/Java.Interop/obj/Debug/net7.0/JniEnvironment.g.cs
	error: url failed NotFound: Not Found
	9596da901062cf5add81d66c23696ca92bbfa59c82fe10f4f06d45292e2cb0ff sha256 csharp /Volumes/Xamarin-Work/src/xamarin/Java.Interop/src/Java.Interop/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs
	https://github.com/raw/jonpryor/Java.Interop/6d1ae4ee1076341f8af36dbdd306dce0e6266999/src/Java.Interop/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs
	error: url failed NotFound: Not Found
	508b170eae1ea8b281b2a892293c0b1f2b1ee67db1bd8ce89036541d3f121643 sha256 csharp /Volumes/Xamarin-Work/src/xamarin/Java.Interop/src/Java.Interop/obj/Debug/net7.0/Java.Interop.AssemblyInfo.cs
	https://github.com/raw/jonpryor/Java.Interop/6d1ae4ee1076341f8af36dbdd306dce0e6266999/src/Java.Interop/obj/Debug/net7.0/Java.Interop.AssemblyInfo.cs
	error: url failed NotFound: Not Found
	sourcelink test failed

These errors are expected, as they are generated files.

[0]: https://www.nuget.org/packages/Microsoft.SourceLink.GitHub
jonpryor added a commit that referenced this pull request Aug 26, 2022
Context: dotnet/android@7b4d4b8
Context: https://github.com/dotnet/sourcelink#githubcom-and-github-enterprise
Context: https://www.hanselman.com/blog/exploring-net-cores-sourcelink-stepping-into-the-source-code-of-nuget-packages-you-dont-own

Changes: http://github.com/xamarin/xamarin-android-tools/compare/fc3c2ac191a47715bc58e110ef28f38009158416...29f11f2a304376bfa96de999a78083fe5a8174c6

  * dotnet/android-tools@29f11f2: Bump to mono/mono.posix@d8994ca, dotnet/android-libzipsharp@98e9173 (#193)
  * dotnet/android-tools@7cfe683: [ci] Use Microsoft.SourceLink.GitHub (#192)
  * dotnet/android-tools@01a0dde: [Localization] Import translated resx files (#189)
  * dotnet/android-tools@cc715d9: [Xamarin.Android.Tools.AndroidSdk] Permit NDK r25 (#190)
  * dotnet/android-tools@3c55e9a: Avoid `Environment.SpecialFolder.ApplicationData` (#188)
  * dotnet/android-tools@0d55472: LEGO: Merge pull request 187
  * dotnet/android-tools@6946512: Juno: check in to juno/hb_befb220e-87ce-47e9-a9e6-10ea592b2337_20220729154833425. (#186)
  * dotnet/android-tools@6e3433a: Juno: check in to juno/hb_befb220e-87ce-47e9-a9e6-10ea592b2337_20220729025332507. (#185)
  * dotnet/android-tools@73c4388: [Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-33 (#184)
  * dotnet/android-tools@da3653e: [Xamarin.Android.Tools.AndroidSdk] Add API-33 to KnownVersions
  * dotnet/android-tools@327d433: [ci] Run OneLocBuild on a schedule (#180)
  * dotnet/android-tools@8ab60e4: [ci] Use latest macOS and Windows images (#181)
  * dotnet/android-tools@4dd3292: LEGO: Merge pull request 182
  * dotnet/android-tools@56b61f1: [Localization] Add OneLocBuild job (#175)
  * dotnet/android-tools@14076a6: [Xamarin.Android.Tools.AndroidSdk] Add API-32 to KnownVersions
  * dotnet/android-tools@9c641b3: [Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-32 (#169)
  * dotnet/android-tools@ec346d0: [Xamarin.Android.Tools.AndroidSdk] Permit NDK r24 (#171)
  * dotnet/android-tools@47832f1: [Xamarin.Android.Tools.AndroidSdk] AndroidSdkInfo validation locator (#170)
  * dotnet/android-tools@20f6112: Bump LibZipSharp to 2.0.4 (#166)
  * dotnet/android-tools@e4f0d59: Add support for writing android:roundIcon to Android manifest (#162)

Add a reference to the [Microsoft.SourceLink.GitHub NuGet package][0]
to `src/*/*.csproj` and `tools/*/*.csproj` so that `*.pdb` such as
`Java.Interop.pdb` contain URLs to facilitate debugging into their
corresponding assemblies without needing to checkout and build the
`Java.Interop` repo locally:

	% dotnet tool install --global SourceLink --version 3.1.1

	% $HOME/.dotnet/tools/sourcelink print-urls bin/Debug-net7.0/Java.Interop.pdb
	c1eaa3b7ef9a7354080ca02e56f5052a7b04fcf78298210fb69a1c05c5827c3d sha256 csharp /Volumes/Xamarin-Work/src/xamarin/Java.Interop/src/Java.Interop/GlobalSuppressions.cs
	https://github.com/raw/jonpryor/Java.Interop/6d1ae4ee1076341f8af36dbdd306dce0e6266999/src/Java.Interop/GlobalSuppressions.cs
	…

	% $HOME/.dotnet/tools/sourcelink test bin/Debug-net7.0/Java.Interop.pdb
	3 Documents with errors:
	983b6f609d1a601d57df96467aafe6a0cc6173a23d261f98ad582d16983259a9 sha256 csharp /Volumes/Xamarin-Work/src/xamarin/Java.Interop/src/Java.Interop/obj/Debug/net7.0/JniEnvironment.g.cs
	https://github.com/raw/jonpryor/Java.Interop/6d1ae4ee1076341f8af36dbdd306dce0e6266999/src/Java.Interop/obj/Debug/net7.0/JniEnvironment.g.cs
	error: url failed NotFound: Not Found
	9596da901062cf5add81d66c23696ca92bbfa59c82fe10f4f06d45292e2cb0ff sha256 csharp /Volumes/Xamarin-Work/src/xamarin/Java.Interop/src/Java.Interop/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs
	https://github.com/raw/jonpryor/Java.Interop/6d1ae4ee1076341f8af36dbdd306dce0e6266999/src/Java.Interop/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs
	error: url failed NotFound: Not Found
	508b170eae1ea8b281b2a892293c0b1f2b1ee67db1bd8ce89036541d3f121643 sha256 csharp /Volumes/Xamarin-Work/src/xamarin/Java.Interop/src/Java.Interop/obj/Debug/net7.0/Java.Interop.AssemblyInfo.cs
	https://github.com/raw/jonpryor/Java.Interop/6d1ae4ee1076341f8af36dbdd306dce0e6266999/src/Java.Interop/obj/Debug/net7.0/Java.Interop.AssemblyInfo.cs
	error: url failed NotFound: Not Found
	sourcelink test failed

These errors are expected, as they are generated files.

[0]: https://www.nuget.org/packages/Microsoft.SourceLink.GitHub
@github-actions github-actions bot locked and limited conversation to collaborators Apr 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants