Skip to content

feat: DH-18665: Persistent logging with environment info#221

Merged
bmingles merged 3 commits intomainfrom
DH-18665_output-info
Feb 24, 2025
Merged

feat: DH-18665: Persistent logging with environment info#221
bmingles merged 3 commits intomainfrom
DH-18665_output-info

Conversation

@bmingles
Copy link
Collaborator

@bmingles bmingles commented Feb 21, 2025

DH-18665: Persistent logging with environment info

Test Plan

  • Open command palette and run Deephaven: Download Logs
  • Save the file (default location is current workspace, but you can save elsewhere if you want)
  • Should open containing folder in OS
  • Extract the .zip file
  • Should contain Deephaven logs + exthost.log file

@github-actions
Copy link

End-to-end Test Summary

Tests 📝Passed ✅Failed ❌Skipped ⏭️Pending ⏳Other ❓Flaky 🍂Duration ⏱️
660000005:01:52
A ctrf plugin

Detailed Test Results

NameStatusmsFlaky 🍂
should default to the correct settingspassed ✅1916
should return custom settings: Empty configspassed ✅409
should return custom settings: Populated configspassed ✅104
should be able to load VSCodepassed ✅835
should only be visible when a supported file type is active: test.groovypassed ✅3166
should only be visible when a supported file type is active: test.pypassed ✅1174
A ctrf plugin

Failed Test Summary

No failed tests ✨

Flaky Test Summary

No flaky tests detected. ✨

@github-actions
Copy link

Unit Test Summary

Tests 📝Passed ✅Failed ❌Skipped ⏭️Pending ⏳Other ❓Flaky 🍂Duration ⏱️
1191190000000:00:00
A ctrf plugin

Detailed Test Results

