@@ -193,6 +193,21 @@ final class PackageToolTests: XCTestCase {
193
193
}
194
194
195
195
func testDescribe( ) throws {
196
+
197
+ fixture ( name: " Miscellaneous/ExeTest " ) { prefix in
198
+ // Generate the JSON description.
199
+ let jsonResult = try SwiftPMProduct . SwiftPackage. executeProcess ( [ " describe " , " --type=json " ] , packagePath: prefix)
200
+ let jsonOutput = try jsonResult. utf8Output ( )
201
+ let json = try JSON ( bytes: ByteString ( encodingAsUTF8: jsonOutput) )
202
+
203
+ // Check that tests don't appear in the product memberships.
204
+ XCTAssertEqual ( json [ " name " ] ? . string, " ExeTest " )
205
+ let jsonTarget0 = try XCTUnwrap ( json [ " targets " ] ? . array ? [ 0 ] )
206
+ XCTAssertNil ( jsonTarget0 [ " product_memberships " ] )
207
+ let jsonTarget1 = try XCTUnwrap ( json [ " targets " ] ? . array ? [ 1 ] )
208
+ XCTAssertEqual ( jsonTarget1 [ " product_memberships " ] ? . array ? [ 0 ] . stringValue, " Exe " )
209
+ }
210
+
196
211
fixture ( name: " CFamilyTargets/SwiftCMixed " ) { prefix in
197
212
// Generate the JSON description.
198
213
let jsonResult = try SwiftPMProduct . SwiftPackage. executeProcess ( [ " describe " , " --type=json " ] , packagePath: prefix)
@@ -214,11 +229,13 @@ final class PackageToolTests: XCTestCase {
214
229
XCTAssertEqual ( jsonTarget1 [ " c99name " ] ? . stringValue, " SeaExec " )
215
230
XCTAssertEqual ( jsonTarget1 [ " type " ] ? . stringValue, " executable " )
216
231
XCTAssertEqual ( jsonTarget1 [ " module_type " ] ? . stringValue, " SwiftTarget " )
232
+ XCTAssertEqual ( jsonTarget1 [ " product_memberships " ] ? . array ? [ 0 ] . stringValue, " SeaExec " )
217
233
let jsonTarget2 = try XCTUnwrap ( json [ " targets " ] ? . array ? [ 2 ] )
218
234
XCTAssertEqual ( jsonTarget2 [ " name " ] ? . stringValue, " CExec " )
219
235
XCTAssertEqual ( jsonTarget2 [ " c99name " ] ? . stringValue, " CExec " )
220
236
XCTAssertEqual ( jsonTarget2 [ " type " ] ? . stringValue, " executable " )
221
237
XCTAssertEqual ( jsonTarget2 [ " module_type " ] ? . stringValue, " ClangTarget " )
238
+ XCTAssertEqual ( jsonTarget2 [ " product_memberships " ] ? . array ? [ 0 ] . stringValue, " CExec " )
222
239
223
240
// Generate the text description.
224
241
let textResult = try SwiftPMProduct . SwiftPackage. executeProcess ( [ " describe " , " --type=text " ] , packagePath: prefix)
0 commit comments