@@ -444,68 +444,40 @@ func TestFilterAttributeGettersAndSetters(t *testing.T) {
444444 t .Errorf ("No new privileges bit was not set correctly" )
445445 }
446446
447- if APILevelIsSupported () {
448- api , err := GetAPI ()
449- if err != nil {
450- t .Errorf ("Error getting API level: %s" , err )
451- } else if api < 3 {
452- err = SetAPI (3 )
453- if err != nil {
454- t .Errorf ("Error setting API level: %s" , err )
455- }
456- }
447+ // Checks that require API level >= 3 and libseccomp >= 2.4.0.
448+ if err := checkAPI (t .Name (), 3 , 2 , 4 , 0 ); err != nil {
449+ t .Logf ("Skipping the rest of the test: %v" , err )
450+ return
457451 }
458452
459453 err = filter .SetLogBit (true )
460454 if err != nil {
461- if ! APILevelIsSupported () {
462- t .Logf ("Ignoring failure: %s\n " , err )
463- } else {
464- t .Errorf ("Error setting log bit" )
465- }
455+ t .Errorf ("Error setting log bit: %v" , err )
466456 }
467457
468458 log , err := filter .GetLogBit ()
469459 if err != nil {
470- if ! APILevelIsSupported () {
471- t .Logf ("Ignoring failure: %s\n " , err )
472- } else {
473- t .Errorf ("Error getting log bit" )
474- }
460+ t .Errorf ("Error getting log bit: %v" , err )
475461 } else if log != true {
476- t .Errorf ("Log bit was not set correctly" )
462+ t .Error ("Log bit was not set correctly" )
477463 }
478464
479- if APILevelIsSupported () {
480- api , err := GetAPI ()
481- if err != nil {
482- t .Errorf ("Error getting API level: %s" , err )
483- } else if api < 4 {
484- err = SetAPI (4 )
485- if err != nil {
486- t .Skipf ("Skipping test: API level %d is less than 4" , api )
487- }
488- }
465+ // Checks that require API level >= 4 and libseccomp >= 2.5.0.
466+ if err := checkAPI (t .Name (), 4 , 2 , 5 , 0 ); err != nil {
467+ t .Logf ("Skipping the rest of the test: %v" , err )
468+ return
489469 }
490470
491471 err = filter .SetSSB (true )
492472 if err != nil {
493- if ! APILevelIsSupported () {
494- t .Logf ("Ignoring failure: %s\n " , err )
495- } else {
496- t .Errorf ("Error setting SSB bit" )
497- }
473+ t .Errorf ("Error setting SSB bit: %v" , err )
498474 }
499475
500476 ssb , err := filter .GetSSB ()
501477 if err != nil {
502- if ! APILevelIsSupported () {
503- t .Logf ("Ignoring failure: %s\n " , err )
504- } else {
505- t .Errorf ("Error getting SSB bit" )
506- }
478+ t .Errorf ("Error getting SSB bit: %v" , err )
507479 } else if ssb != true {
508- t .Errorf ("SSB bit was not set correctly" )
480+ t .Error ("SSB bit was not set correctly" )
509481 }
510482}
511483
@@ -664,19 +636,13 @@ func TestLogAct(t *testing.T) {
664636}
665637
666638func subprocessLogAct (t * testing.T ) {
667- expectedPid := syscall .Getpid ()
668-
669- api , err := GetAPI ()
670- if err != nil {
671- if ! APILevelIsSupported () {
672- t .Skipf ("Skipping test: %s" , err )
673- }
674-
675- t .Errorf ("Error getting API level: %s" , err )
676- } else if api < 3 {
677- t .Skipf ("Skipping test: API level %d is less than 3" , api )
639+ // ActLog requires API >=3 and libseccomp >= 2.4.0.
640+ if err := checkAPI (t .Name (), 3 , 2 , 4 , 0 ); err != nil {
641+ t .Skip (err )
678642 }
679643
644+ expectedPid := syscall .Getpid ()
645+
680646 filter , err := NewFilter (ActAllow )
681647 if err != nil {
682648 t .Errorf ("Error creating filter: %s" , err )
@@ -725,15 +691,9 @@ func TestCreateActKillProcessFilter(t *testing.T) {
725691}
726692
727693func subprocessCreateActKillProcessFilter (t * testing.T ) {
728- api , err := GetAPI ()
729- if err != nil {
730- if ! APILevelIsSupported () {
731- t .Skipf ("Skipping test: %s" , err )
732- }
733-
734- t .Errorf ("Error getting API level: %s" , err )
735- } else if api < 3 {
736- t .Skipf ("Skipping test: API level %d is less than 3" , api )
694+ // Requires API level >= 3 and libseccomp >= 2.4.0
695+ if err := checkAPI (t .Name (), 3 , 2 , 4 , 0 ); err != nil {
696+ t .Skip (err )
737697 }
738698
739699 filter , err := NewFilter (ActKillThread )
0 commit comments