dotnet / dotnet/sdk

Add a test to pin the 'enable default files' behavior of `dotnet run`

Open
#50,958 1 comment 0 reactions 0 assignees View on GitHub
Area-Run Test Debt untriaged
Dominant language
C#
Stars
3.2k
Forks
1.3k
PR merge metrics
PR metrics pending

Description

In https://github.com/dotnet/sdk/pull/50942 we removed `EnableDefaultItems=false` from the set of properties used to evaluate and run targets for Projects used as part of `dotnet run`. We did this to unblock Android use cases, where the Targets being run to compute the `run` command/arguments had a dependency on the default-includes behavior of the SDK. This is the _safest_ choice for us.

However, we need to capture that expectation in a unit test so we don't regress this behavior in the future. We should create a test that `dotnet run`'s a synthetic project with a `ComputeRunArguments` target that depends on a MSBuild Item that is included as part of the `EnableDefaultItems=true` setting. The Target could just fail if a given item wasn't found, for example.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the dotnet run entry point and inspect how ComputeRunArguments evaluates targets for synthetic projects. Add a test project whose target depends on an item supplied by EnableDefaultItems=true; done means dotnet run succeeds and the target does not fail because that item is missing.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, cli, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.