Skip to content

Building tests fails on a system without support for RSA+SHA1 #105486

@omajid

Description

@omajid

I am trying to build and run the .NET runtime unit tests on a system where RSA+SHA1 is disabled. In general, arcade supports building in such environments (see dotnet/arcade#12749) via the FullAssemblySigningSupported flag.

However, we still fail to build/run unit tests in that mode.

$ git rev-parse HEAD
4287101242331f7ed43e4ea14e3d2f909b205fd5
$ ./build.sh --subset clr+libs+host+packs+libs.tests /p:FullAssemblySigningSupported=false
...
  System.Text.Json.TestLibrary.Roslyn4.4 -> /home/omajid/runtime/artifacts/bin/System.Text.Json.TestLibrary.Roslyn4.4/Debug/netstandard2.0/System.Text.Json.TestLibrary.Roslyn4.4.dll
  System.Text.Json.SourceGeneration.Roslyn4.4.Tests -> /home/omajid/runtime/artifacts/bin/System.Text.Json.SourceGeneration.Roslyn4.4.Tests/Debug/net9.0/System.Text.Json.SourceGeneration.Roslyn4.4.Tests.dll
  Microsoft.Composition.Demos.ExtendedCollectionImports -> /home/omajid/runtime/artifacts/bin/Microsoft.Composition.Demos.ExtendedCollectionImports/Debug/netstandard2.0/Microsoft.Composition.Demos.ExtendedCollectionImports.dll
  System.Text.Json.TestLibrary.Roslyn3.11 -> /home/omajid/runtime/artifacts/bin/System.Text.Json.TestLibrary.Roslyn3.11/Debug/netstandard2.0/System.Text.Json.TestLibrary.Roslyn3.11.dll
  System.Composition.Tests -> /home/omajid/runtime/artifacts/bin/System.Composition.Tests/Debug/net9.0/System.Composition.Tests.dll
  System.Text.Json.SourceGeneration.Roslyn3.11.Tests -> /home/omajid/runtime/artifacts/bin/System.Text.Json.SourceGeneration.Roslyn3.11.Tests/Debug/net9.0/System.Text.Json.SourceGeneration.Roslyn3.11.Tests.dll

Build FAILED.

FSC : error FS2014: A problem occurred writing the binary '/home/omajid/runtime/artifacts/obj/System.Formats.Cbor.Tests.DataModel/Debug/net9.0/System.Formats.Cbor.Tests.DataModel.dll': A call to StrongNameSignatureSize failed (Invalid Public Key blob) [/home/omajid/runtime/src/libraries/System.Formats.Cbor/tests/CborDocument/System.Formats.Cbor.Tests.DataModel.fsproj]
    0 Warning(s)
    1 Error(s)

Is there some way to configure fsc to not try to parse the (non-existing) strong name signature?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions