Skip to content

Commit d048d74

Browse files
committed
tests
Signed-off-by: Jens Reinecke <[email protected]>
1 parent 6a33a4a commit d048d74

File tree

3 files changed

+70
-13
lines changed

3 files changed

+70
-13
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { makeFactory } from '../__test__/test-data-factory';
1919
import { GDBTargetConfiguration, TargetConfiguration } from './gdbtarget-configuration';
2020

2121
export const debugConfigurationFactory = makeFactory<vscode.DebugConfiguration>({
22-
type: () => 'cppdbg',
22+
type: () => 'mydebug',
2323
name: () => 'Debug',
2424
request: () => 'launch',
2525
});
@@ -40,7 +40,7 @@ export const targetConfigurationFactory = makeFactory<TargetConfiguration>({
4040
});
4141

4242
export const gdbTargetConfiguration = makeFactory<GDBTargetConfiguration>({
43-
type: () => 'gdb',
43+
type: () => 'gdbtarget',
4444
name: () => 'Debug',
4545
request: () => 'launch',
4646
program: () => undefined,

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616

1717
import { gdbTargetConfiguration, targetConfigurationFactory } from '../debug-configuration.factory';
18+
import { GDBTargetConfiguration } from '../gdbtarget-configuration';
1819
import { JlinkConfigurationProvider } from './jlink-configuration-provider';
1920

2021
describe('JlinkConfigurationProvider', () => {
@@ -28,7 +29,8 @@ describe('JlinkConfigurationProvider', () => {
2829
});
2930
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
3031
expect(debugConfig).toBeDefined();
31-
expect(debugConfig?.target?.serverParameters).not.toContain('-port');
32+
const gdbtargetConfig = debugConfig as GDBTargetConfiguration;
33+
expect(gdbtargetConfig?.target?.serverParameters).not.toContain('-port');
3234
});
3335

3436
it('adds port to server parameters', async () => {
@@ -38,8 +40,9 @@ describe('JlinkConfigurationProvider', () => {
3840
});
3941
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
4042
expect(debugConfig).toBeDefined();
41-
expect(debugConfig?.target?.serverParameters).toContain('-port');
42-
expect(debugConfig?.target?.serverParameters).toContain('4711');
43+
const gdbtargetConfig = debugConfig as GDBTargetConfiguration;
44+
expect(gdbtargetConfig?.target?.serverParameters).toContain('-port');
45+
expect(gdbtargetConfig?.target?.serverParameters).toContain('4711');
4346
});
4447

4548
it('does not overwrite port in server parameters', async () => {
@@ -52,8 +55,9 @@ describe('JlinkConfigurationProvider', () => {
5255
});
5356
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
5457
expect(debugConfig).toBeDefined();
55-
expect(debugConfig?.target?.serverParameters).toContain('-port');
56-
expect(debugConfig?.target?.serverParameters).toContain('10815');
58+
const gdbtargetConfig = debugConfig as GDBTargetConfiguration;
59+
expect(gdbtargetConfig?.target?.serverParameters).toContain('-port');
60+
expect(gdbtargetConfig?.target?.serverParameters).toContain('10815');
5761
});
5862

5963
});

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

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

17-
import { debugConfigurationFactory } from '../debug-configuration.factory';
17+
import { gdbTargetConfiguration, targetConfigurationFactory } from '../debug-configuration.factory';
18+
import { GDBTargetConfiguration } from '../gdbtarget-configuration';
1819
import { PyocdConfigurationProvider } from './pyocd-configuration-provider';
1920

2021
describe('PyocdConfigurationProvider', () => {
2122

22-
it('resolveDebugConfigurationWithSubstitutedVariables', async () => {
23-
const configProvider = new PyocdConfigurationProvider();
24-
const config = debugConfigurationFactory();
25-
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
26-
expect(debugConfig).toBeDefined();
23+
describe('resolveDebugConfigurationWithSubstitutedVariables', () => {
24+
25+
it('adds gdbserver to minimal configuration serverParameters', async () => {
26+
const configProvider = new PyocdConfigurationProvider();
27+
const config = gdbTargetConfiguration({
28+
target: targetConfigurationFactory(),
29+
});
30+
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
31+
expect(debugConfig).toBeDefined();
32+
const gdbtargetConfig = debugConfig as GDBTargetConfiguration;
33+
expect(gdbtargetConfig?.target?.serverParameters).toContain('gdbserver');
34+
expect(gdbtargetConfig?.target?.serverParameters).not.toContain('--port');
35+
});
36+
37+
it('adds port to server parameters, gdbserver always gets added', async () => {
38+
const configProvider = new PyocdConfigurationProvider();
39+
const config = gdbTargetConfiguration({
40+
target: targetConfigurationFactory({ port: '4711' }),
41+
});
42+
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
43+
expect(debugConfig).toBeDefined();
44+
const gdbtargetConfig = debugConfig as GDBTargetConfiguration;
45+
expect(gdbtargetConfig?.target?.serverParameters).toContain('gdbserver');
46+
expect(gdbtargetConfig?.target?.serverParameters).toContain('--port');
47+
expect(gdbtargetConfig?.target?.serverParameters).toContain('4711');
48+
});
49+
50+
it('does not overwrite port in server parameters', async () => {
51+
const configProvider = new PyocdConfigurationProvider();
52+
const config = gdbTargetConfiguration({
53+
target: targetConfigurationFactory({
54+
port: '4711',
55+
serverParameters: ['-port', '10815'],
56+
}),
57+
});
58+
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
59+
expect(debugConfig).toBeDefined();
60+
const gdbtargetConfig = debugConfig as GDBTargetConfiguration;
61+
expect(gdbtargetConfig?.target?.serverParameters).toContain('--port');
62+
expect(gdbtargetConfig?.target?.serverParameters).toContain('10815');
63+
});
64+
65+
it.each([
66+
{ host: 'keep absolute path on Unix', pyocdPath: '/my/pyocd' },
67+
{ host: 'keep absolute path on Win', pyocdPath: 'C:\\my\\pyocd' },
68+
])('handles server path if absolute or adds absolute path for built-in', async ({ pyocdPath }) => {
69+
const configProvider = new PyocdConfigurationProvider();
70+
const config = gdbTargetConfiguration({
71+
target: targetConfigurationFactory({
72+
server: pyocdPath
73+
}),
74+
});
75+
const debugConfig = await configProvider.resolveDebugConfigurationWithSubstitutedVariables(undefined, config, undefined);
76+
expect(debugConfig).toBeDefined();
77+
const gdbtargetConfig = debugConfig as GDBTargetConfiguration;
78+
expect(gdbtargetConfig?.target?.server).toContain(pyocdPath);
79+
});
2780
});
2881

2982
});

0 commit comments

Comments
 (0)