NameStatusmsFlaky 🍂
src/services/ConfigService.spec.ts: getCoreServers > should return core servers: Empty configpassed ✅11
src/services/ConfigService.spec.ts: getCoreServers > should return core servers: String configpassed ✅5
src/services/ConfigService.spec.ts: getCoreServers > should return core servers: No labelpassed ✅1
src/services/ConfigService.spec.ts: getCoreServers > should return core servers: Full configpassed ✅1
src/services/ConfigService.spec.ts: getEnterpriseServers > should return enterprise servers: Empty configpassed ✅0
src/services/ConfigService.spec.ts: getEnterpriseServers > should return enterprise servers: String configpassed ✅1
src/services/PollingService.spec.ts: pollUntilTrue > should resolve when poll function returns truepassed ✅7
src/services/PollingService.spec.ts: pollUntilTrue > should cancel polling if timeout exceededpassed ✅2
src/services/PollingService.spec.ts: pollUntilTrue > should cancel polling if cancel explicitly calledpassed ✅1
src/services/SerializedKeyMap.spec.ts: SerializedKeyMap > should key data by value equalitypassed ✅3
src/services/SerializedKeyMap.spec.ts: SerializedKeyMap > entries > should provide value equality entriespassed ✅2
src/services/SerializedKeyMap.spec.ts: SerializedKeyMap > keys > should provide value equality keyspassed ✅1
src/services/SerializedKeyMap.spec.ts: SerializedKeyMap > forEach > should pass value equality keys to callback: undefinedpassed ✅3
src/services/SerializedKeyMap.spec.ts: SerializedKeyMap > forEach > should pass value equality keys to callback: {}passed ✅1
src/services/SerializedKeyMap.spec.ts: SerializedKeyMap > values > should provide valuespassed ✅0
src/util/assertUtil.spec.ts: assertDefined > should not throw if value is defined: {}passed ✅2
src/util/assertUtil.spec.ts: assertDefined > should not throw if value is defined: testpassed ✅0
src/util/assertUtil.spec.ts: assertDefined > should not throw if value is defined: 999passed ✅1
src/util/assertUtil.spec.ts: assertDefined > should not throw if value is defined: truepassed ✅0
src/util/assertUtil.spec.ts: assertDefined > should not throw if value is defined: falsepassed ✅0
src/util/assertUtil.spec.ts: assertDefined > should not throw if value is defined: 2025-02-21T23:09:28.892Zpassed ✅0
src/util/assertUtil.spec.ts: assertDefined > should throw an error for null or undefined values: nullpassed ✅2
src/util/assertUtil.spec.ts: assertDefined > should throw an error for null or undefined values: undefinedpassed ✅0
src/util/promiseUtils.spec.ts: waitFor > should return a Promise that resolves after a given timeoutpassed ✅4
src/util/promiseUtils.spec.ts: withResolvers > should return a promise that resolves when resolve function is calledpassed ✅2
src/util/promiseUtils.spec.ts: withResolvers > should return a promise that rejects when reject function is calledpassed ✅1
src/util/serverUtils.spec.ts: getInitialServerStates > should derive server states from configpassed ✅6
src/util/serverUtils.spec.ts: getPipServerUrl > should return a localhost url based on given portpassed ✅1
src/util/serverUtils.spec.ts: parsePort > should parse port from stringpassed ✅0
src/util/serverUtils.spec.ts: parsePort > should throw error when port is not a numberpassed ✅1
src/util/tmpUtils.spec.ts: getTempDir > should create temp directory if it does not already exist: true, undefinedpassed ✅4
src/util/tmpUtils.spec.ts: getTempDir > should create temp directory if it does not already exist: true, subDirectorypassed ✅1
src/util/tmpUtils.spec.ts: getTempDir > should create temp directory if it does not already exist: false, undefinedpassed ✅1
src/util/tmpUtils.spec.ts: getTempDir > should create temp directory if it does not already exist: false, subDirectorypassed ✅1
src/util/tmpUtils.spec.ts: getTempDir > should remove directory if recreate is true: true, undefined, /home/runner/work/vscode-deephaven/vscode-deephaven/src/common/tmppassed ✅1
src/util/tmpUtils.spec.ts: getTempDir > should remove directory if recreate is true: true, subDirectory, /home/runner/work/vscode-deephaven/vscode-deephaven/src/common/tmp/subDirectorypassed ✅1
src/util/tmpUtils.spec.ts: getTempDir > should remove directory if recreate is true: false, undefined, /home/runner/work/vscode-deephaven/vscode-deephaven/src/common/tmppassed ✅0
src/util/tmpUtils.spec.ts: getTempDir > should remove directory if recreate is true: false, subDirectory, /home/runner/work/vscode-deephaven/vscode-deephaven/src/common/tmp/subDirectorypassed ✅1
src/util/treeViewUtils.spec.ts: getPanelConnectionTreeItem > should return panel connection tree item: isConnected:true, isInitialized:truepassed ✅4
src/util/treeViewUtils.spec.ts: getPanelConnectionTreeItem > should return panel connection tree item: isConnected:true, isInitialized:falsepassed ✅1
src/util/treeViewUtils.spec.ts: getPanelConnectionTreeItem > should return panel connection tree item: isConnected:false, isInitialized:truepassed ✅0
src/util/treeViewUtils.spec.ts: getPanelConnectionTreeItem > should return panel connection tree item: isConnected:false, isInitialized:falsepassed ✅1
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:deephaven.plot.express.DeephavenFigurepassed ✅1
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:deephaven.ui.Elementpassed ✅1
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:Figurepassed ✅0
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:HierarchicalTablepassed ✅1
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:OtherWidgetpassed ✅0
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:pandas.DataFramepassed ✅1
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:PartitionedTablepassed ✅0
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:Tablepassed ✅1
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:TableMappassed ✅0
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:Treemappassed ✅1
src/util/treeViewUtils.spec.ts: getPanelVariableTreeItem > should return panel variable tree item: type:TreeTablepassed ✅0
src/util/treeViewUtils.spec.ts: getServerContextValue > should return contextValue based on server state: isConnected=true, isManaged=true, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerContextValue > should return contextValue based on server state: isConnected=true, isManaged=true, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerContextValue > should return contextValue based on server state: isConnected=true, isManaged=false, isRunning=truepassed ✅1
src/util/treeViewUtils.spec.ts: getServerContextValue > should return contextValue based on server state: isConnected=true, isManaged=false, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerContextValue > should return contextValue based on server state: isConnected=false, isManaged=true, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerContextValue > should return contextValue based on server state: isConnected=false, isManaged=true, isRunning=falsepassed ✅1
src/util/treeViewUtils.spec.ts: getServerContextValue > should return contextValue based on server state: isConnected=false, isManaged=false, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerContextValue > should return contextValue based on server state: isConnected=false, isManaged=false, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerDescription > should return server description based on parameters: connectionCount=0, isManaged=true, label=some labelpassed ✅1
src/util/treeViewUtils.spec.ts: getServerDescription > should return server description based on parameters: connectionCount=0, isManaged=true, label=undefinedpassed ✅0
src/util/treeViewUtils.spec.ts: getServerDescription > should return server description based on parameters: connectionCount=0, isManaged=false, label=some labelpassed ✅0
src/util/treeViewUtils.spec.ts: getServerDescription > should return server description based on parameters: connectionCount=0, isManaged=false, label=undefinedpassed ✅0
src/util/treeViewUtils.spec.ts: getServerDescription > should return server description based on parameters: connectionCount=1, isManaged=true, label=some labelpassed ✅0
src/util/treeViewUtils.spec.ts: getServerDescription > should return server description based on parameters: connectionCount=1, isManaged=true, label=undefinedpassed ✅1
src/util/treeViewUtils.spec.ts: getServerDescription > should return server description based on parameters: connectionCount=1, isManaged=false, label=some labelpassed ✅0
src/util/treeViewUtils.spec.ts: getServerDescription > should return server description based on parameters: connectionCount=1, isManaged=false, label=undefinedpassed ✅0
src/util/treeViewUtils.spec.ts: getServerGroupContextValue > should return context value when servers can be managed: group=Managed, canStartServer=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerGroupContextValue > should return context value when servers can be managed: group=Managed, canStartServer=falsepassed ✅1
src/util/treeViewUtils.spec.ts: getServerGroupContextValue > should return context value when servers can be managed: group=Running, canStartServer=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerGroupContextValue > should return context value when servers can be managed: group=Running, canStartServer=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerGroupTreeItem > should return server group tree item: group=Managed, canStartServer=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerGroupTreeItem > should return server group tree item: group=Managed, canStartServer=falsepassed ✅1
src/util/treeViewUtils.spec.ts: getServerGroupTreeItem > should return server group tree item: group=Running, canStartServer=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerGroupTreeItem > should return server group tree item: group=Running, canStartServer=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerIconID > should return icon id based on server state: isConnected=true, isManaged=true, isRunning=truepassed ✅1
src/util/treeViewUtils.spec.ts: getServerIconID > should return icon id based on server state: isConnected=true, isManaged=true, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerIconID > should return icon id based on server state: isConnected=true, isManaged=false, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerIconID > should return icon id based on server state: isConnected=true, isManaged=false, isRunning=falsepassed ✅1
src/util/treeViewUtils.spec.ts: getServerIconID > should return icon id based on server state: isConnected=false, isManaged=true, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerIconID > should return icon id based on server state: isConnected=false, isManaged=true, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerIconID > should return icon id based on server state: isConnected=false, isManaged=false, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerIconID > should return icon id based on server state: isConnected=false, isManaged=false, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHC, isConnected=true, isManaged=true, isRunning=truepassed ✅1
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHC, isConnected=true, isManaged=true, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHC, isConnected=true, isManaged=false, isRunning=truepassed ✅1
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHC, isConnected=true, isManaged=false, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHC, isConnected=false, isManaged=true, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHC, isConnected=false, isManaged=true, isRunning=falsepassed ✅1
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHC, isConnected=false, isManaged=false, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHC, isConnected=false, isManaged=false, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHE, isConnected=true, isManaged=true, isRunning=truepassed ✅2
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHE, isConnected=true, isManaged=true, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHE, isConnected=true, isManaged=false, isRunning=truepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHE, isConnected=true, isManaged=false, isRunning=falsepassed ✅1
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHE, isConnected=false, isManaged=true, isRunning=truepassed ✅1
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHE, isConnected=false, isManaged=true, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHE, isConnected=false, isManaged=false, isRunning=truepassed ✅1
src/util/treeViewUtils.spec.ts: getServerTreeItem > should return server tree item: type=DHE, isConnected=false, isManaged=false, isRunning=falsepassed ✅0
src/util/treeViewUtils.spec.ts: getVariableIconPath > should return icon path for variableTypepassed ✅1
src/util/treeViewUtils.spec.ts: groupServers > should group servers by statepassed ✅0
src/util/uiUtils.spec.ts: createConnectionOption > should return connection option: 'DHC', { label: 'python', url: URL{} }passed ✅3
src/util/uiUtils.spec.ts: createConnectionOption > should return connection option: 'DHC', { label: 'groovy', url: URL{} }passed ✅1
src/util/uiUtils.spec.ts: createConnectionQuickPickOptions > should return quick pick options: editorActiveConnectionUrl=No activepassed ✅11
src/util/uiUtils.spec.ts: createConnectionQuickPickOptions > should return quick pick options: editorActiveConnectionUrl=Active Apassed ✅1
src/util/uiUtils.spec.ts: createConnectionQuickPickOptions > should throw if no servers or connectionspassed ✅2
src/util/uiUtils.spec.ts: createConnectText > should return text and tooltip: 'connecting'passed ✅0
src/util/uiUtils.spec.ts: createConnectText > should return text and tooltip: 'connected'passed ✅1
src/util/uiUtils.spec.ts: createConnectText > should return text and tooltip: 'disconnected'passed ✅0
src/util/uiUtils.spec.ts: updateConnectionStatusBarItem > should update connection status bar item: 'connecting'passed ✅1
src/util/uiUtils.spec.ts: updateConnectionStatusBarItem > should update connection status bar item: 'connected'passed ✅0
src/util/uiUtils.spec.ts: updateConnectionStatusBarItem > should update connection status bar item: 'disconnected'passed ✅0
src/util/uiUtils.spec.ts: createSeparatorPickItem > should create a separator quick pick item with labelpassed ✅1
src/util/urlUtils.spec.ts: urlUtils > should convert url to host_port string: http://localhost:4000, localhost_4000passed ✅1
src/util/urlUtils.spec.ts: urlUtils > should convert url to host_port string: https://localhost:5000, localhost_5000passed ✅1
src/util/urlUtils.spec.ts: urlUtils > should convert url to host_port string: http://www.acme.com:6000, www_acme_com_6000passed ✅0
src/util/urlUtils.spec.ts: urlUtils > should convert url to host_port string: https://www.acme.com:7000, www_acme_com_7000passed ✅0
A ctrf plugin

Failed Test Summary

No failed tests ✨

Flaky Test Summary

No flaky tests detected. ✨

@bmingles bmingles requested a review from mofojed February 21, 2025 23:23
@bmingles bmingles marked this pull request as ready for review February 21, 2025 23:23
Copy link
Member

@mofojed mofojed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@bmingles bmingles merged commit 54ebd36 into main Feb 24, 2025
6 checks passed
@bmingles bmingles deleted the DH-18665_output-info branch February 24, 2025 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants