Skip to content

Releases: DataDog/dd-sdk-swift-testing

0.9.5

20 Sep 12:41
Compare
Choose a tag to compare

New Features

  • Added support for async/await tests and async/await network instrumentation when using Xcode 13
  • Identify UI tests by setting the tag test.is_ui_test

Bug Fixes

  • Fixed a crash when initializing the test instrumentation
  • Fixed Gitlab branch name when testing PR's

Improvements

  • Framework is built with Xcode 13 beta 5 (Xcode 13 RC does not support concurrency in macOS)
  • It uses opentelemetry-swift 1.0.5

0.9.4

25 Aug 08:14
Compare
Choose a tag to compare

New Features

  • Added support for Cocoapods, testing framework can now be installed by adding: pod 'DatadogSDKTesting' to your Podfile. It is distributed in binary form for all platforms using XCFramework format.
  • Allow configuration values to be provided in the Info.plist file of the Test bundle (not in the App bundle) in addition to the environment variables of the test action. The configuration keys use the same identifiers than the environment variables (e.g. DD_TEST_RUNNER or DD_ENABLE_RECORD_PAYLOAD).
  • Reduce minimum iOS and tvOS supported versions to 11.0.

Improvements

  • Updated PLCrashReporter to version 1.9.0

0.9.3

17 Aug 15:18
Compare
Choose a tag to compare

New Features

  • User can provide or overwrite Git information using environment variables. Check documentation for specifics.

Bug Fixes

  • error.stack tag could show only partial content instead of full crash log.
  • Network request were not propagating proper span identifiers in the headers (x-datadog-parent-id), and remote spans would appear as child of the test span instead of as a child of the request span.

Improvements

  • device.model tag shows model number when running on simulator, instead of generic platform name
  • Add support for CI_COMMIT_AUTHOR and CI_COMMIT_TIMESTAMP in Gitlab
  • Add support for SYSTEM_JOBDISPLAYNAME and SYSTEM_STAGEDISPLAYNAME in Azure pipelines
  • Uses opentelemetry-swift version 1.0.4
  • Network requests in iOS show the network interface used for them (wifi, 3G, ...)

0.9.2

15 Jul 08:27
Compare
Choose a tag to compare

New Features

  • Allow instrumenting tests when using swift test instead of xcodebuild test in a Swift Package Manager project. All environment variables documented for Xcode must also be passed to the swift test command

Bug Fixes

  • Bitrise CI: Replace BITRISE_APP_TITLE with BITRISE_TRIGGERED_WORKFLOW_ID in the environment variables. It will report the executed workflow instead of the name of the project in the ci.pipeline.name tag. Existing users must replace in CI environment variables.

Improvements

  • Add a warning message when necessary git information cannot be read
  • Jenkins CI: Add extra environment variable for detecting repositories in PR's: GIT_URL_1. Existing Jenkins users must add in their CI environment variables.

0.9.1

06 Jul 08:16
Compare
Choose a tag to compare

New Features

  • Replace DD_ENDPOINT environment variable with DD_SITE, to be consistent with the name and values of Agent Global option

Bug Fixes

  • LICENSE file is not included in the distributed DatadogSDKTesting.zip, fixing some SPM random errors.

0.9.0

29 Jun 16:35
Compare
Choose a tag to compare

New Features

  • Report codeowners per test. It uses CODEOWNERS file, when exists, to report which test belongs to which user.
  • Swift Package Manager distribution now uses binary xcframework for Xcode 12 and up. It avoids downloading and compiling all the dependencies each time.

Bug Fixes

  • Applications under UITesting can now properly link with the framework when using Swift Package Manager and XCode 12+. (XCode 11 users must still link the app with the compiled .xcframework).
  • Symbolicating crashes could fail when the bundle had spaces in the name.
  • Some configuration flags were not being properly set when running UI tests.

Improvements

  • Try to read Git information when SRCROOT is not set, by using CI workspace path.
  • Test source location is also available now when running optimised builds (it may include lines from functions that are inlined by the compiler though)
  • Use complete model number for device.model.
  • Auto loading of the library now uses __attribute__((constructor)). It avoids dependences on Objective-C runtime.

0.8.2

11 Jun 13:50
Compare
Choose a tag to compare

Bug Fixes

  • Fixed CircleCI pipeline URL
  • Fix git branch name when using a detached HEAD

Improvements

  • Added support for US3 endpoint using the DD_ENDPOINT env variable
  • The framework now logs in standard output when is loaded
  • Will use repository name as default test service name if none is added
  • Added some environment variables for commit information in some CI's

0.8.1

07 Jun 07:41
Compare
Choose a tag to compare

Bug Fixes

  • Sometimes test spans could appear as child of another test span
  • Branch reporting was incorrect when reporting a PR on Bitrise

0.8.0

01 Jun 08:09
Compare
Choose a tag to compare

New Features

  • Test source location: it reports the source.file, source.start line, and source.end line in test tags.
  • Support for eu and gov endpoints, using DD_ENDPOINT
  • Report git information for non CI workflows, use environment none by default in those situations
  • Spans and logs originated during testing are identified now by the backend
  • Add execution.order and execution.processId to the test tags, when running tests in parallel this number is relative to the Test Class

Bug Fixes

  • Fixes a problem when reading git info from big .pack files or from a tag.
  • Symbolication for crashes could be incomplete in some situations.
  • Span Id was not correctly injected in the network headers, it was injecting the parent Id
  • Headers where not being properly injected when running UI Tests.
  • Some logs from UI tests could fail to appear
  • Changed environment variables for Circle CI (check documentation)

Improvements

  • Network instrumentation is now based on top of Opentelemetry network instrumentation
  • Symbolication of crashes is faster now (runs in parallel)
  • Don't try to read Git info for on device testing

0.7.0

22 Mar 11:37
Compare
Choose a tag to compare

New Features

  • Automatically extracts git metadata when running on macOS or simulator (iOS and tvOS). Needs SRCROOT environment variable.
  • Reports Xcode version in runtime.version tag
  • Supports adding custom tags by adding DD_TAGS environment variable
  • Allows disabling crash handling for very specific cases (check documentation)

Bug Fixes

  • Fixes a thread race condition that could show in Thread Sanitizer

Improvements

  • Improves error messages from test failures, it now uses XCTIssue information
  • Improves crash symbol information for system libraries
  • Report version of the testing framework
  • Uses opentelemetry-swift version 0.6.0