Skip to content

Linux tests fail in AppDataStorage via Semantics.Paths validation #11

Description

@matt-edmondson

Summary

Test on ubuntu-latest fails on main. Every test in AppDataBatchManagerTests throws before reaching its assertion:

System.FormatException: Cannot convert "ktsu.BlastMerge.Test" to RelativeDirectoryPath
  at ktsu.AppDataStorage.AppData.get_AppDomain()
  at ktsu.AppDataStorage.AppData.get_Path()
  at ktsu.AppDataStorage.AppData`1.LoadOrCreate()
  at ktsu.BlastMerge.Services.AppDataBatchManager.get_AppData()

Windows passes.

There is nothing to fix here

The defect is in ktsu.Semantics.Paths, reached through ktsu.AppDataStorage. IsDirectoryPathAttribute validates a path by calling File.Exists, which for a relative path resolves against the current working directory. On Linux, .NET publishes an extensionless apphost named exactly ktsu.BlastMerge.Test beside the test assembly, so the check finds that file and rejects the name. On Windows the apphost is ktsu.BlastMerge.Test.exe, so it does not.

The name is identical on both platforms. Only what is on disk beside the process differs.

Tracked upstream: ktsu-dev/Semantics#196.

What unblocks it

A released ktsu.Semantics.Paths carrying that fix, then picking it up here. No change to this repository is expected to be needed, and it is worth re-checking rather than assuming once the dependency moves.

Verified

Cloned at main, ran the suite on Linux and on Windows. The only Linux failures are the ones above, all with the same cause.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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