github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/examples/file_write_all/e2e_test.go (about) 1 package test 2 3 import ( 4 "os" 5 "os/exec" 6 "strings" 7 "testing" 8 9 "github.com/stretchr/testify/require" 10 ) 11 12 func Test(t *testing.T) { 13 err := os.Chdir("..") 14 require.NoError(t, err) 15 16 wd, err := os.Getwd() 17 require.NoError(t, err) 18 defer os.Chdir(wd) 19 20 cmd := exec.Command("neva", "run", "file_write_all") 21 22 out, err := cmd.CombinedOutput() 23 require.NoError(t, err) 24 25 require.Equal( 26 t, 27 "", 28 strings.TrimSuffix(string(out), "\n"), 29 ) 30 31 require.Equal(t, 0, cmd.ProcessState.ExitCode()) 32 33 // Check file contents. 34 const filename = "file_writer_example.txt" 35 36 want, err := os.ReadFile(filename) 37 require.NoError(t, err) 38 require.Equal( 39 t, 40 "Hello, io.WriteAll!", 41 string(want), 42 ) 43 44 // Remove file output. 45 os.Remove(filename) 46 }