@@ -39,7 +39,10 @@ var concurrentDemos = flag.Int("concurrentdemos", 2, "The `number` of current de
3939
4040var update = flag .Bool ("update" , false , "update .golden files" )
4141
42+ //nolint:cyclop
4243func TestDemoInfoCs (t * testing.T ) {
44+ t .Parallel ()
45+
4346 if testing .Short () {
4447 t .Skip ("skipping test due to -short flag" )
4548 }
@@ -62,21 +65,21 @@ func TestDemoInfoCs(t *testing.T) {
6265 actual .WriteString (fmt .Sprintf ("%#v\n " , e ))
6366 })
6467
65- fmt . Println ("Parsing header" )
68+ t . Log ("Parsing header" )
6669 h , err := p .ParseHeader ()
6770 assertions .NoError (err , "error returned by Parser.ParseHeader()" )
6871 assertions .Equal (h , p .Header (), "values returned by ParseHeader() and Header() don't match" )
69- fmt . Printf ("Header: %v - FrameRate()=%.2f frames/s ; FrameTime()=%s ; TickRate()=%.2f frames/s ; TickTime()=%s\n " , h , h .FrameRate (), h .FrameTime (), p .TickRate (), p .TickTime ())
72+ t . Logf ("Header: %v - FrameRate()=%.2f frames/s ; FrameTime()=%s ; TickRate()=%.2f frames/s ; TickTime()=%s\n " , h , h .FrameRate (), h .FrameTime (), p .TickRate (), p .TickTime ())
7073
71- fmt . Println ("Registering handlers" )
74+ t . Log ("Registering handlers" )
7275 gs := p .GameState ()
7376 p .RegisterEventHandler (func (e events.RoundEnd ) {
7477 var (
7578 winner , loser * common.TeamState
7679 winnerSide string
7780 )
7881
79- switch e .Winner {
82+ switch e .Winner { //nolint:exhaustive
8083 case common .TeamTerrorists :
8184 winner = gs .TeamTerrorists ()
8285 loser = gs .TeamCounterTerrorists ()
@@ -87,7 +90,8 @@ func TestDemoInfoCs(t *testing.T) {
8790 winnerSide = "CT"
8891 default :
8992 // Probably match medic or something similar
90- fmt .Println ("Round finished: No winner (tie)" )
93+ t .Log ("Round finished: No winner (tie)" )
94+
9195 return
9296 }
9397
@@ -100,7 +104,7 @@ func TestDemoInfoCs(t *testing.T) {
100104 currentFrame := p .CurrentFrame ()
101105
102106 // Score + 1 for winner because it hasn't actually been updated yet
103- fmt . Printf ("Round finished: score=%d:%d ; winnerSide=%s ; clanName=%q ; teamId=%d ; teamFlag=%s ; ingameTime=%s ; progress=%.1f%% ; tick=%d ; frame=%d\n " , winner .Score ()+ 1 , loser .Score (), winnerSide , winnerClan , winnerID , winnerFlag , ingameTime , progressPercent , ingameTick , currentFrame )
107+ t . Logf ("Round finished: score=%d:%d ; winnerSide=%s ; clanName=%q ; teamId=%d ; teamFlag=%s ; ingameTime=%s ; progress=%.1f%% ; tick=%d ; frame=%d\n " , winner .Score ()+ 1 , loser .Score (), winnerSide , winnerClan , winnerID , winnerFlag , ingameTime , progressPercent , ingameTick , currentFrame )
104108 if len (winnerClan ) == 0 || winnerID == 0 || len (winnerFlag ) == 0 || ingameTime == 0 || progressPercent == 0 || ingameTick == 0 || currentFrame == 0 {
105109 t .Error ("Unexprected default value, check output of last round" )
106110 }
@@ -165,31 +169,33 @@ func TestDemoInfoCs(t *testing.T) {
165169 // Net-message stuff
166170 var netTickHandlerID dispatch.HandlerIdentifier
167171 netTickHandlerID = p .RegisterNetMessageHandler (func (tick * msg.CNETMsg_Tick ) {
168- fmt . Println ("Net-message tick handled, unregistering - tick:" , tick .Tick )
172+ t . Log ("Net-message tick handled, unregistering - tick:" , tick .Tick )
169173 p .UnregisterNetMessageHandler (netTickHandlerID )
170174 })
171175
172176 ts := time .Now ()
173177
174178 frameByFrameCount := 1000
175- fmt . Printf ("Parsing frame by frame (%d frames)\n " , frameByFrameCount )
179+ t . Logf ("Parsing frame by frame (%d frames)\n " , frameByFrameCount )
176180
177181 for i := 0 ; i < frameByFrameCount ; i ++ {
178182 ok , err := p .ParseNextFrame ()
179183 assertions .NoError (err , "error occurred in ParseNextFrame()" )
180184 assertions .True (ok , "parser reported end of demo after less than %d frames" , frameByFrameCount )
181185 }
182186
183- fmt . Println ("Parsing to end" )
187+ t . Log ("Parsing to end" )
184188 err = p .ParseToEnd ()
185189 assertions .NoError (err , "error occurred in ParseToEnd()" )
186190
187- fmt . Printf ("Took %s\n " , time .Since (ts ))
191+ t . Logf ("Took %s\n " , time .Since (ts ))
188192
189193 assertGolden (t , assertions , "default" , actual .Bytes ())
190194}
191195
192196func TestUnexpectedEndOfDemo (t * testing.T ) {
197+ t .Parallel ()
198+
193199 if testing .Short () {
194200 t .Skip ("skipping test due to -short flag" )
195201 }
@@ -203,7 +209,9 @@ func TestUnexpectedEndOfDemo(t *testing.T) {
203209 assert .Equal (t , demoinfocs .ErrUnexpectedEndOfDemo , err , "parsing cancelled but error was not ErrUnexpectedEndOfDemo" )
204210}
205211
206- func TestCancelParseToEnd (t * testing.T ) {
212+ func TestParseToEnd_Cancel (t * testing.T ) {
213+ t .Parallel ()
214+
207215 if testing .Short () {
208216 t .Skip ("skipping test" )
209217 }
@@ -233,6 +241,8 @@ func TestCancelParseToEnd(t *testing.T) {
233241}
234242
235243func TestInvalidFileType (t * testing.T ) {
244+ t .Parallel ()
245+
236246 invalidDemoData := make ([]byte , 2048 )
237247 _ , err := rand .Read (invalidDemoData )
238248 assert .NoError (t , err , "failed to create/read random data" )
@@ -253,6 +263,8 @@ func TestInvalidFileType(t *testing.T) {
253263}
254264
255265func TestConcurrent (t * testing.T ) {
266+ t .Parallel ()
267+
256268 if testing .Short () {
257269 t .Skip ("skipping test" )
258270 }
@@ -262,19 +274,21 @@ func TestConcurrent(t *testing.T) {
262274 var i int64
263275 runner := func () {
264276 n := atomic .AddInt64 (& i , 1 )
265- fmt . Printf ("Starting concurrent runner %d\n " , n )
277+ t . Logf ("Starting concurrent runner %d\n " , n )
266278
267279 ts := time .Now ()
268280
269281 parseDefaultDemo (t )
270282
271- fmt . Printf ("Runner %d took %s\n " , n , time .Since (ts ))
283+ t . Logf ("Runner %d took %s\n " , n , time .Since (ts ))
272284 }
273285
274286 runConcurrently (runner )
275287}
276288
277289func parseDefaultDemo (tb testing.TB ) {
290+ tb .Helper ()
291+
278292 f := openFile (tb , defaultDemPath )
279293 defer mustClose (tb , f )
280294
@@ -297,6 +311,8 @@ func runConcurrently(runner func()) {
297311}
298312
299313func TestDemoSet (t * testing.T ) {
314+ t .Parallel ()
315+
300316 if testing .Short () {
301317 t .Skip ("skipping test due to -short flag" )
302318 }
@@ -307,7 +323,7 @@ func TestDemoSet(t *testing.T) {
307323 for _ , d := range dems {
308324 name := d .Name ()
309325 if strings .HasSuffix (name , ".dem" ) {
310- fmt . Printf ("Parsing '%s/%s'\n " , demSetPath , name )
326+ t . Logf ("Parsing '%s/%s'\n " , demSetPath , name )
311327 func () {
312328 f := openFile (t , fmt .Sprintf ("%s/%s" , demSetPath , name ))
313329 defer mustClose (t , f )
@@ -318,6 +334,12 @@ func TestDemoSet(t *testing.T) {
318334
319335 p := demoinfocs .NewParser (f )
320336
337+ p .RegisterEventHandler (func (event events.GenericGameEvent ) {
338+ if event .Name == "bot_takeover" {
339+ t .Log (event .Data )
340+ }
341+ })
342+
321343 err = p .ParseToEnd ()
322344 assert .Nil (t , err , "parsing of '%s/%s' failed" , demSetPath , name )
323345 }()
@@ -362,13 +384,17 @@ func BenchmarkConcurrent(b *testing.B) {
362384}
363385
364386func openFile (tb testing.TB , file string ) * os.File {
387+ tb .Helper ()
388+
365389 f , err := os .Open (file )
366390 assert .NoError (tb , err , "failed to open file %q" , file )
367391
368392 return f
369393}
370394
371395func assertGolden (tb testing.TB , assertions * assert.Assertions , testCase string , actual []byte ) {
396+ tb .Helper ()
397+
372398 const goldenVerificationGoVersionMin = "go1.12"
373399 if ver := runtime .Version (); strings .Compare (ver , goldenVerificationGoVersionMin ) < 0 {
374400 tb .Logf ("old go version %q detected, skipping golden file verification" , ver )
@@ -417,15 +443,18 @@ func assertGolden(tb testing.TB, assertions *assert.Assertions, testCase string,
417443
418444func removePointers (s []byte ) []byte {
419445 r := regexp .MustCompile (`\(0x[\da-f]{10}\)` )
446+
420447 return r .ReplaceAll (s , []byte ("(non-nil)" ))
421448}
422449
423450func writeFile (assertions * assert.Assertions , file string , data []byte ) {
424- err := ioutil .WriteFile (file , data , 0755 )
451+ err := ioutil .WriteFile (file , data , 0600 )
425452 assertions .NoError (err , "failed to write to file %q" , file )
426453}
427454
428455func mustClose (tb testing.TB , closables ... io.Closer ) {
456+ tb .Helper ()
457+
429458 mustCloseAssert (assert .New (tb ), closables ... )
430459}
431460
0 commit comments