aboutsummaryrefslogtreecommitdiffstats
path: root/vm/proxyapp/proxyappclient_mocks_test.go
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2022-09-26 09:23:11 +0200
committerGitHub <noreply@github.com>2022-09-26 09:23:11 +0200
commitd59ba98314e02be939938f682fd67cd68bbb3b68 (patch)
tree27a44d1d8315577110c0c9e09fb825a386b6255b /vm/proxyapp/proxyappclient_mocks_test.go
parent0042f2b4c00ce1ceeaa44a0147909fe3a6f86c5c (diff)
vm: add the proxyapp support (#3269)
* vm: add pool.Close() support * vm: add proxyapp client implementation * vm/proxyapp: autogenerate mocks * vm/proxyapp: add proxyapp tests * pkg/mgrconfig: add proxyapp type tests
Diffstat (limited to 'vm/proxyapp/proxyappclient_mocks_test.go')
-rw-r--r--vm/proxyapp/proxyappclient_mocks_test.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/vm/proxyapp/proxyappclient_mocks_test.go b/vm/proxyapp/proxyappclient_mocks_test.go
new file mode 100644
index 000000000..149c37c0c
--- /dev/null
+++ b/vm/proxyapp/proxyappclient_mocks_test.go
@@ -0,0 +1,45 @@
+// Copyright 2022 syzkaller project authors. All rights reserved.
+// Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+package proxyapp
+
+//go:generate ../../tools/mockery.sh --name subProcessCmd --exported
+//go:generate ../../tools/mockery.sh --name ProxyAppInterface -r
+
+import (
+ "context"
+ "testing"
+
+ "github.com/google/syzkaller/vm/proxyapp/mocks"
+ "github.com/google/syzkaller/vm/proxyapp/proxyrpc"
+)
+
+var (
+ _ subProcessCmd = &mocks.SubProcessCmd{}
+ _ proxyrpc.ProxyAppInterface = &mocks.ProxyAppInterface{}
+)
+
+type mockCommandRunner struct {
+ *mocks.SubProcessCmd
+ ctx context.Context
+ onWaitCalled chan bool
+}
+
+func makeMockCommandRunner(t *testing.T) (*mockCommandRunner, *proxyAppParams) {
+ cmdRunner := &mockCommandRunner{
+ SubProcessCmd: mocks.NewSubProcessCmd(t),
+ onWaitCalled: make(chan bool, 1),
+ }
+
+ params := makeTestParams()
+ params.CommandRunner = func(ctx context.Context, cmd string, params ...string) subProcessCmd {
+ cmdRunner.ctx = ctx
+ return cmdRunner
+ }
+ return cmdRunner, params
+}
+
+func (cmd *mockCommandRunner) Wait() error {
+ cmd.onWaitCalled <- true
+ return cmd.SubProcessCmd.Wait()
+}