Skip to content

Commit 2d208c0

Browse files
committed
update error return
1 parent f813c4f commit 2d208c0

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

src/extension/debugger/configuration/launch.json/launchJsonReader.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,7 @@ export async function getConfigurationsForWorkspace(workspace: WorkspaceFolder):
2020
// no launch.json or no configurations found in launch.json, look in settings.json
2121
if (!parsed || !parsed.configurations) {
2222
traceLog('No configurations found in launch.json, looking in settings.json.');
23-
const settingConfigs = getConfigurationsFromSettings(workspace);
24-
if (settingConfigs.length === 0) {
25-
throw Error('No configurations found in launch.json or settings.json');
26-
}
27-
return Promise.resolve(settingConfigs);
23+
return getConfigurationsFromSettings(workspace);
2824
}
2925
// configurations found in launch.json, verify them then return
3026
if (!Array.isArray(parsed.configurations) || parsed.configurations.length === 0) {
@@ -51,8 +47,12 @@ export function getConfigurationsFromSettings(workspace: WorkspaceFolder): Debug
5147
// look in settings.json
5248
const codeWorkspaceConfig = getConfiguration('launch', workspace);
5349
// if this includes user configs, how do I make sure it selects the workspace ones first
54-
if (!codeWorkspaceConfig.configurations || !Array.isArray(codeWorkspaceConfig.configurations)) {
55-
return [];
50+
if (
51+
!codeWorkspaceConfig.configurations ||
52+
!Array.isArray(codeWorkspaceConfig.configurations) ||
53+
codeWorkspaceConfig.configurations.length === 0
54+
) {
55+
throw Error('No configurations found in launch.json or settings.json');
5656
}
5757
traceLog('Using configuration in workspace settings.json.');
5858
return codeWorkspaceConfig.configurations;

src/test/unittest/configuration/launch.json/launchJsonReader.unit.test.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ suite('Debugging - launchJsonReader', () => {
9696
assert.strictEqual(configurations[0].name, 'Launch Program 3');
9797
});
9898

99-
test('Should return empty array if no configurations in settings.json', () => {
99+
test('Should error if no configurations in settings.json', () => {
100100
const workspace = typemoq.Mock.ofType<WorkspaceFolder>();
101101
workspace.setup((w) => w.uri).returns(() => Uri.file('/path/to/workspace'));
102102

@@ -106,8 +106,11 @@ suite('Debugging - launchJsonReader', () => {
106106

107107
sandbox.stub(utils, 'getConfiguration').returns(mockConfig.object);
108108

109-
const configurations = getConfigurationsFromSettings(workspace.object);
110-
assert.strictEqual(configurations.length, 0);
109+
assert.throws(
110+
() => getConfigurationsFromSettings(workspace.object),
111+
Error,
112+
'No configurations found in launch.json or settings.json',
113+
);
111114
});
112115
});
113116
});

0 commit comments

Comments
 (0)