Skip to content

Commit 17e23ac

Browse files
committed
fix server cancelation in tests
1 parent 1271943 commit 17e23ac

File tree

2 files changed

+12
-24
lines changed

2 files changed

+12
-24
lines changed

src/test/testing/testController/testCancellationRunAdapters.unit.test.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,15 @@ suite('Execution Flow Run Adapters', () => {
6666
const { token } = cancellationToken;
6767
testRunMock.setup((t) => t.token).returns(() => token);
6868

69+
// run result pipe mocking and the related server close dispose
70+
let deferredTillServerCloseTester: Deferred<void> | undefined;
71+
6972
// // mock exec service and exec factory
7073
execServiceStub
7174
.setup((x) => x.execObservable(typeMoq.It.isAny(), typeMoq.It.isAny()))
7275
.returns(() => {
7376
cancellationToken.cancel();
77+
deferredTillServerCloseTester?.resolve();
7478
return {
7579
proc: mockProc as any,
7680
out: typeMoq.Mock.ofType<Observable<Output<string>>>().object,
@@ -92,11 +96,9 @@ suite('Execution Flow Run Adapters', () => {
9296
return Promise.resolve('named-pipe');
9397
});
9498

95-
// run result pipe mocking and the related server close dispose
96-
let deferredTillServerCloseTester: Deferred<void> | undefined;
9799
utilsStartRunResultNamedPipe.callsFake((_callback, deferredTillServerClose, _token) => {
98100
deferredTillServerCloseTester = deferredTillServerClose;
99-
return Promise.resolve({ name: 'named-pipes-socket-name', dispose: serverDisposeStub });
101+
return Promise.resolve('named-pipes-socket-name');
100102
});
101103
serverDisposeStub.callsFake(() => {
102104
console.log('server disposed');
@@ -122,9 +124,6 @@ suite('Execution Flow Run Adapters', () => {
122124
);
123125
// wait for server to start to keep test from failing
124126
await deferredStartTestIdsNamedPipe.promise;
125-
126-
// assert the server dispose function was called correctly
127-
sinon.assert.calledOnce(serverDisposeStub);
128127
});
129128
test(`Adapter ${adapter}: token called mid-debug resolves correctly`, async () => {
130129
// mock test run and cancelation token
@@ -133,11 +132,15 @@ suite('Execution Flow Run Adapters', () => {
133132
const { token } = cancellationToken;
134133
testRunMock.setup((t) => t.token).returns(() => token);
135134

135+
// run result pipe mocking and the related server close dispose
136+
let deferredTillServerCloseTester: Deferred<void> | undefined;
137+
136138
// // mock exec service and exec factory
137139
execServiceStub
138140
.setup((x) => x.execObservable(typeMoq.It.isAny(), typeMoq.It.isAny()))
139141
.returns(() => {
140142
cancellationToken.cancel();
143+
deferredTillServerCloseTester?.resolve();
141144
return {
142145
proc: mockProc as any,
143146
out: typeMoq.Mock.ofType<Observable<Output<string>>>().object,
@@ -159,14 +162,9 @@ suite('Execution Flow Run Adapters', () => {
159162
return Promise.resolve('named-pipe');
160163
});
161164

162-
// run result pipe mocking and the related server close dispose
163-
let deferredTillServerCloseTester: Deferred<void> | undefined;
164165
utilsStartRunResultNamedPipe.callsFake((_callback, deferredTillServerClose, _token) => {
165166
deferredTillServerCloseTester = deferredTillServerClose;
166-
return Promise.resolve({
167-
name: 'named-pipes-socket-name',
168-
dispose: serverDisposeStub,
169-
});
167+
return Promise.resolve('named-pipes-socket-name');
170168
});
171169
serverDisposeStub.callsFake(() => {
172170
console.log('server disposed');
@@ -190,6 +188,7 @@ suite('Execution Flow Run Adapters', () => {
190188
})
191189
.returns(async () => {
192190
cancellationToken.cancel();
191+
deferredTillServerCloseTester?.resolve();
193192
return Promise.resolve();
194193
});
195194

@@ -205,10 +204,6 @@ suite('Execution Flow Run Adapters', () => {
205204
);
206205
// wait for server to start to keep test from failing
207206
await deferredStartTestIdsNamedPipe.promise;
208-
209-
// TODO: fix the server disposal so it is called once not twice,
210-
// currently not a problem but would be useful to improve clarity
211-
sinon.assert.called(serverDisposeStub);
212207
});
213208
});
214209
});

src/test/testing/testController/unittest/testDiscoveryAdapter.unit.test.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,7 @@ suite('Unittest test discovery adapter', () => {
7777
};
7878

7979
utilsStartDiscoveryNamedPipeStub = sinon.stub(util, 'startDiscoveryNamedPipe');
80-
utilsStartDiscoveryNamedPipeStub.callsFake(() =>
81-
Promise.resolve({
82-
name: 'discoveryResultPipe-mockName',
83-
dispose: () => {
84-
/* no-op */
85-
},
86-
}),
87-
);
80+
utilsStartDiscoveryNamedPipeStub.callsFake(() => Promise.resolve('discoveryResultPipe-mockName'));
8881
});
8982
teardown(() => {
9083
sinon.restore();

0 commit comments

Comments
 (0)