99 "net"
1010 "net/http"
1111 "net/http/httptest"
12+ "os"
1213 "path/filepath"
1314 "runtime"
1415 "strings"
@@ -22,7 +23,6 @@ import (
2223 "github.com/docker/docker/api/types"
2324 "github.com/docker/docker/client"
2425 "gotest.tools/v3/assert"
25- "gotest.tools/v3/fs"
2626)
2727
2828func TestNewAPIClientFromFlags (t * testing.T ) {
@@ -205,8 +205,8 @@ func TestInitializeFromClient(t *testing.T) {
205205// Makes sure we don't hang forever on the initial connection.
206206// https://github.com/docker/cli/issues/3652
207207func TestInitializeFromClientHangs (t * testing.T ) {
208- dir := t .TempDir ()
209- socket := filepath .Join (dir , "my.sock" )
208+ tmpDir := t .TempDir ()
209+ socket := filepath .Join (tmpDir , "my.sock" )
210210 l , err := net .Listen ("unix" , socket )
211211 assert .NilError (t , err )
212212
@@ -280,12 +280,14 @@ func TestNewDockerCliAndOperators(t *testing.T) {
280280 assert .NilError (t , err )
281281 assert .Equal (t , string (inputStream ), "input" )
282282 // Check output stream
283- fmt .Fprintf (cli .Out (), "output" )
283+ _ , err = fmt .Fprint (cli .Out (), "output" )
284+ assert .NilError (t , err )
284285 outputStream , err := io .ReadAll (outbuf )
285286 assert .NilError (t , err )
286287 assert .Equal (t , string (outputStream ), "output" )
287288 // Check error stream
288- fmt .Fprintf (cli .Err (), "error" )
289+ _ , err = fmt .Fprint (cli .Err (), "error" )
290+ assert .NilError (t , err )
289291 errStream , err := io .ReadAll (errbuf )
290292 assert .NilError (t , err )
291293 assert .Equal (t , string (errStream ), "error" )
@@ -302,6 +304,8 @@ func TestInitializeShouldAlwaysCreateTheContextStore(t *testing.T) {
302304
303305func TestHooksEnabled (t * testing.T ) {
304306 t .Run ("disabled by default" , func (t * testing.T ) {
307+ // Make sure we don't depend on any existing ~/.docker/config.json
308+ config .SetDir (t .TempDir ())
305309 cli , err := NewDockerCli ()
306310 assert .NilError (t , err )
307311
@@ -313,12 +317,11 @@ func TestHooksEnabled(t *testing.T) {
313317 "features": {
314318 "hooks": "true"
315319 }}`
316- dir := fs .NewDir (t , "" , fs .WithFile ("config.json" , configFile ))
317- defer dir .Remove ()
320+ config .SetDir (t .TempDir ())
321+ err := os .WriteFile (filepath .Join (config .Dir (), "config.json" ), []byte (configFile ), 0o600 )
322+ assert .NilError (t , err )
318323 cli , err := NewDockerCli ()
319324 assert .NilError (t , err )
320- config .SetDir (dir .Path ())
321-
322325 assert .Check (t , cli .HooksEnabled ())
323326 })
324327
@@ -328,12 +331,11 @@ func TestHooksEnabled(t *testing.T) {
328331 "hooks": "true"
329332 }}`
330333 t .Setenv ("DOCKER_CLI_HOOKS" , "false" )
331- dir := fs .NewDir (t , "" , fs .WithFile ("config.json" , configFile ))
332- defer dir .Remove ()
334+ config .SetDir (t .TempDir ())
335+ err := os .WriteFile (filepath .Join (config .Dir (), "config.json" ), []byte (configFile ), 0o600 )
336+ assert .NilError (t , err )
333337 cli , err := NewDockerCli ()
334338 assert .NilError (t , err )
335- config .SetDir (dir .Path ())
336-
337339 assert .Check (t , ! cli .HooksEnabled ())
338340 })
339341
@@ -343,12 +345,11 @@ func TestHooksEnabled(t *testing.T) {
343345 "hooks": "true"
344346 }}`
345347 t .Setenv ("DOCKER_CLI_HINTS" , "false" )
346- dir := fs .NewDir (t , "" , fs .WithFile ("config.json" , configFile ))
347- defer dir .Remove ()
348+ config .SetDir (t .TempDir ())
349+ err := os .WriteFile (filepath .Join (config .Dir (), "config.json" ), []byte (configFile ), 0o600 )
350+ assert .NilError (t , err )
348351 cli , err := NewDockerCli ()
349352 assert .NilError (t , err )
350- config .SetDir (dir .Path ())
351-
352353 assert .Check (t , ! cli .HooksEnabled ())
353354 })
354355}
0 commit comments