@@ -19,6 +19,7 @@ import (
1919 "github.com/pkg/errors"
2020 "github.com/spf13/pflag"
2121 "github.com/stretchr/testify/assert"
22+ "github.com/stretchr/testify/require"
2223)
2324
2425func TestValidateAttach (t * testing.T ) {
@@ -366,51 +367,46 @@ func TestParseDevice(t *testing.T) {
366367
367368func TestParseModes (t * testing.T ) {
368369 // ipc ko
369- if _ , _ , _ , err := parseRun ([]string {"--ipc=container:" , "img" , "cmd" }); err == nil || err . Error () != "--ipc: invalid IPC mode" {
370- t . Fatalf ( "Expected an error with message ' --ipc: invalid IPC mode', got %v" , err )
371- }
370+ _ , _ , _ , err := parseRun ([]string {"--ipc=container:" , "img" , "cmd" })
371+ testutil . ErrorContains ( t , err , " --ipc: invalid IPC mode" )
372+
372373 // ipc ok
373374 _ , hostconfig , _ , err := parseRun ([]string {"--ipc=host" , "img" , "cmd" })
374- if err != nil {
375- t .Fatal (err )
376- }
375+ require .NoError (t , err )
377376 if ! hostconfig .IpcMode .Valid () {
378377 t .Fatalf ("Expected a valid IpcMode, got %v" , hostconfig .IpcMode )
379378 }
379+
380380 // pid ko
381- if _ , _ , _ , err : = parseRun ([]string {"--pid=container:" , "img" , "cmd" }); err == nil || err . Error () != "--pid: invalid PID mode" {
382- t . Fatalf ( "Expected an error with message ' --pid: invalid PID mode', got %v" , err )
383- }
381+ _ , _ , _ , err = parseRun ([]string {"--pid=container:" , "img" , "cmd" })
382+ testutil . ErrorContains ( t , err , " --pid: invalid PID mode" )
383+
384384 // pid ok
385385 _ , hostconfig , _ , err = parseRun ([]string {"--pid=host" , "img" , "cmd" })
386- if err != nil {
387- t .Fatal (err )
388- }
386+ require .NoError (t , err )
389387 if ! hostconfig .PidMode .Valid () {
390388 t .Fatalf ("Expected a valid PidMode, got %v" , hostconfig .PidMode )
391389 }
390+
392391 // uts ko
393- if _ , _ , _ , err : = parseRun ([]string {"--uts=container:" , "img" , "cmd" }); err == nil || err . Error () != "--uts: invalid UTS mode" {
394- t . Fatalf ( "Expected an error with message ' --uts: invalid UTS mode', got %v" , err )
395- }
392+ _ , _ , _ , err = parseRun ([]string {"--uts=container:" , "img" , "cmd" })
393+ testutil . ErrorContains ( t , err , " --uts: invalid UTS mode" )
394+
396395 // uts ok
397396 _ , hostconfig , _ , err = parseRun ([]string {"--uts=host" , "img" , "cmd" })
398- if err != nil {
399- t .Fatal (err )
400- }
397+ require .NoError (t , err )
401398 if ! hostconfig .UTSMode .Valid () {
402399 t .Fatalf ("Expected a valid UTSMode, got %v" , hostconfig .UTSMode )
403400 }
401+
404402 // shm-size ko
405403 expectedErr := `invalid argument "a128m" for --shm-size=a128m: invalid size: 'a128m'`
406- if _ , _ , _ , err = parseRun ([]string {"--shm-size=a128m" , "img" , "cmd" }); err == nil || err . Error () != expectedErr {
407- t . Fatalf ( "Expected an error with message '%v', got %v" , expectedErr , err )
408- }
404+ _ , _ , _ , err = parseRun ([]string {"--shm-size=a128m" , "img" , "cmd" })
405+ testutil . ErrorContains ( t , err , expectedErr )
406+
409407 // shm-size ok
410408 _ , hostconfig , _ , err = parseRun ([]string {"--shm-size=128m" , "img" , "cmd" })
411- if err != nil {
412- t .Fatal (err )
413- }
409+ require .NoError (t , err )
414410 if hostconfig .ShmSize != 134217728 {
415411 t .Fatalf ("Expected a valid ShmSize, got %d" , hostconfig .ShmSize )
416412 }
@@ -754,58 +750,6 @@ func callDecodeContainerConfig(volumes []string, binds []string) (*container.Con
754750 return c , h , err
755751}
756752
757- func TestVolumeSplitN (t * testing.T ) {
758- for _ , x := range []struct {
759- input string
760- n int
761- expected []string
762- }{
763- {`C:\foo:d:` , - 1 , []string {`C:\foo` , `d:` }},
764- {`:C:\foo:d:` , - 1 , nil },
765- {`/foo:/bar:ro` , 3 , []string {`/foo` , `/bar` , `ro` }},
766- {`/foo:/bar:ro` , 2 , []string {`/foo` , `/bar:ro` }},
767- {`C:\foo\:/foo` , - 1 , []string {`C:\foo\` , `/foo` }},
768-
769- {`d:\` , - 1 , []string {`d:\` }},
770- {`d:` , - 1 , []string {`d:` }},
771- {`d:\path` , - 1 , []string {`d:\path` }},
772- {`d:\path with space` , - 1 , []string {`d:\path with space` }},
773- {`d:\pathandmode:rw` , - 1 , []string {`d:\pathandmode` , `rw` }},
774- {`c:\:d:\` , - 1 , []string {`c:\` , `d:\` }},
775- {`c:\windows\:d:` , - 1 , []string {`c:\windows\` , `d:` }},
776- {`c:\windows:d:\s p a c e` , - 1 , []string {`c:\windows` , `d:\s p a c e` }},
777- {`c:\windows:d:\s p a c e:RW` , - 1 , []string {`c:\windows` , `d:\s p a c e` , `RW` }},
778- {`c:\program files:d:\s p a c e i n h o s t d i r` , - 1 , []string {`c:\program files` , `d:\s p a c e i n h o s t d i r` }},
779- {`0123456789name:d:` , - 1 , []string {`0123456789name` , `d:` }},
780- {`MiXeDcAsEnAmE:d:` , - 1 , []string {`MiXeDcAsEnAmE` , `d:` }},
781- {`name:D:` , - 1 , []string {`name` , `D:` }},
782- {`name:D::rW` , - 1 , []string {`name` , `D:` , `rW` }},
783- {`name:D::RW` , - 1 , []string {`name` , `D:` , `RW` }},
784- {`c:/:d:/forward/slashes/are/good/too` , - 1 , []string {`c:/` , `d:/forward/slashes/are/good/too` }},
785- {`c:\Windows` , - 1 , []string {`c:\Windows` }},
786- {`c:\Program Files (x86)` , - 1 , []string {`c:\Program Files (x86)` }},
787-
788- {`` , - 1 , nil },
789- {`.` , - 1 , []string {`.` }},
790- {`..\` , - 1 , []string {`..\` }},
791- {`c:\:..\` , - 1 , []string {`c:\` , `..\` }},
792- {`c:\:d:\:xyzzy` , - 1 , []string {`c:\` , `d:\` , `xyzzy` }},
793-
794- // Cover directories with one-character name
795- {`/tmp/x/y:/foo/x/y` , - 1 , []string {`/tmp/x/y` , `/foo/x/y` }},
796- } {
797- res := volumeSplitN (x .input , x .n )
798- if len (res ) < len (x .expected ) {
799- t .Fatalf ("input: %v, expected: %v, got: %v" , x .input , x .expected , res )
800- }
801- for i , e := range res {
802- if e != x .expected [i ] {
803- t .Fatalf ("input: %v, expected: %v, got: %v" , x .input , x .expected , res )
804- }
805- }
806- }
807- }
808-
809753func TestValidateDevice (t * testing.T ) {
810754 valid := []string {
811755 "/home" ,
0 commit comments