@@ -22,8 +22,7 @@ import class TSCBasic.InMemoryFileSystem
22
22
23
23
import class TSCTestSupport. XCTestCasePerf
24
24
25
- class PackageGraphPerfTests : XCTestCasePerf {
26
-
25
+ final class PackageGraphPerfTests : XCTestCasePerf {
27
26
func testLoading100Packages( ) throws {
28
27
#if !os(macOS)
29
28
try XCTSkipIf ( true , " test is only supported on macOS " )
@@ -49,8 +48,16 @@ class PackageGraphPerfTests: XCTestCasePerf {
49
48
} else {
50
49
let depName = " Foo \( pkg + 1 ) "
51
50
let depUrl = " / \( depName) "
52
- dependencies = [ . localSourceControl( deprecatedName: depName, path: try . init( validating: depUrl) , requirement: . upToNextMajor( from: " 1.0.0 " ) ) ]
53
- targets = [ try TargetDescription ( name: name, dependencies: [ . byName( name: depName, condition: nil ) ] , path: " . " ) ]
51
+ dependencies = [ . localSourceControl(
52
+ deprecatedName: depName,
53
+ path: try . init( validating: depUrl) ,
54
+ requirement: . upToNextMajor( from: " 1.0.0 " )
55
+ ) ]
56
+ targets = [ try TargetDescription (
57
+ name: name,
58
+ dependencies: [ . byName( name: depName, condition: nil ) ] ,
59
+ path: " . "
60
+ ) ]
54
61
}
55
62
// Create manifest.
56
63
let isRoot = pkg == 1
@@ -79,7 +86,11 @@ class PackageGraphPerfTests: XCTestCasePerf {
79
86
measure {
80
87
let observability = ObservabilitySystem . makeForTesting ( )
81
88
let g = try ! PackageGraph . load (
82
- root: PackageGraphRoot ( input: PackageGraphRootInput ( packages: [ rootManifest. path] ) , manifests: [ rootManifest. path: rootManifest] , observabilityScope: observability. topScope) ,
89
+ root: PackageGraphRoot (
90
+ input: PackageGraphRootInput ( packages: [ rootManifest. path] ) ,
91
+ manifests: [ rootManifest. path: rootManifest] ,
92
+ observabilityScope: observability. topScope
93
+ ) ,
83
94
identityResolver: identityResolver,
84
95
externalManifests: externalManifests,
85
96
binaryArtifacts: [ : ] ,
@@ -95,7 +106,10 @@ class PackageGraphPerfTests: XCTestCasePerf {
95
106
let lastPackageNumber = 20
96
107
let packageNumberSequence = ( 1 ... lastPackageNumber)
97
108
98
- let fs = InMemoryFileSystem ( emptyFiles: packageNumberSequence. map ( { " /Package \( $0) /Sources/Target \( $0) /s.swift " } ) + [ " /PackageA/Sources/TargetA/s.swift " ] )
109
+ let fs = InMemoryFileSystem (
110
+ emptyFiles: packageNumberSequence. map ( { " /Package \( $0) /Sources/Target \( $0) /s.swift " } ) +
111
+ [ " /PackageA/Sources/TargetA/s.swift " ]
112
+ )
99
113
100
114
let packageSequence : [ Manifest ] = try packageNumberSequence. map { ( sequenceNumber: Int ) -> Manifest in
101
115
let dependencySequence = sequenceNumber < lastPackageNumber ? Array ( ( sequenceNumber + 1 ) ... lastPackageNumber) : [ ]
@@ -105,10 +119,17 @@ class PackageGraphPerfTests: XCTestCasePerf {
105
119
toolsVersion: . v5_7,
106
120
dependencies: try dependencySequence. map ( { . fileSystem( path: try . init( validating: " /Package \( $0) " ) ) } ) ,
107
121
products: [
108
- try . init( name: " Package \( sequenceNumber) " , type: . library( . dynamic) , targets: [ " Target \( sequenceNumber) " ] )
122
+ try . init(
123
+ name: " Package \( sequenceNumber) " ,
124
+ type: . library( . dynamic) ,
125
+ targets: [ " Target \( sequenceNumber) " ]
126
+ )
109
127
] ,
110
128
targets: [
111
- try . init( name: " Target \( sequenceNumber) " , dependencies: dependencySequence. map { . product( name: " Target \( $0) " , package : " Package \( $0) " ) } )
129
+ try . init( name: " Target \( sequenceNumber) " ,
130
+ dependencies: dependencySequence. map {
131
+ . product( name: " Target \( $0) " , package : " Package \( $0) " )
132
+ } )
112
133
]
113
134
)
114
135
}
@@ -127,7 +148,11 @@ class PackageGraphPerfTests: XCTestCasePerf {
127
148
measure {
128
149
do {
129
150
for _ in 0 ..< N {
130
- _ = try loadPackageGraph ( fileSystem: fs, manifests: [ root] + packageSequence, observabilityScope: observability. topScope)
151
+ _ = try loadPackageGraph (
152
+ fileSystem: fs,
153
+ manifests: [ root] + packageSequence,
154
+ observabilityScope: observability. topScope
155
+ )
131
156
}
132
157
} catch {
133
158
XCTFail ( " Loading package graph is not expected to fail in this test. " )
0 commit comments