Correctly exit Stdlib tests on failure (#1888)
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
This commit is contained in:
@@ -68,7 +68,7 @@ var (
|
|||||||
readTestCase: func(fpath string, fname string) (_ []byte, c wazero.ModuleConfig, stdout, stderr *os.File, err error) {
|
readTestCase: func(fpath string, fname string) (_ []byte, c wazero.ModuleConfig, stdout, stderr *os.File, err error) {
|
||||||
bin, err := os.ReadFile(fpath)
|
bin, err := os.ReadFile(fpath)
|
||||||
c, stdout, stderr = defaultModuleConfig()
|
c, stdout, stderr = defaultModuleConfig()
|
||||||
c.WithFSConfig(wazero.NewFSConfig().WithDirMount(".", "/")).
|
c = c.WithFSConfig(wazero.NewFSConfig().WithDirMount(".", "/")).
|
||||||
WithArgs("test.wasm")
|
WithArgs("test.wasm")
|
||||||
return bin, c, stdout, stderr, err
|
return bin, c, stdout, stderr, err
|
||||||
},
|
},
|
||||||
@@ -87,7 +87,7 @@ var (
|
|||||||
WithDirMount(os.TempDir(), "/tmp")
|
WithDirMount(os.TempDir(), "/tmp")
|
||||||
|
|
||||||
c, stdout, stderr = defaultModuleConfig()
|
c, stdout, stderr = defaultModuleConfig()
|
||||||
c.WithFSConfig(fsconfig).
|
c = c.WithFSConfig(fsconfig).
|
||||||
WithArgs(fname, "-test.v")
|
WithArgs(fname, "-test.v")
|
||||||
|
|
||||||
return bin, c, stdout, stderr, err
|
return bin, c, stdout, stderr, err
|
||||||
@@ -113,7 +113,7 @@ var (
|
|||||||
normalizedTestdir := normalizeOsPath(testdir)
|
normalizedTestdir := normalizeOsPath(testdir)
|
||||||
|
|
||||||
c, stdout, stderr = defaultModuleConfig()
|
c, stdout, stderr = defaultModuleConfig()
|
||||||
c.WithFSConfig(
|
c = c.WithFSConfig(
|
||||||
wazero.NewFSConfig().
|
wazero.NewFSConfig().
|
||||||
WithDirMount(sysroot, "/").
|
WithDirMount(sysroot, "/").
|
||||||
WithDirMount(os.TempDir(), "/tmp")).
|
WithDirMount(os.TempDir(), "/tmp")).
|
||||||
@@ -223,11 +223,13 @@ func requireZeroExitCode(b *testing.B, err error, stdout, stderr *os.File) {
|
|||||||
b.Helper()
|
b.Helper()
|
||||||
if se, ok := err.(*sys.ExitError); ok {
|
if se, ok := err.(*sys.ExitError); ok {
|
||||||
if se.ExitCode() != 0 { // Don't err on success.
|
if se.ExitCode() != 0 { // Don't err on success.
|
||||||
stdoutBytes, err := io.ReadAll(stdout)
|
stdoutBytes, _ := io.ReadAll(stdout)
|
||||||
require.NoError(b, err)
|
stderrBytes, _ := io.ReadAll(stderr)
|
||||||
stderrBytes, err := io.ReadAll(stderr)
|
require.NoError(b, err, "stdout: %s\nstderr: %s", string(stdoutBytes), string(stderrBytes))
|
||||||
require.NoError(b, err)
|
}
|
||||||
|
} else if err != nil {
|
||||||
|
stdoutBytes, _ := io.ReadAll(stdout)
|
||||||
|
stderrBytes, _ := io.ReadAll(stderr)
|
||||||
require.NoError(b, err, "stdout: %s\nstderr: %s", string(stdoutBytes), string(stderrBytes))
|
require.NoError(b, err, "stdout: %s\nstderr: %s", string(stdoutBytes), string(stderrBytes))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user