tools: --version on every Emb tool, from src/driver/version.h

Aberta
#192 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
55/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
c
Domínio
tooling

Direção de pesquisa

Read src/driver/version.h first and follow its comment requiring one shared version string. Then inspect the listed tool option loops and each tool’s Makefile rule; the issue allows implementing a few tools per pull request. Done means the covered tools print their name and EMBCC_VERSION with exit code 0, and a test reads the version from the header and checks every tool.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement good first issue

Context. embcc --version prints EmbCC 0.0.1-beta (...). None of the other tools has --version:

$ ./embld --version
embld: unknown option '--version'
$ ./embsim --version
embsim: embsim: unknown option '--version'

The same holds for embsvd, embmap, embpack, embrt, embread and embflash. embtrace and embar print their usage instead, and embdbg prints an old banner (EmbDBG v0 — EmbLinkOS debug-info reader). A bug report should be able to say which version of each tool was used.

Where.

  • src/driver/version.h: EMBCC_VERSION, the one version string. Read its comment: the string must stay defined in one place only.
  • Each tool's option loop: tools/embld/embld.c, tools/embsim/main.c, tools/embsvd/embsvd.c, tools/embmap/embmap.c, tools/embpack/embpack.c, tools/embrt/embrt.c, tools/embread/embread.c, tools/embflash/embflash.c, tools/embtrace/, tools/embar/, tools/embdbg/.
  • The Makefile rule for each tool. Check that the tool's build can see src/driver/version.h, and add it to the rule's prerequisites so a version bump rebuilds the tool.

Steps.

  1. Give each tool --version, printing NAME (EmbCC 0.0.1-beta) from EMBCC_VERSION, and exiting 0.
  2. Add one test, for example tests/golden/tool-versions.sh. It runs every tool with --version and checks that each prints EMBCC_VERSION, read from version.h so the test does not restate it.
  3. It is fine to do a few tools per pull request; say which ones in the PR.

Done when every tool in the README's tools table answers --version with the same version as embcc, the test checks them all, and make check passes.

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.

Linguagem predominante
C
Estrelas
1
Forks
2
Merge médio
20h 55min
PRs com merge (30d)
73

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de EmbLinkOs/EmbCC

Todas as issues de EmbLinkOs/EmbCC

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.