Skip to content

Deduplicate single-assembly vs. multi-assembly stringintern tests - #64709

Merged
trylek merged 1 commit into
dotnet:mainfrom
trylek:JIT-Methodical-stringintern
Feb 3, 2022
Merged

Deduplicate single-assembly vs. multi-assembly stringintern tests#64709
trylek merged 1 commit into
dotnet:mainfrom
trylek:JIT-Methodical-stringintern

Conversation

@trylek

Copy link
Copy Markdown
Member

This is an interesting special example of deduplication where each of the tests (Test1, Test2, Test4)
runs alternatively in a single-assembly or multiple-assembly mode (compiled together with the
dependent source files teststr.cs / testgenstr.cs vs. using them via dependent projects
teststr.csproj / testgenstr.csproj).

As the actual content of the test source code is the same in both cases and just Roslyn-compiles
slightly differently based on the project structure, I have come to the conclusion that in this particular
case the least amount of churn can be achieved via a preprocessor define that is used to variate the
class name in the main test source files.

The tests were originally building in three flavors - "in-assembly", "cross-assembly" and "cross-module".
I have deleted the "cross-module" variants as I believe that they are identical to "cross-assembly".

Thanks

Tomas

/cc @dotnet/jit-contrib

@trylektrylek added the area-Infrastructure-coreclr Only use for closed issues label Feb 3, 2022
@trylektrylek added this to the 7.0.0 milestone Feb 3, 2022
@ghostghost assigned trylekFeb 3, 2022
@ghost

ghost commented Feb 3, 2022

Copy link
Copy Markdown

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

Issue Details

This is an interesting special example of deduplication where each of the tests (Test1, Test2, Test4)
runs alternatively in a single-assembly or multiple-assembly mode (compiled together with the
dependent source files teststr.cs / testgenstr.cs vs. using them via dependent projects
teststr.csproj / testgenstr.csproj).

As the actual content of the test source code is the same in both cases and just Roslyn-compiles
slightly differently based on the project structure, I have come to the conclusion that in this particular
case the least amount of churn can be achieved via a preprocessor define that is used to variate the
class name in the main test source files.

The tests were originally building in three flavors - "in-assembly", "cross-assembly" and "cross-module".
I have deleted the "cross-module" variants as I believe that they are identical to "cross-assembly".

Thanks

Tomas

/cc @dotnet/jit-contrib

Author:trylek
Assignees:-
Labels:

area-Infrastructure-coreclr

Milestone:7.0.0

@trylek

Copy link
Copy Markdown
MemberAuthor

/azp run runtime-coreclr outerloop

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@trylek
trylek merged commit 54404d7 into dotnet:mainFeb 3, 2022
@trylek
trylek deleted the JIT-Methodical-stringintern branch February 3, 2022 21:32
@ghostghost locked as resolved and limited conversation to collaborators Mar 6, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-coreclrOnly use for closed issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@trylek@BruceForstall