Skip to content

Commit b803dfa

Browse files
authored
Fix nightly tests (#6767)
* Fix nightly tests * Fix linter error
1 parent 8579133 commit b803dfa

2 files changed

Lines changed: 32 additions & 16 deletions

File tree

src/test/datascience/debugger.functional.test.tsx

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import {
2020
import { InteractiveWindowMessages } from '../../client/datascience/interactive-window/interactiveWindowTypes';
2121
import { IInteractiveWindow, IInteractiveWindowProvider, IJupyterExecution } from '../../client/datascience/types';
2222
import { MainPanel } from '../../datascience-ui/history-react/MainPanel';
23+
import { noop } from '../core';
2324
import { DataScienceIocContainer } from './dataScienceIocContainer';
2425
import { getCellResults } from './interactiveWindowTestHelpers';
2526
import { getConnectionInfo, getNotebookCapableInterpreter } from './jupyterHelpers';
@@ -138,7 +139,7 @@ suite('DataScience Debugger tests', () => {
138139
return result;
139140
}
140141

141-
async function debugCell(code: string, breakpoint?: Range, breakpointFile?: string) : Promise<void> {
142+
async function debugCell(code: string, breakpoint?: Range, breakpointFile?: string, expectError?: boolean) : Promise<void> {
142143
// Create a dummy document with just this code
143144
const docManager = ioc.get<IDocumentManager>(IDocumentManager) as MockDocumentManager;
144145
const fileName = path.join(EXTENSION_ROOT_DIR, 'foo.py');
@@ -163,21 +164,36 @@ suite('DataScience Debugger tests', () => {
163164
const expectedBreakLine = breakpoint && !breakpointFile ? breakpoint.start.line : 2; // 2 because of the 'breakpoint()' that gets added
164165

165166
// Debug this code. We should either hit the breakpoint or stop on entry
166-
const results = await getCellResults(ioc.wrapper!, 5, async () => {
167+
const resultPromise = getCellResults(ioc.wrapper!, 5, async () => {
167168
const breakPromise = createDeferred<void>();
168169
disposables.push(mockDebuggerService!.onBreakpointHit(() => breakPromise.resolve()));
169170
const done = history.debugCode(code, fileName, 0, docManager.activeTextEditor);
170171
await waitForPromise(Promise.race([done, breakPromise.promise]), 60000);
171-
assert.ok(breakPromise.resolved, 'Breakpoint event did not fire');
172-
assert.ok(!lastErrorMessage, `Error occurred ${lastErrorMessage}`);
173-
const stackTrace = await mockDebuggerService!.getStackTrace();
174-
assert.ok(stackTrace, 'Stack trace not computable');
175-
assert.ok(stackTrace!.body.stackFrames.length >= 1, 'Not enough frames');
176-
assert.equal(stackTrace!.body.stackFrames[0].line, expectedBreakLine, 'Stopped on wrong line number');
177-
// Verify break location
178-
await mockDebuggerService!.continue();
172+
if (expectError) {
173+
assert.ok(lastErrorMessage, 'Error did not occur when expected');
174+
throw Error('Exiting cell results');
175+
} else {
176+
assert.ok(breakPromise.resolved, 'Breakpoint event did not fire');
177+
assert.ok(!lastErrorMessage, `Error occurred ${lastErrorMessage}`);
178+
const stackTrace = await mockDebuggerService!.getStackTrace();
179+
assert.ok(stackTrace, 'Stack trace not computable');
180+
assert.ok(stackTrace!.body.stackFrames.length >= 1, 'Not enough frames');
181+
assert.equal(stackTrace!.body.stackFrames[0].line, expectedBreakLine, 'Stopped on wrong line number');
182+
// Verify break location
183+
await mockDebuggerService!.continue();
184+
}
179185
});
180-
assert.ok(results, 'No cell results after finishing debugging');
186+
187+
if (!expectError) {
188+
const cellResults = await resultPromise;
189+
assert.ok(cellResults, 'No cell results after finishing debugging');
190+
} else {
191+
try {
192+
await resultPromise;
193+
} catch {
194+
noop();
195+
}
196+
}
181197
await history.dispose();
182198
}
183199

@@ -221,7 +237,7 @@ suite('DataScience Debugger tests', () => {
221237
ioc.getSettings().datascience.jupyterServerURI = uri;
222238

223239
// Debug with this setting should use the server URI
224-
await debugCell('#%%\nprint("bar")');
240+
await debugCell('#%%\nprint("bar")', undefined, undefined, true);
225241
}
226242
});
227243
});

src/test/datascience/interactiveWindow.functional.test.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ df.head()`;
180180
df = pd.read_csv("${escapePath(path.join(srcDirectory(), 'DefaultSalesReport.csv'))}")
181181
df.head()`;
182182
const matPlotLib = 'import matplotlib.pyplot as plt\r\nimport numpy as np\r\nx = np.linspace(0,20,100)\r\nplt.plot(x, np.sin(x))\r\nplt.show()';
183-
const matPlotLibResults = 'svg';
183+
const matPlotLibResults = 'img';
184184
const spinningCursor = `import sys
185185
import time
186186
@@ -599,9 +599,9 @@ for _ in range(50):
599599
const outHtml = output.html();
600600

601601
const root = parse(outHtml) as any;
602-
const svgs = root.querySelectorAll('svg') as HTMLElement[];
603-
assert.ok(svgs, 'No svgs found');
604-
assert.equal(svgs.length, 1, 'Wrong number of svgs');
602+
const png = root.querySelectorAll('img') as HTMLElement[];
603+
assert.ok(png, 'No pngs found');
604+
assert.equal(png.length, 1, 'Wrong number of pngs');
605605
}
606606

607607
}, () => { return ioc; });

0 commit comments

Comments
 (0)