Skip to content

Commit c3a2851

Browse files
committed
Enhance test cases
1 parent 7b127f2 commit c3a2851

File tree

2 files changed

+65
-18
lines changed

2 files changed

+65
-18
lines changed

src/debug-configuration/debug-configuration.factory.ts

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,29 +16,44 @@
1616

1717
import * as vscode from 'vscode';
1818
import { makeFactory } from '../__test__/test-data-factory';
19-
import { GDBTargetConfiguration } from './gdbtarget-configuration';
19+
import { GDBTargetConfiguration, TargetConfiguration } from './gdbtarget-configuration';
2020

2121
export const debugConfigurationFactory = makeFactory<vscode.DebugConfiguration>({
2222
type: () => 'cppdbg',
2323
name: () => 'Debug',
2424
request: () => 'launch',
2525
});
2626

27+
export const targetConfigurationFactory = makeFactory<TargetConfiguration>({
28+
type: () => undefined,
29+
parameters: () => undefined,
30+
host: () => undefined,
31+
port: () => undefined,
32+
cwd: () => undefined,
33+
environment: () => undefined,
34+
server: () => undefined,
35+
serverParameters: () => undefined,
36+
serverPortRegExp: () => undefined,
37+
serverStartupDelay: () => undefined,
38+
automaticallyKillServer: () => false,
39+
uart: () => undefined,
40+
});
41+
2742
export const gdbTargetConfiguration = makeFactory<GDBTargetConfiguration>({
2843
type: () => 'gdb',
2944
name: () => 'Debug',
3045
request: () => 'launch',
31-
program: () => 'program',
32-
gdb: () => 'gdb',
33-
cwd: () => 'cwd',
34-
environment: () => ({ additionalProperties: 'additionalProperties' }),
35-
gdbAsync: () => false,
36-
gdbNonStop: () => false,
37-
verbose: () => false,
38-
logFile: () => 'logFile',
39-
openGdbConsole: () => false,
40-
initCommands: () => [],
41-
preRunCommands: () => [],
46+
program: () => undefined,
47+
gdb: () => undefined,
48+
cwd: () => undefined,
49+
environment: () => undefined,
50+
gdbAsync: () => undefined,
51+
gdbNonStop: () => undefined,
52+
verbose: () => undefined,
53+
logFile: () => undefined,
54+
openGdbConsole: () => undefined,
55+
initCommands: () => undefined,
56+
preRunCommands: () => undefined,
4257
imageAndSymbols: () => undefined,
4358
target: () => undefined,
4459
cmsis: () => undefined,

src/debug-configuration/subproviders/jlink-configuration-provider.test.ts

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,48 @@
1414
* limitations under the License.
1515
*/
1616

17-
import { debugConfigurationFactory } from '../debug-configuration.factory';
17+
import { gdbTargetConfiguration, targetConfigurationFactory } from '../debug-configuration.factory';
1818
import { JlinkConfigurationProvider } from './jlink-configuration-provider';
1919

2020
describe('JlinkConfigurationProvider', () => {
2121

22-
it('resolveDebugConfigurationWithSubstitutedVariables', async () => {
23-
const configProvider = new JlinkConfigurationProvider();
24-
const config = debugConfigurationFactory();
25-
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
26-
expect(debugConfig).toBeDefined();
22+
describe('resolveDebugConfigurationWithSubstitutedVariables', () => {
23+
24+
it('does not add undefined server parameters', async () => {
25+
const configProvider = new JlinkConfigurationProvider();
26+
const config = gdbTargetConfiguration({
27+
target: targetConfigurationFactory(),
28+
});
29+
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
30+
expect(debugConfig).toBeDefined();
31+
expect(debugConfig?.target?.serverParameters).not.toContain('-port');
32+
});
33+
34+
it('adds port to server parameters', async () => {
35+
const configProvider = new JlinkConfigurationProvider();
36+
const config = gdbTargetConfiguration({
37+
target: targetConfigurationFactory({ port: '4711' }),
38+
});
39+
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
40+
expect(debugConfig).toBeDefined();
41+
expect(debugConfig?.target?.serverParameters).toContain('-port');
42+
expect(debugConfig?.target?.serverParameters).toContain('4711');
43+
});
44+
45+
it('does not overwrite port in server parameters', async () => {
46+
const configProvider = new JlinkConfigurationProvider();
47+
const config = gdbTargetConfiguration({
48+
target: targetConfigurationFactory({
49+
port: '4711',
50+
serverParameters: ['-port', '10815'],
51+
}),
52+
});
53+
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
54+
expect(debugConfig).toBeDefined();
55+
expect(debugConfig?.target?.serverParameters).toContain('-port');
56+
expect(debugConfig?.target?.serverParameters).toContain('10815');
57+
});
58+
2759
});
2860

2961
});

0 commit comments

Comments
 (0)