@@ -639,17 +639,17 @@ func (s *DockerCLIRunSuite) TestRunCreateVolumeWithSymlink(c *testing.T) {
639639 c .Fatalf ("[run] err: %v, exitcode: %d" , err , exitCode )
640640 }
641641
642- volPath , err := inspectMountSourceField ("test-createvolumewithsymlink" , "/bar/foo" )
642+ mnt , err := inspectMountPoint ("test-createvolumewithsymlink" , "/bar/foo" )
643643 assert .NilError (c , err )
644644
645645 _ , exitCode , err = dockerCmdWithError ("rm" , "-v" , "test-createvolumewithsymlink" )
646646 if err != nil || exitCode != 0 {
647647 c .Fatalf ("[rm] err: %v, exitcode: %d" , err , exitCode )
648648 }
649649
650- _ , err = os .Stat (volPath )
650+ _ , err = os .Stat (mnt . Source )
651651 if ! os .IsNotExist (err ) {
652- c .Fatalf ("[open] (expecting 'file does not exist' error) err: %v, volPath : %s" , err , volPath )
652+ c .Fatalf ("[open] (expecting 'file does not exist' error) err: %v, mnt.Source : %s" , err , mnt . Source )
653653 }
654654}
655655
@@ -2109,26 +2109,26 @@ func (s *DockerCLIRunSuite) TestRunVolumesCleanPaths(c *testing.T) {
21092109 VOLUME ` + prefix + `/foo/` ))
21102110 cli .DockerCmd (c , "run" , "-v" , prefix + "/foo" , "-v" , prefix + "/bar/" , "--name" , "dark_helmet" , "run_volumes_clean_paths" )
21112111
2112- out , err := inspectMountSourceField ("dark_helmet" , prefix + slash + "foo" + slash )
2112+ mnt , err := inspectMountPoint ("dark_helmet" , prefix + slash + "foo" + slash )
21132113 if ! errors .Is (err , errMountNotFound ) {
2114- c .Fatalf ("Found unexpected volume entry for '%s/foo/' in volumes\n %q" , prefix , out )
2114+ c .Fatalf ("Found unexpected volume entry for '%s/foo/' in volumes\n %q" , prefix , mnt . Source )
21152115 }
21162116
2117- out , err = inspectMountSourceField ("dark_helmet" , prefix + slash + `foo` )
2117+ mnt , err = inspectMountPoint ("dark_helmet" , prefix + slash + `foo` )
21182118 assert .NilError (c , err )
2119- if ! strings .Contains (strings .ToLower (out ), strings .ToLower (testEnv .PlatformDefaults .VolumesConfigPath )) {
2120- c .Fatalf ("Volume was not defined for %s/foo\n %q" , prefix , out )
2119+ if ! strings .Contains (strings .ToLower (mnt . Source ), strings .ToLower (testEnv .PlatformDefaults .VolumesConfigPath )) {
2120+ c .Fatalf ("Volume was not defined for %s/foo\n %q" , prefix , mnt . Source )
21212121 }
21222122
2123- out , err = inspectMountSourceField ("dark_helmet" , prefix + slash + "bar" + slash )
2123+ mnt , err = inspectMountPoint ("dark_helmet" , prefix + slash + "bar" + slash )
21242124 if ! errors .Is (err , errMountNotFound ) {
2125- c .Fatalf ("Found unexpected volume entry for '%s/bar/' in volumes\n %q" , prefix , out )
2125+ c .Fatalf ("Found unexpected volume entry for '%s/bar/' in volumes\n %q" , prefix , mnt . Source )
21262126 }
21272127
2128- out , err = inspectMountSourceField ("dark_helmet" , prefix + slash + "bar" )
2128+ mnt , err = inspectMountPoint ("dark_helmet" , prefix + slash + "bar" )
21292129 assert .NilError (c , err )
2130- if ! strings .Contains (strings .ToLower (out ), strings .ToLower (testEnv .PlatformDefaults .VolumesConfigPath )) {
2131- c .Fatalf ("Volume was not defined for %s/bar\n %q" , prefix , out )
2130+ if ! strings .Contains (strings .ToLower (mnt . Source ), strings .ToLower (testEnv .PlatformDefaults .VolumesConfigPath )) {
2131+ c .Fatalf ("Volume was not defined for %s/bar\n %q" , prefix , mnt . Source )
21322132 }
21332133}
21342134
@@ -2286,23 +2286,22 @@ func (s *DockerCLIRunSuite) TestRunMountShmMqueueFromHost(c *testing.T) {
22862286 testRequires (c , testEnv .IsLocalDaemon , DaemonIsLinux , NotUserNamespace )
22872287
22882288 cli .DockerCmd (c , "run" , "-d" , "--name" , "shmfromhost" , "-v" , "/dev/shm:/dev/shm" , "-v" , "/dev/mqueue:/dev/mqueue" , "busybox" , "sh" , "-c" , "echo -n test > /dev/shm/test && touch /dev/mqueue/toto && top" )
2289- defer os .Remove ("/dev/mqueue/toto" )
2290- defer os .Remove ("/dev/shm/test" )
2291- volPath , err := inspectMountSourceField ("shmfromhost" , "/dev/shm" )
2289+ c .Cleanup (func () {
2290+ err := os .Remove ("/dev/shm/test" )
2291+ assert .Check (c , err == nil || errors .Is (err , os .ErrNotExist ))
2292+ err = os .Remove ("/dev/mqueue/toto" )
2293+ assert .Check (c , err == nil || errors .Is (err , os .ErrNotExist ))
2294+ })
2295+ mnt , err := inspectMountPoint ("shmfromhost" , "/dev/shm" )
22922296 assert .NilError (c , err )
2293- if volPath != "/dev/shm" {
2294- c .Fatalf ("volumePath should have been /dev/shm, was %s" , volPath )
2295- }
2297+ assert .Equal (c , mnt .Source , "/dev/shm" )
22962298
22972299 out := cli .DockerCmd (c , "run" , "--name" , "ipchost" , "--ipc" , "host" , "busybox" , "cat" , "/dev/shm/test" ).Combined ()
2298- if out != "test" {
2299- c .Fatalf ("Output of /dev/shm/test expected test but found: %s" , out )
2300- }
2300+ assert .Equal (c , out , "test" , "unexpected content for /dev/shm/test" )
23012301
23022302 // Check that the mq was created
2303- if _ , err := os .Stat ("/dev/mqueue/toto" ); err != nil {
2304- c .Fatalf ("Failed to confirm '/dev/mqueue/toto' presence on host: %s" , err .Error ())
2305- }
2303+ _ , err = os .Stat ("/dev/mqueue/toto" )
2304+ assert .NilError (c , err , "failed to confirm '/dev/mqueue/toto' presence on host" )
23062305}
23072306
23082307func (s * DockerCLIRunSuite ) TestContainerNetworkMode (c * testing.T ) {
@@ -2941,10 +2940,11 @@ func (s *DockerCLIRunSuite) TestRunNetworkFilesBindMount(c *testing.T) {
29412940 // Not applicable on Windows as uses Unix specific functionality
29422941 testRequires (c , testEnv .IsLocalDaemon , DaemonIsLinux )
29432942
2944- expected := "test123"
2943+ tmpDir := c .TempDir ()
2944+ filename := filepath .Join (tmpDir , "testfile" )
29452945
2946- filename := createTmpFile ( c , expected )
2947- defer os .Remove (filename )
2946+ const expected = "test123"
2947+ assert . NilError ( c , os .WriteFile (filename , [] byte ( expected ), 0o644 ) )
29482948
29492949 // #nosec G302 -- for user namespaced test runs, the temp file must be accessible to unprivileged root
29502950 if err := os .Chmod (filename , 0o646 ); err != nil {
@@ -2965,8 +2965,9 @@ func (s *DockerCLIRunSuite) TestRunNetworkFilesBindMountRO(c *testing.T) {
29652965 // Not applicable on Windows as uses Unix specific functionality
29662966 testRequires (c , testEnv .IsLocalDaemon , DaemonIsLinux )
29672967
2968- filename := createTmpFile (c , "test123" )
2969- defer os .Remove (filename )
2968+ tmpDir := c .TempDir ()
2969+ filename := filepath .Join (tmpDir , "testfile" )
2970+ assert .NilError (c , os .WriteFile (filename , []byte ("test123" ), 0o644 ))
29702971
29712972 // #nosec G302 -- for user namespaced test runs, the temp file must be accessible to unprivileged root
29722973 if err := os .Chmod (filename , 0o646 ); err != nil {
@@ -2987,8 +2988,9 @@ func (s *DockerCLIRunSuite) TestRunNetworkFilesBindMountROFilesystem(c *testing.
29872988 // Not applicable on Windows as uses Unix specific functionality
29882989 testRequires (c , testEnv .IsLocalDaemon , DaemonIsLinux , UserNamespaceROMount )
29892990
2990- filename := createTmpFile (c , "test123" )
2991- defer os .Remove (filename )
2991+ tmpDir := c .TempDir ()
2992+ filename := filepath .Join (tmpDir , "testfile" )
2993+ assert .NilError (c , os .WriteFile (filename , []byte ("test123" ), 0o644 ))
29922994
29932995 // #nosec G302 -- for user namespaced test runs, the temp file must be accessible to unprivileged root
29942996 if err := os .Chmod (filename , 0o646 ); err != nil {
@@ -3077,7 +3079,7 @@ func (s *DockerCLIRunSuite) TestRunCreateContainerFailedCleanUp(c *testing.T) {
30773079 _ , _ , err := dockerCmdWithError ("run" , "--name" , name , "--link" , "nothing:nothing" , "busybox" )
30783080 assert .Assert (c , err != nil , "Expected docker run to fail!" )
30793081
3080- containerID , err := inspectFieldWithError (name , "Id" )
3082+ containerID , err := inspectFilter (name , ". Id" )
30813083 assert .Assert (c , err != nil , "Expected not to have this container: %s!" , containerID )
30823084 assert .Equal (c , containerID , "" , fmt .Sprintf ("Expected not to have this container: %s!" , containerID ))
30833085}
0 commit comments