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

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

Build:
Build:
LAST BUILD BRANCH: PR-154
DEFAULT BRANCH: master
Ran 20 Oct 2020 09:34AM UTC
Files 23
Run time 4s
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

20 Oct 2020 09:34AM UTC coverage: 81.068% (+38.4%) from 42.67%
18.1

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

835 of 1030 relevant lines covered (81.07%)

0.81 hits per line

Source Files on job 18.1
  • Tree
  • List 0
  • Changed 23
  • Source Changed 23
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 18
  • 6e19f974 on github
  • Prev Job for on release/1.x (#16.2)
  • Next Job for on release/1.x (#19.1)
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