Skip to content

Commit 211718f

Browse files
authored
fix: fix MaliciousTar test case (#10158)
fixes #9895 Problem was that provisionerd tries to acquire the next job, and races with shutdown, triggering the assert in the handler. Switches this test case to use the more robust handler.
1 parent f36fba2 commit 211718f

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

provisionerd/provisionerd_test.go

+14-17
Original file line numberDiff line numberDiff line change
@@ -146,27 +146,24 @@ func TestProvisionerd(t *testing.T) {
146146
var (
147147
completeChan = make(chan struct{})
148148
completeOnce sync.Once
149+
acq = newAcquireOne(t, &proto.AcquiredJob{
150+
JobId: "test",
151+
Provisioner: "someprovisioner",
152+
TemplateSourceArchive: createTar(t, map[string]string{
153+
"../../../etc/passwd": "content",
154+
}),
155+
Type: &proto.AcquiredJob_TemplateImport_{
156+
TemplateImport: &proto.AcquiredJob_TemplateImport{
157+
Metadata: &sdkproto.Metadata{},
158+
},
159+
},
160+
})
149161
)
150162

151163
closer := createProvisionerd(t, func(ctx context.Context) (proto.DRPCProvisionerDaemonClient, error) {
152164
return createProvisionerDaemonClient(t, done, provisionerDaemonTestServer{
153-
acquireJobWithCancel: func(stream proto.DRPCProvisionerDaemon_AcquireJobWithCancelStream) error {
154-
err := stream.Send(&proto.AcquiredJob{
155-
JobId: "test",
156-
Provisioner: "someprovisioner",
157-
TemplateSourceArchive: createTar(t, map[string]string{
158-
"../../../etc/passwd": "content",
159-
}),
160-
Type: &proto.AcquiredJob_TemplateImport_{
161-
TemplateImport: &proto.AcquiredJob_TemplateImport{
162-
Metadata: &sdkproto.Metadata{},
163-
},
164-
},
165-
})
166-
assert.NoError(t, err)
167-
return nil
168-
},
169-
updateJob: noopUpdateJob,
165+
acquireJobWithCancel: acq.acquireWithCancel,
166+
updateJob: noopUpdateJob,
170167
failJob: func(ctx context.Context, job *proto.FailedJob) (*proto.Empty, error) {
171168
completeOnce.Do(func() { close(completeChan) })
172169
return &proto.Empty{}, nil

0 commit comments

Comments
 (0)