• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wooga / atlas-build-unity / 18
25%
master: 78%

Build:
Build:
LAST BUILD BRANCH: PR-154
DEFAULT BRANCH: master
Ran 20 Oct 2020 09:34AM UTC
Jobs 3
Files 23
Run time 669661min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
18

push

jenkins

Improve internal keychain handling (#70)

Description
===========

The `KeychainLookupList` first added to this project missused an
undocumented feature in macOS to implement all keychain additions and
removals without the need to execute the `security` commandline tool.
The logic worked by altering the config plist for the security tool:
`com.apple.security.plist`. This worked great and allowed to run the
tests on a mocked config file without altering the state of the
executing machine.

Since macOS 10.15 this solution became more and more brittle as	this
file was no longer created by default and is sometimes deleted. Multiple
issues came up over the last few month so I decided to move the logic
back to the `security` cli tool.

There is a huge drawback when it comes to tests. We would like to test
the logic in isolation but there is only one global keychain lookup
mechanims on macOS. So altering this under test means to leave a broken
state. To limit issues with broken/failing or forced closed tests I
decided to implement the tests with a simple reset function.

Before and After each test we reset the keychain lookup list to a
default state. This state is by default the login keychain + the
configured default keychain. One can also provide a list of keychains
via a custom environment variable
`ATLAS_BUILD_UNITY_IOS_DEFAULT_KEYCHAINS`. This variable should provide
a list separated by `:` (unix) or `;` (windows) to the default user
keychains. The `KeychainLookupListSpec` is also not running by default
to not break any system configs. To opt in declare the
`ATLAS_BUILD_UNITY_IOS_EXECUTE_KEYCHAIN_SPEC` environment variable.

The implementation of the tests and the changed `KeychainLookupList` has
one minor breaking behavior change. The method `clear` will do an
internal `reset` instead of removing all keychains.

Changes
=======

! *[IMPROVE] internal keychain handling

837 of 1030 relevant lines covered (81.26%)

0.91 hits per line

Jobs
ID Job ID Ran Files Coverage
1 18.1 20 Oct 2020 09:34AM UTC 0
81.07
2 18.2 20 Oct 2020 09:37AM UTC 0
28.25
3 18.3 28 Jan 2022 10:35AM UTC 0
38.67
Source Files on build 18
Detailed source file information is not available for this build.
  • Back to Repo
  • Jenkins Build #18
  • 6e19f974 on github
  • Prev Build on release/1.x (#16)
  • Next Build on release/1.x (#19)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc