Skip to content

Invalid file path on Linux when using netcore3.0-preview #62

@Vannevelj

Description

@Vannevelj

My project the way I have it right now works perfectly fine locally (Windows) and on Teamcity, both on .NET Core 2.1. If I update to .NET Core 3.0-preview it continues to work locally but on Teamcity it breaks with the following error:

Error Message:
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]  System.AggregateException : One or more errors occurred. (Could not find a part of the path '/in/tests/unit/MyPackage.Tests/bin/Release/netcoreapp3.0/~/.nuget/packages'.) (The following constructor parameters did not have matching fixture data: MongoIntegrationFixture mongoIntegrationFixture)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj] ---- System.IO.DirectoryNotFoundException : Could not find a part of the path '/in/tests/unit/MyPackage.Tests/bin/Release/netcoreapp3.0/~/.nuget/packages'.
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj] ---- The following constructor parameters did not have matching fixture data: MongoIntegrationFixture mongoIntegrationFixture
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj] Stack Trace:
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj] 
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj] ----- Inner Stack Trace #1 (System.IO.DirectoryNotFoundException) -----
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, EnumerationOptions options)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at System.IO.Enumeration.FileSystemEnumerableFactory.UserDirectories(String directory, String expression, EnumerationOptions options)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at System.IO.Directory.GetDirectories(String path, String searchPattern)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at Mongo2Go.Helper.FolderSearch.FindFolder(String startPath, String searchPattern)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at Mongo2Go.Helper.FolderSearch.FindFolderUpwards(String startPath, String searchPattern)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at Mongo2Go.Helper.MongoBinaryLocator.FindBinariesDirectory(IList`1 searchDirectories)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at Mongo2Go.Helper.MongoBinaryLocator.ResolveBinariesDirectory()
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at Mongo2Go.Helper.MongoBinaryLocator.get_Directory()
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at Mongo2Go.MongoDbRunner.MakeMongoBinarysExecutable()
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at Mongo2Go.MongoDbRunner..ctor(IPortPool portPool, IFileSystem fileSystem, IMongoDbProcessStarter processStarter, IMongoBinaryLocator mongoBin, String dataDirectory, Boolean singleNodeReplSet)
[20:02:01]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]    at Mongo2Go.MongoDbRunner.Start(String dataDirectory, String binariesSearchPatternOverride, String binariesSearchDirectory, Boolean singleNodeReplSet)

I run it with MongoDbRunner.Start(singleNodeReplSet: true);

In an attempt to solve it I have tried publishing a package with the change as suggested in #61 (comment) but that didn't fix it. It gives the following output:

==>Error Message:
[20:45:31]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]       ==> System.AggregateException : One or more errors occurred. (Could not find Mongo binaries using the search patterns "tools/mongodb-linux*/bin", "packages/Mongo2Go*/tools/mongodb-linux*/bin", and "packages/mongo2go/*/tools/mongodb-linux*/bin".  You can override the search pattern and directory when calling MongoDbRunner.Start.  We have detected the OS as Linux 4.14.42-61.37.amzn2.x86_64 #1 SMP Mon May 21 23:43:11 UTC 2018.
[20:45:31]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]       ==>We walked up to root directory from the following locations.
[20:45:31]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]       ==> /in/tests/unit/MyPackage.Tests/bin/Release/netcoreapp3.0
[20:45:31]	[/in/tests/unit/MyPackage.Tests/MyPackage.Tests.csproj]       ==>/root/.nuget/packages) (The following constructor parameters did not have matching fixture data: MongoIntegrationFixture mongoIntegration)

I currently don't have ssh access to our build servers so I can't take a look on the actual machine but figured I'd let you know regardless. Any idea what this might be? As evident from the stacktrace, we're running a linux distro.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions