Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[tests] Fix msbuild response file usage #2723

Merged
merged 1 commit into from
Feb 12, 2019

Conversation

grendello
Copy link
Contributor

Commit 578e781ba added support
for using the msbuild.rsp response file when running tests in order to work
around issues with diacritic characters on the command line. The commit assumed
that the response file will be picked up automatically if it's found in
the project root directory, however this is not the case as the response file
is documented to exist in the same directory as msbuild.exe and thus some
tests (EmbededDSOs, CodeBehind) were failing to build since important properties
required for them to work were only in the response file and not specified on
the command line passed to msbuild.exe.

We missed the issue because Jenkins gave us a false-positive green build for
those changes where in reality the tests did not run at all

This fix appends @"/path/to/msbuild.rsp" to the msbuild's command line.

@dellis1972
Copy link
Contributor

why did the tests not run in the first place? We should investigate that.

@grendello
Copy link
Contributor Author

why did the tests not run in the first place? We should investigate that.

Indeed...

@dellis1972
Copy link
Contributor

@grendello if we are passing the response file with the '@' it cannot be named msbuild.rsp. So we need to change the name.

Commit dotnet@578e781ba added support
for using the `msbuild.rsp` response file when running tests in order to work
around issues with diacritic characters on the command line. The commit assumed
that the response file will be picked up automatically if it's found in
the *project root directory*, however this is not the case as the response file
is [documented][0] to exist in the same directory as `msbuild.exe` and thus some
tests (EmbededDSOs, CodeBehind) were failing to build since important properties
required for them to work were only in the response file and not specified on
the command line passed to `msbuild.exe`.

We missed the issue because Jenkins gave us a false-positive green build for
those changes where in reality the tests did [not run at all][1]

This fix appends `@"/path/to/msbuild.rsp"` to the msbuild's command line.

[0]: https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild-response-files?view=vs-2017
[1]: https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android/1505/testReport/EmbeddedDSOUnitTests/
@grendello
Copy link
Contributor Author

build

@dellis1972 dellis1972 merged commit f583caa into dotnet:master Feb 12, 2019
@grendello grendello deleted the msbuild-response-file-fix branch February 12, 2019 10:20
@github-actions github-actions bot locked and limited conversation to collaborators Feb 1, 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.

3 participants