@@ -367,6 +367,8 @@ struct SwiftPMTests {
367367 ( " --event-stream-output-path " , " --event-stream-version " , ABI . v0. versionNumber) ,
368368 ( " --experimental-event-stream-output " , " --experimental-event-stream-version " , ABI . v0. versionNumber) ,
369369 ( " --experimental-event-stream-output " , " --experimental-event-stream-version " , ABI . v6_3. versionNumber) ,
370+ ( " --experimental-event-stream-output " , " --experimental-event-stream-version " , ABI . v6_4. versionNumber) ,
371+ ( " --event-stream-output-path " , " --event-stream-version " , ABI . v6_4. versionNumber) ,
370372 ] )
371373 func eventStreamOutput( outputArgumentName: String , versionArgumentName: String , version: VersionNumber ) async throws {
372374 let version = try #require( ABI . version ( forVersionNumber: version) )
@@ -381,9 +383,19 @@ struct SwiftPMTests {
381383 defer {
382384 _ = remove ( temporaryFilePath)
383385 }
386+ let testTimeLimit = 3
387+ let expectedArgs = [ " argument1 " , " argument2 " ]
384388 do {
385389 let configuration = try configurationForEntryPoint ( withArguments: [ " PATH " , outputArgumentName, temporaryFilePath, versionArgumentName, " \( version. versionNumber) " ] )
386- let test = Test ( . tags( . blue) ) { }
390+ let test = Test (
391+ . tags( . blue) ,
392+ . bug( " https://my.defect.com/1234 " ) ,
393+ . bug( " other defect " ) ,
394+ . timeLimit( Swift . Duration. seconds ( testTimeLimit + 100 ) ) ,
395+ . timeLimit( Swift . Duration. seconds ( testTimeLimit) ) ,
396+ . timeLimit( Swift . Duration. seconds ( testTimeLimit + 10 ) ) ,
397+ arguments: expectedArgs as [ String ]
398+ ) { _ in }
387399 let eventContext = Event . Context ( test: test, testCase: nil , configuration: nil )
388400
389401 configuration. handleEvent ( Event ( . testDiscovered, testID: test. id, testCaseID: nil ) , in: eventContext)
@@ -407,10 +419,26 @@ struct SwiftPMTests {
407419 #expect( testRecords. count == 1 )
408420 for testRecord in testRecords {
409421 if version. includesExperimentalFields {
422+ let actualTestCases = testRecord. _testCases
423+ let testCases = try #require( actualTestCases)
424+ #expect( testCases. count == expectedArgs. count)
410425 #expect( testRecord. _tags != nil )
411426 } else {
412- #expect( testRecord. _tags == nil )
427+ #expect( testRecord. _testCases == nil )
413428 }
429+
430+ if version. versionNumber >= ABI . v6_4. versionNumber {
431+ let testTags = try #require( testRecord. tags)
432+ #expect( testTags. count >= 1 )
433+ for tag in testTags {
434+ #expect( !tag. starts ( with: " . " ) )
435+ }
436+ let bugs = try #require( testRecord. bugs)
437+ #expect( bugs. count == 2 )
438+ let timeLimit = try #require( testRecord. timeLimit)
439+ #expect( timeLimit == Double ( testTimeLimit) )
440+ }
441+
414442 }
415443 let eventRecords = decodedRecords. compactMap { record in
416444 if case let . event( event) = record. kind {
0 commit comments