mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-11-08 01:48:32 +00:00
fix: no required programmer for debug --info
Ref: arduino/arduino-cli#2540 Closes: arduino/arduino-ide#2368 Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
This commit is contained in:
@@ -169,7 +169,7 @@
|
||||
],
|
||||
"arduino": {
|
||||
"arduino-cli": {
|
||||
"version": "0.35.2"
|
||||
"version": "0.35.3"
|
||||
},
|
||||
"arduino-fwuploader": {
|
||||
"version": "2.4.1"
|
||||
|
||||
@@ -398,12 +398,9 @@ export async function isDebugEnabled(
|
||||
`Failed to append boards config to the FQBN. Original FQBN was: ${fqbn}`
|
||||
);
|
||||
}
|
||||
if (!data.selectedProgrammer) {
|
||||
throw new Error(noProgrammerSelectedFor(board.name));
|
||||
}
|
||||
const params = {
|
||||
fqbn: fqbnWithConfig,
|
||||
programmer: data.selectedProgrammer.id,
|
||||
programmer: data.selectedProgrammer?.id,
|
||||
};
|
||||
try {
|
||||
const debugFqbn = await checkDebugEnabled(params);
|
||||
@@ -443,13 +440,3 @@ export function debuggingNotSupported(boardName: string): string {
|
||||
boardName
|
||||
);
|
||||
}
|
||||
/**
|
||||
* (non-API)
|
||||
*/
|
||||
export function noProgrammerSelectedFor(boardName: string): string {
|
||||
return nls.localize(
|
||||
'arduino/debug/noProgrammerSelectedFor',
|
||||
"No programmer selected for '{0}'",
|
||||
boardName
|
||||
);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ export interface CheckDebugEnabledParams {
|
||||
* The FQBN might contain custom board config options. For example, `arduino:esp32:nano_nora:USBMode=hwcdc,option2=value2`.
|
||||
*/
|
||||
readonly fqbn: string;
|
||||
readonly programmer: string;
|
||||
readonly programmer?: string;
|
||||
}
|
||||
|
||||
export interface BoardSearch extends Searchable.Options {
|
||||
|
||||
@@ -178,7 +178,7 @@ export class BoardsServiceImpl
|
||||
const req = new IsDebugSupportedRequest()
|
||||
.setInstance(instance)
|
||||
.setFqbn(fqbn)
|
||||
.setProgrammer(programmer);
|
||||
.setProgrammer(programmer ?? '');
|
||||
try {
|
||||
const debugFqbn = await new Promise<string>((resolve, reject) =>
|
||||
client.isDebugSupported(req, (err, resp) => {
|
||||
|
||||
@@ -28,7 +28,6 @@ import {
|
||||
debuggingNotSupported,
|
||||
isDebugEnabled,
|
||||
noPlatformInstalledFor,
|
||||
noProgrammerSelectedFor,
|
||||
} from '../../browser/contributions/debug';
|
||||
import { NotificationCenter } from '../../browser/notification-center';
|
||||
import { noBoardSelected } from '../../common/nls';
|
||||
@@ -117,20 +116,20 @@ describe('debug', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('should error when no programmer selected', async () => {
|
||||
it('should resolve when no programmer is selected (arduino/arduino-cli#2540)', async () => {
|
||||
const copyData: Mutable<BoardsDataStore.Data> = deepClone(data);
|
||||
delete copyData.selectedProgrammer;
|
||||
await rejects(
|
||||
await doesNotReject(
|
||||
isDebugEnabled(
|
||||
board,
|
||||
() => boardDetails,
|
||||
() => copyData,
|
||||
(fqbn) => fqbn,
|
||||
unexpectedCall()
|
||||
),
|
||||
(reason) =>
|
||||
reason instanceof Error &&
|
||||
reason.message === noProgrammerSelectedFor(board.name)
|
||||
async (params) => {
|
||||
expect(params.programmer).to.be.undefined;
|
||||
return params.fqbn;
|
||||
}
|
||||
)
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user