@@ -108,6 +108,34 @@ class ActivityParserTests: XCTestCase {
108
108
return startTokens + logMessageTokens + endTokens
109
109
} ( )
110
110
111
+ lazy var IDEActivityLogSectionTokensWithoutAttachments : [ Token ] = {
112
+ let startTokens = [ Token . int ( 2 ) ,
113
+ Token . string ( " com.apple.dt.IDE.BuildLogSection " ) ,
114
+ Token . string ( " Prepare build " ) ,
115
+ Token . string ( " Prepare build " ) ,
116
+ Token . double ( 575479851.278759 ) ,
117
+ Token . double ( 575479851.778325 ) ,
118
+ Token . null,
119
+ Token . string ( " note: Using legacy build system " ) ,
120
+ Token . list ( 1 ) ,
121
+ Token . className ( " IDEActivityLogMessage " ) ,
122
+ Token . classNameRef ( " IDEActivityLogMessage " ) ,
123
+ ]
124
+ let logMessageTokens = IDEActivityLogMessageTokens
125
+ let endTokens = [ Token . int ( 1 ) ,
126
+ Token . int ( 0 ) ,
127
+ Token . int ( 1 ) ,
128
+ Token . string ( " subtitle " ) ,
129
+ Token . null,
130
+ Token . string ( " commandDetailDesc " ) ,
131
+ Token . string ( " 501796C4-6BE4-4F80-9F9D-3269617ECC17 " ) ,
132
+ Token . string ( " localizedResultString " ) ,
133
+ Token . string ( " xcbuildSignature " ) ,
134
+ Token . int ( 0 )
135
+ ]
136
+ return startTokens + logMessageTokens + endTokens
137
+ } ( )
138
+
111
139
let IDEConsoleItemTokens : [ Token ] = [
112
140
Token . className ( " IDEConsoleItem " ) ,
113
141
Token . classNameRef ( " IDEConsoleItem " ) ,
@@ -288,6 +316,7 @@ class ActivityParserTests: XCTestCase {
288
316
}
289
317
290
318
func testParseIDEActivityLogSection( ) throws {
319
+ parser. logVersion = 11
291
320
let tokens = IDEActivityLogSectionTokens
292
321
var iterator = tokens. makeIterator ( )
293
322
let logSection = try parser. parseIDEActivityLogSection ( iterator: & iterator)
@@ -310,15 +339,46 @@ class ActivityParserTests: XCTestCase {
310
339
XCTAssertEqual ( " 501796C4-6BE4-4F80-9F9D-3269617ECC17 " , logSection. uniqueIdentifier)
311
340
XCTAssertEqual ( " localizedResultString " , logSection. localizedResultString)
312
341
XCTAssertEqual ( " xcbuildSignature " , logSection. xcbuildSignature)
342
+ XCTAssertEqual ( 1 , logSection. attachments. count)
343
+ XCTAssertEqual ( 0 , logSection. unknown)
344
+ }
345
+
346
+ func testParseIDEActivityLogSection_version10( ) throws {
347
+ parser. logVersion = 10
348
+ let tokens = IDEActivityLogSectionTokensWithoutAttachments
349
+ var iterator = tokens. makeIterator ( )
350
+ let logSection = try parser. parseIDEActivityLogSection ( iterator: & iterator)
351
+ XCTAssertEqual ( 2 , logSection. sectionType)
352
+ XCTAssertEqual ( " com.apple.dt.IDE.BuildLogSection " , logSection. domainType)
353
+ XCTAssertEqual ( " Prepare build " , logSection. title)
354
+ XCTAssertEqual ( " Prepare build " , logSection. signature)
355
+ XCTAssertEqual ( 575479851.278759 , logSection. timeStartedRecording)
356
+ XCTAssertEqual ( 575479851.778325 , logSection. timeStoppedRecording)
357
+ XCTAssertEqual ( 0 , logSection. subSections. count)
358
+ XCTAssertEqual ( " note: Using legacy build system " , logSection. text)
359
+ XCTAssertEqual ( 1 , logSection. messages. count)
360
+ XCTAssertTrue ( logSection. wasCancelled)
361
+ XCTAssertFalse ( logSection. isQuiet)
362
+ XCTAssertTrue ( logSection. wasFetchedFromCache)
363
+ XCTAssertEqual ( " subtitle " , logSection. subtitle)
364
+ XCTAssertEqual ( " " , logSection. location. documentURLString)
365
+ XCTAssertEqual ( 0 , logSection. location. timestamp)
366
+ XCTAssertEqual ( " commandDetailDesc " , logSection. commandDetailDesc)
367
+ XCTAssertEqual ( " 501796C4-6BE4-4F80-9F9D-3269617ECC17 " , logSection. uniqueIdentifier)
368
+ XCTAssertEqual ( " localizedResultString " , logSection. localizedResultString)
369
+ XCTAssertEqual ( " xcbuildSignature " , logSection. xcbuildSignature)
370
+ XCTAssertEqual ( 0 , logSection. attachments. count)
313
371
XCTAssertEqual ( 0 , logSection. unknown)
314
372
}
315
373
316
374
func testParseActivityLog( ) throws {
317
375
let activityLog = try parser. parseIDEActiviyLogFromTokens ( IDEActivityLogTokens)
318
376
XCTAssertEqual ( 10 , activityLog. version)
377
+ XCTAssertEqual ( 10 , parser. logVersion)
319
378
}
320
379
321
380
func testParseDBGConsoleLog( ) throws {
381
+ parser. logVersion = 11
322
382
let tokens = DBGConsoleLogTokens
323
383
var iterator = tokens. makeIterator ( )
324
384
let DBGConsoleLog = try parser. parseDBGConsoleLog ( iterator: & iterator)
0 commit comments