Repository navigation
Fix the tests under a Dev.xcconfig, and add smoke-test and map - #596
Merged
Merged
Conversation
Pair the hardened runtime with the code-signing identity the three test targets already pin, so that the two settings cannot disagree. The targets pass CODE_SIGN_IDENTITY="-" but leave the hardened runtime to the xcconfig. A Dev.xcconfig turns it on for every configuration, and the hardened runtime refuses to map an ad-hoc signed framework into the test host, so the run aborted on MGScopeBar before reaching a test. Without a Dev.xcconfig the project turns it on for Release only, which the tests never build, so this is the configuration CI already runs. - Add TEST_SETTINGS, pinning the ad-hoc identity and the hardened runtime off together - Point unit-test, ui-test and all-tests at it
Run the packaged gitx tool out of a release archive, so that a bundle whose helper cannot load the frameworks beside it fails a target here rather than on a user's machine. The hardened runtime is turned on for Release only, and the team mismatch that trips library validation needs a real signing identity. The test targets build Debug and sign ad-hoc, so nothing in the suite assembles the configuration that ships, which is how the tool reached users unable to load ObjectiveGit until gitx#595. - Add smoke-test, running Contents/Resources/gitx from the archive - Read the tool's output rather than its exit status, since it exits 1 after printing the version either way - Refuse a bundle without the hardened runtime, which asking for `dmg` in the same invocation would otherwise leave the check passing on
Read the edges out of make's own rule database, so that the answer to which target pulls in which comes from the rules themselves and cannot drift from them. The help text lists eighteen targets in file order with nothing to say which of them produces a running application, and a hand-drawn graph would only be right until the next target arrives. - Add scripts/make-target-map.sh, extracting the edges from `make -pnr` and printing each target with what it pulls in beneath it - Add the `map` target that runs it - Label the nodes with the help text, which stays a label rather than the source of the graph
Contributor
|
I make right now a new release. Keep finger crossed 🤞 that we don't introduce new issues |
Collaborator
Author
Sure, sure - "what could possibly g..." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three Makefile changes: the test targets could not run with a Dev.xcconfig present,
nothing covered the signing configuration that ships, and
the target list gave no hint which target to run.
smoke-test, running the packaged gitx tool from a release archivemap, graphing the target dependencies from make's own rule databaseTest plan:
unit-testpasses its 49 tests andui-testits 4;all-testsruns bothsmoke-testpasses on a signed archive, and fails when the tool alone isre-signed ad-hoc, which reproduces Fix the gitx tool being unable to load the app frameworks #595
maprenders the graph,helpis otherwise unchanged