Make tests pass when PR submitted by an external contributor#1690
Make tests pass when PR submitted by an external contributor#1690jcansdale merged 1 commit intogithub:masterfrom jcansdale:fixes/1669-do-not-strong-name
Conversation
grokys
left a comment
There was a problem hiding this comment.
Might it be better to just sign everything with a (different) public key when the user doesn't have access to our key?
I'd be inclined to do something like that as well. Alternatively we could have one key for Re: the test assemblies, I'd prefer to avoid strong naming them if possible because this limits dependencies to be strong named. This project was using |
|
Not strong naming the test assemblies definitely makes sense. As for signing |
This one is worth taking a little time to think about. It's a different idea to what has been floated before. We wouldn't be using "open source" signing, where the assemblies would end with the same identity as the released version. We'd be giving Assuming people generally install the Release/gallery version on their local instance and F5 the experimental instance of VS using the Debug configuration, it should have the happy consequence of avoiding the installation issues people have been having. 😄 |
- Don't sign test assemblies - Don't use InternalsVisibleTo
What this PR does
There is a catch-22 when using the
InternalsVisibleToattributes:This means that when the the
GitHub.Exportsassembly is unsigned, it can't be referenced by a signed test assembly. Unfortunately, if the test assembly is unsigned, it can't be used as a "friend" assembly whenGitHub.Exportsis signed. This means that either everything must be signed or everything must be unsigned.StrongNameSignerUse a nested class calledInternalinstead ofInternalsVisibleToattributeTesting
I created this using the new fork functionality and am submitting it as an external contributor. If everything goes to plan, the tests will pass. ✅
This is currently impacting #1655 and #1690
Fixes #1669