Skip to content

Unable to test non-Core code on Linux #6128

Open
@jskeet

Description

@jskeet

(Apologies if this is the wrong repo for this; it's not clear to me whether this is xUnit-specific or the expected behaviour when testing on Linux.)

Background

I have projects which don't target core yet, but I still want to test on Travis. They work fine on RC1 (with dnx test and the old xUnit setup) and work fine with an updated project.json on Windows, but fail to run tests on Linux.

It's not clear whether the non-core runtimes/frameworks are expected to work on non-Windows platforms. Using dotnet run works fine for a console app with a TFM of net451, so it's clearly got some knowledge... but dotnet test fails.

Similar issues: #4833, #5172.

Steps to reproduce

Create xUnit test project with a framework of net451, and run dotnet restore, dotnet build, dotnet test.

Sample project.json:

{
  "dependencies": {
    "xunit": "2.1.0",
    "dotnet-test-xunit": "1.0.0-rc2-build10015",
  },

  "testRunner": "xunit",

  "frameworks": {
    "net451": { }
  }
}

Sample C#:

using Xunit;

public class Test
{
    [Fact] public void Foo() {}
}

Expected behavior

Tests run (using Mono).

Actual behavior

Restore and build both work, but test fails:

dotnet-test Error: 0 : Microsoft.DotNet.Cli.Utils.CommandUnknownException: No executable found matching command "dotnet-test-xunit"  
  at Microsoft.DotNet.Cli.Utils.ProjectDependenciesCommandFactory.FindProjectDependencyCommands(String commandName, IEnumerable`1 commandArgs, String configuration, NuGetFramework framework, String outputPath, String buildBasePath, String projectDirectory)  
  at Microsoft.DotNet.Cli.Utils.ProjectDependenciesCommandFactory.Create(String commandName, IEnumerable`1 args, NuGetFramework framework, String configuration)  
  at Microsoft.DotNet.Tools.Test.ConsoleTestRunner.DoRunTests(ProjectContext projectContext, DotnetTestParams dotnetTestParams)  
  at Microsoft.DotNet.Tools.Test.TestCommand.DoRun(String[] args)

Environment data

dotnet --info output:

.NET Command Line Tools (1.0.0-preview1-002702)

Product Information:
 Version:     1.0.0-preview1-002702
 Commit Sha:  6cde21225e

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  15.10
 OS Platform: Linux
 RID:         ubuntu.15.10-x6

Metadata

Metadata

Assignees

No one assigned

    Labels

    untriagedRequest triage from a team member

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions