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  }