github.com/thriqon/involucro@v1.1.3/integrationtest/wrap_without_workdir_test.go (about) 1 2 package integrationtest 3 4 import ( 5 "io/ioutil" 6 "os" 7 "path/filepath" 8 "testing" 9 10 "github.com/fsouza/go-dockerclient" 11 "github.com/involucro/involucro/app" 12 ) 13 14 func TestWrapCurrentDir(t *testing.T) { 15 if testing.Short() { 16 t.SkipNow() 17 } 18 dir, err := ioutil.TempDir("", "inttest-58") 19 if err != nil { 20 t.Fatal(err) 21 } 22 defer os.RemoveAll(dir) 23 24 if err := ioutil.WriteFile(filepath.Join(dir, "a"), []byte("123"), 0755); err != nil { 25 t.Fatal(err) 26 } 27 28 c, err := docker.NewClientFromEnv() 29 if err != nil { 30 t.Fatal(err) 31 } 32 cwd, err := os.Getwd() 33 if err != nil { 34 t.Fatal(err) 35 } 36 37 defer func() { 38 c.RemoveImage("inttest/58") 39 os.Chdir(cwd) 40 }() 41 42 if err := os.Chdir(dir); err != nil { 43 t.Fatal(err) 44 } 45 46 if err := app.Main([]string{ 47 "involucro", 48 "-e", 49 "inv.task('wrap').wrap('.').inImage('busybox').at('/data').as('inttest/15')", 50 "wrap", 51 }); err != nil { 52 t.Fatal(err) 53 } 54 55 if err := app.Main([]string{ 56 "involucro", 57 "-e", 58 "inv.task('x').using('inttest/15').run('grep', '123', '/data/a')", 59 "x", 60 }); err != nil { 61 t.Error(err) 62 } 63 }