Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/VerifyChanges.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Select Xcode 16.4
- name: Select Xcode 26.0.0
run: |
sudo xcode-select -s /Applications/Xcode_16.4.0.app
sudo xcode-select -s /Applications/Xcode_26.0.0.app
- name: Lint
run: |
Scripts/lint
Expand Down Expand Up @@ -70,9 +70,9 @@ jobs:
sourcepackages-directory: .build/DerivedData/SourcePackages
swiftpm-package-resolved-file: Package.resolved
verbose: true
- name: Select Xcode 16.4
- name: Select Xcode 26.0.0
run: |
sudo xcode-select -s /Applications/Xcode_16.4.0.app
sudo xcode-select -s /Applications/Xcode_26.0.0.app
- name: Build for Testing
run: |
"$DEV_BUILDS"/build_and_test.sh --action build-for-testing
Expand Down Expand Up @@ -118,9 +118,9 @@ jobs:
- name: Download xccovPretty output
uses: actions/download-artifact@v4
with:
name: xccovPrettyOutput-iOS
name: xccovPrettyOutput-macOS
- name: Post Code Coverage Comment
uses: thollander/actions-comment-pull-request@v3
with:
file-path: xccovPretty-iOS.output
comment-tag: codeCoverage-iOS
file-path: xccovPretty-macOS.output
comment-tag: codeCoverage-macOS
1 change: 1 addition & 0 deletions .swift-format
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"lineBreakBetweenDeclarationAttributes": false,
"lineLength": 120,
"maximumBlankLines": 2,
"multilineTrailingCommaBehavior": "alwaysUsed",
"multiElementCollectionTrailingCommas": true,
"noAssignmentInExpressions": {
"allowedFunctions": []
Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ reproducibility.

- **Swift Numerics**: Used for `RealModule` in tests
- **Platform Requirements**: iOS 18+, macOS 15+, tvOS 18+, visionOS 2+, watchOS 11+
- **Swift Version**: Requires Swift 6.1 toolchain
- **Swift Version**: Requires Swift 6.2 toolchain

### Testing Strategy

Expand All @@ -85,4 +85,4 @@ reproducibility.
- 100 character line length
- 4-space indented code blocks (no fenced blocks)
- 2-space indented bullet lists with alignment
- Consistent terminology (function vs method, type vs class)
- Consistent terminology (function vs method, type vs class)
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version: 6.1
// swift-tools-version: 6.2

import PackageDescription

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ View our [changelog](CHANGELOG.md) to see what’s new.

## Development Requirements

DevTesting requires a Swift 6.1 toolchain to build. We only test on Apple platforms. We follow the
DevTesting requires a Swift 6.2+ toolchain to build. We only test on Apple platforms. We follow the
[Swift API Design Guidelines][SwiftAPIDesignGuidelines]. We take pride in the fact that our public
interfaces are fully documented and tested. We aim for overall test coverage over 99%.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,17 @@ import Testing
@testable import DevTesting

struct String_RandomTests {
#if os(macOS)
@Test
func randomWithCharactersHaltsWhenCharactersIsEmptyAndCountIsNonZero() async {
await #expect(processExitsWith: .failure) {
var rng = SystemRandomNumberGenerator()
_ = String.random(withCharactersFrom: "", count: 1, using: &rng)
}
}
#endif


@Test
func randomWithCharactersReturnsEmptyWhenCharactersIsEmptyOrCountIs0() {
var rng = SystemRandomNumberGenerator()
Expand Down