Skip to content

Releases: DataDog/dd-sdk-swift-testing

2.1.2

13 Oct 07:58
Compare
Choose a tag to compare

This is version 2.1.1 relabeled as 2.1.2 to solve an issues in SPM

2.1.1

29 Aug 08:01
Compare
Choose a tag to compare

Bug fixes

  • Tests that included multiple benchmarks (12 or more) were failing to be reported. Now a maximum of 16 benchmarks are supported, will show an error if the limit is exceeded, and wont drop the test.

2.1.0

08 Aug 14:36
Compare
Choose a tag to compare

New Features

  • Added Xcode Cloud as a supported CI for reporting tests. Check documentation for details on environment variables to configure.
  • Added new environment variables for CircleCI, Jenkins, GitLab, GitHub and Buildkite. Check documentation for details.
  • Unit tests now also report ui.localization, it was previously only reported for UI tests. It helps identifying unit tests run in different languages. Note: Some flaky tests can appear duplicated temporarily because of this change

Bug fixes

  • Tests that included multiple benchmarks (more than 3) could miss some tags, including name or test suite
  • Crash symbolication failed when the line was included in a module with more than a space in its name

Improvements

  • Updated tags included with Logs, now CI-generated logs can be filtered with tag datadog.product

Changes

  • Breaking Manual API: DDTestSession has been renamed to DDTestModule in preparation for new features.

2.0.1

18 May 15:09
Compare
Choose a tag to compare

New Features

  • Added support for user defined XCTMetrics in benchmark tests.

Bug fixes

  • Some configuration of the test instrumentation was not correctly being set in UI test (e.g. logs in the app were not being reported when correctly enabled, only on the test code)

Improvements

  • Test process fails if test instrumentation is configured but DD_API_KEY is not set

2.0.0

13 Apr 14:32
Compare
Choose a tag to compare

Breaking change

Only API keys are supported now for sending results to the backend. Please confirm that you are using DD_API_KEY in your environment variables and not DATADOG_CLIENT_TOKEN. You can create an API key here

New Features

  • New integration with RUM for your UI Tests. If the app has RUM configured, RUM sessions will be shown in a new tab in the test results. Also RUM sessions initiated from a test will be identified as such.
  • Added support for crash symbolication, source code location and code owners in tvOS simulator

Bug fixes

  • It now correctly finds Codeowners file when it is located inside .gitlab folder
  • Bitbucket repository could include user and password in the URL
  • Fixes using the library with swift tools < 5.3

Improvements

  • Added support for Gitlab sections in Codeowners file
  • Tests and spans generated during testing wont be included in APM results

1.1.1

09 Feb 12:22
Compare
Choose a tag to compare

New Features

  • Show multiple test assertion errors. Error type will be set to the first failure, but all error messages are now included.

Improvements

  • Add more information to network requests, including thread, execution queue, and task information, and improve call_stack information format.
  • Add language tag to the first level for compatibility with other tracers, ci_library tag group will be removed in the future
  • Framework is now built with Xcode 13.2.1

1.1.0

14 Jan 13:11
Compare
Choose a tag to compare

New Features

  • Breaking change Stdout and Stderr capturing are not enabled by default anymore, because they can incur small costs to Datadog's Log product. Use DD_ENABLE_STDOUT_INSTRUMENTATION and DD_ENABLE_STDERR_INSTRUMENTATION to enable them.
  • Full support to swift Concurrency in app or tests. Needs Xcode 13.2 or newer
  • Add call_stack tag to all network request spans by default, this call stack only shows classes and methods. Fully symbolicated call stacks with file and line are possible ( for macOS or simulator running tests) setting DD_ENABLE_NETWORK_CALL_STACK_SYMBOLICATED, but they are quite time consuming.
  • Add support to us5 in DD_SITE

Bug fixes

  • DD_DISABLE_SDKIOS_INTEGRATION configuration in UITests was also blocking other opentelemetry spans to be correctly reported ( e.g. network spans)
  • Symbolication of line crashes failed when the app or the library included space characters in the name.
  • Fix a potential thread race condition while symbolicating crashes

Improvements

  • When a test crashes, crashed thread is shown in error.stack at the top. Full crash log is available in error.crashLog tag.
  • Symbolicated crashes now show the relative paths instead of the absolute path in the machine where tests were run
  • The name of the span representing the application in a UI test has been renamed to ApplicationUnderTest
  • It uses opentelemetry-swift version 1.1.2

1.0.2

30 Nov 14:47
Compare
Choose a tag to compare

New Features

  • Report UI settings in tags: ui.appearance, ui.localization and ui.orientation (this last one only on iOS). These settings are reported on UI tests when running on simulator
  • Programmatic Test API modifications: setAttribute() renamed to setTag(), and addBenchmark() was removed (Breaking change)
  • Adds NTP clock synchronisation to improve end to end test representation spans

Bug fixes

  • Github Actions pipeline URL now equals the one reported in pipeline monitoring ( new environment variables needed, check documentation)

Improvements

  • Xcode 13.1 is used for building the xcframework
  • It uses opentelemetry-swift version 1.1.1

1.0.1

05 Nov 10:59
Compare
Choose a tag to compare

Bug fixes

  • Concurrent network requests could fail to be reported
  • Some stderr output might not appear

Improvements

  • It uses opentelemetry-swift 1.1.0 version
  • Removed some dependencies that are not needed

1.0.0

25 Oct 12:55
Compare
Choose a tag to compare

New Features

  • Add support for reporting also tests programmatically (besides automatic XCTest instrumentation). It is done by using new public classes DDTestSession DDTestSuite and DDTest when importing the framework, both in Swift and ObjectiveC. (Official documentation pending, but some information can be found here).
  • Add support for reporting tests with DD_API_KEY besides DATADOG_CLIENT_TOKEN
  • Add support for all types of measure metrics supported by Xcode 13 to benchmark tests

Bug fixes

  • Fix a potential thread race condition when symbolicating crashes
  • Opentelemetry tracer can be now accessed at DDInstrumentationControl.openTelemetryTracer as documentation specifies

Improvements

  • Reports DatadogSDKTesting version in ci.library.version tag, default version tag now reports app or framework under testing version
  • Add DD_TRACE_DEBUG environment variable to print some debugging info to standard output
  • Add normalisation to user supplied Git branch and tag
  • It uses opentelemetry-swift 1.0.7 version