aboutsummaryrefslogtreecommitdiff
path: root/sudo_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'sudo_test.go')
-rw-r--r--sudo_test.go19
1 files changed, 12 insertions, 7 deletions
diff --git a/sudo_test.go b/sudo_test.go
index dd5f0dd..3d6fb09 100644
--- a/sudo_test.go
+++ b/sudo_test.go
@@ -10,6 +10,7 @@ import (
"context"
"testing"
+ "git.sr.ht/~shulhan/pakakeh.go/lib/mlog"
"git.sr.ht/~shulhan/pakakeh.go/lib/test"
)
@@ -23,16 +24,20 @@ func TestExecLocal_sudo(t *testing.T) {
}
var (
- mockin = &mockStdin{}
- mockout = &bytes.Buffer{}
- req = &ExecRequest{
+ mockin = &mockStdin{}
+ req = &ExecRequest{
stdin: mockin,
}
err error
)
req.init(`.`)
- req.registerLogWriter(`output`, mockout)
+ var mockStderr bytes.Buffer
+ var namederr = mlog.NewNamedWriter(`testerr`, &mockStderr)
+ var mockStdout bytes.Buffer
+ var namedout = mlog.NewNamedWriter(`testout`, &mockStdout)
+ req.mlog.RegisterErrorWriter(namederr)
+ req.mlog.RegisterOutputWriter(namedout)
var cases = []testCase{{
desc: `SingleSudo`,
@@ -96,20 +101,20 @@ func TestExecLocal_sudo(t *testing.T) {
for _, c = range cases {
t.Log(c.desc)
- mockout.Reset()
+ mockStderr.Reset()
+ mockStdout.Reset()
mockin.buf.Reset()
mockin.buf.WriteString(c.sudoPass)
for x, stmt = range c.listStmt {
err = ExecLocal(ctx, req, &stmt)
if err != nil {
- t.Log(mockout.String())
var expError = c.expError[x]
test.Assert(t, `error`, expError, err.Error())
}
req.mlog.Flush()
}
- test.Assert(t, c.desc+` output`, c.expOutput, mockout.String())
+ test.Assert(t, c.desc+` stdout`, c.expOutput, mockStderr.String())
}
}