From a447ecdc680198150a21375198f637cddb80b7f8 Mon Sep 17 00:00:00 2001 From: Don Jayamanne Date: Thu, 2 May 2024 06:26:28 +1000 Subject: [PATCH] Logging --- src/test/datascience/notebook/helper.ts | 28 ++++++++++++++++++------ src/test/smoke/datascience.smoke.test.ts | 2 +- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/test/datascience/notebook/helper.ts b/src/test/datascience/notebook/helper.ts index 3934ba051f2..cb7d4140af2 100644 --- a/src/test/datascience/notebook/helper.ts +++ b/src/test/datascience/notebook/helper.ts @@ -987,26 +987,33 @@ export async function waitForExecutionCompletedSuccessfullyV2( disposables: IDisposable[] | DisposableStore ) { const checkCompletedSuccessfully = () => { + traceInfo( + `10.a Check execution summary: ${cell.index}: Success = ${cell.executionSummary?.success}, order = ${cell.executionSummary?.executionOrder}, End Time = ${cell.executionSummary?.timing?.endTime}` + ); return cell.executionSummary?.success && cell.executionSummary.executionOrder && cell.executionSummary.timing?.endTime ? true : false; }; + traceInfo(`10. Check execution summary: Check ${cell.index}`); if (checkCompletedSuccessfully()) { + traceInfo(`11. Check execution summary: Success ${cell.index}`); return; } await new Promise((resolve) => { + traceInfo(`12. Check execution summary: Event Handler Added ${cell.index}`); const disposable = workspace.onDidChangeNotebookDocument((e) => { if (e.notebook !== cell.notebook) { + traceInfo(`13. Check execution summary: Wrong Notebook ${cell.index}`); return; } - e.cellChanges.forEach(() => { - if (checkCompletedSuccessfully()) { - disposable.dispose(); - resolve; - } - }); + traceInfo(`14. Check execution summary: Check ${cell.index}`); + if (checkCompletedSuccessfully()) { + traceInfo(`14. Check execution summary: Resolve ${cell.index}`); + disposable.dispose(); + resolve; + } }); if (Array.isArray(disposables)) { disposables.push(disposable); @@ -1262,18 +1269,25 @@ export async function waitForTextOutputV2( disposables: IDisposable[] | DisposableStore ) { try { + traceInfo(`2. Check output in cell ${cell.index}`); assertHasTextOutputInVSCode(cell, text, index, isExactMatch); + traceInfo(`3. Check output in cell: Success ${cell.index}`); return; - } catch { + } catch (ex) { + traceInfo(`3.a Check output in cell: Fail ${cell.index}`, ex); // } await new Promise((resolve) => { + traceInfo(`4. Check output in cell: Added EventHandler ${cell.index}`); const disposable = workspace.onDidChangeNotebookDocument((e) => { if (e.notebook !== cell.notebook) { + traceInfo(`5. Check output in cell: Wrong Notebook ${cell.index}`); return; } try { + traceInfo(`6. Check output in cell: Event Received ${cell.index}`); assertHasTextOutputInVSCode(cell, text, index, isExactMatch); + traceInfo(`7. Check output in cell: Resolved ${cell.index}`); resolve(); } catch { // diff --git a/src/test/smoke/datascience.smoke.test.ts b/src/test/smoke/datascience.smoke.test.ts index 46ec51d3c9c..c84c3639d8b 100644 --- a/src/test/smoke/datascience.smoke.test.ts +++ b/src/test/smoke/datascience.smoke.test.ts @@ -90,7 +90,7 @@ suite('Smoke Tests', function () { throw new Error(`Python environment not found ${PYTHON_PATH}`); } await jupyterExt.exports.openNotebook(notebook.uri, pythonEnv); - + traceInfo(`1. Notebook Opened`); await Promise.all([ vscode.commands.executeCommand('notebook.execute'), waitForTextOutputV2(notebook.cellAt(0), 'Hello World', 0, false, disposableStore),