embsim: an unknown --board should list the boards and suggest the closest

Ouverte Adaptée aux débutants
#191 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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

enhancement good first issue

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 has boards[], the table of every board; line 516 has board_find().
  • Tests: the EmbSim tests live in tests/golden/embsim*.sh and tests/golden/embsim/. Add a small one rather than extending a board's own test.

Steps.

  1. 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 in tools/embsim is fine.
  2. Keep the exit status and the first line as they are; add lines after it.
  3. 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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de EmbLinkOs/EmbCC

Toutes les issues de EmbLinkOs/EmbCC

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.