embsim: an unknown --board should list the boards and suggest the closest
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 88/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- c
- Domaine
- cli, embedded-iot
Piste de recherche
Commence par l’erreur de carte inconnue dans tools/embsim/main.c et la table boards[] ainsi que board_find() dans tools/embsim/boards.c. Examine les conventions de test existantes dans tests/golden/embsim*.sh et tests/golden/embsim/, puis lance le test ciblé d’EmbSim. Le travail est terminé lorsqu’une faute de frappe comme microbt suggère microbit, qu’un nom incohérent liste les cartes sans suggestion, et que le code de sortie ainsi que la première ligne d’erreur restent inchangés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Context. EmbSim knows many boards (see embsim --help), but a wrong name only says no:
$ ./embsim --board microbt fw.elf
embsim: unknown board 'microbt'
It should list the boards and suggest the closest, for example did you mean 'microbit'?.
Where.
tools/embsim/main.c, line 221: the error. The name is tried as a board (board_find), then as a part from a device pack (board_part).tools/embsim/boards.c: line 217 hasboards[], the table of every board; line 516 hasboard_find().- Tests: the EmbSim tests live in
tests/golden/embsim*.shandtests/golden/embsim/. Add a small one rather than extending a board's own test.
Steps.
- On an unknown name, print the board names from
boards[], and the closest one if it is within a few edits. EmbSim is a separate program, so a small edit-distance function intools/embsimis fine. - Keep the exit status and the first line as they are; add lines after it.
- Add a test with a typo and with a nonsense name.
Done when --board microbt suggests microbit, a nonsense name lists the boards without a suggestion, and the test passes. Do not run tests/golden/boards.sh for this: it talks to real boards on serial ports.
Before you start: the contributor's guide has the rules. A new test counts only after it has failed against the code before your change, and a commit subject reads area: summary. Questions are welcome in the comments or in Discussions.
- Langage dominant
- C
- Étoiles
- 1
- Forks
- 2
- Merge moyen
- 20 h 55 min
- PR mergées (30 j)
- 73
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de EmbLinkOs/EmbCC
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 50/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de EmbLinkOs/EmbCC
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
tursodatabase/libsql#2312 ·
Les mainteneurs répondent en général sous 11 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
hil-contract: a background hil_remote.py launch is killed at the Bash default 10 min timeoutOuvertefollow-up Prio 📌
Difficulté 1/5 Moins d'une heure Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
area: test kind: bug preview-effort: small priority: low
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Les mainteneurs répondent en général sous 1 jour