test: add unit tests for ctrace::RunDirectory
I maintainer di solito rispondono entro 1 giorno
@tecnolgd ci sta già lavorando.
Dal 13/10/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
Direzione di ricerca
Leggi tests/tool_output_tests.cpp per vedere il modello TestReport ed esamina include/Process/Tools/RunDirectory.hpp per capirne il comportamento. Aggiungi tests/run_directory_tests.cpp per i casi elencati relativi a costruzione, percorsi, unicità e pulizia, quindi registra l'eseguibile e il test in CMakeLists.txt, incluse entrambe le liste alla fine del file. Esegui ctest -L unit; il lavoro è completato quando i nuovi test passano, compresa la pulizia quando la directory contiene file e sottodirectory.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
ctrace::RunDirectory (include/Process/Tools/RunDirectory.hpp) gives each tool run its own temporary directory (created with mkdtemp, removed in the destructor). It has no direct unit tests.
To do: add tests/run_directory_tests.cpp covering:
- the directory exists right after construction;
- it is located under
std::filesystem::temp_directory_path(), and its name starts with the given prefix followed by-; - two instances created with the same prefix get two different paths;
- the directory is removed when the object is destroyed, including when it still contains files and subdirectories.
How: follow the pattern of tests/tool_output_tests.cpp (a small TestReport with expect, main returns non-zero on failure). The header is header-only, so the test needs no source file. Register it in CMakeLists.txt like the other tests:
add_executable(ctrace_run_directory_tests tests/run_directory_tests.cpp)
add_test(NAME ctrace_run_directory_tests COMMAND ctrace_run_directory_tests)
and add ctrace_run_directory_tests to the two lists at the end of CMakeLists.txt: coretrace_unit_tests (so ctest -L unit runs it) and the foreach(coretrace_target ...) list of executables.
- Lingua principale
- C++
- Stelle
- 5
- Fork
- 4
- Merge medio
- 1h 9m
- PR unite (30g)
- 81
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CoreTrace/coretrace
-
chore good first issue severity/minor
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
build severity/minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
CoreTrace/coretrace#176 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
build good first issue severity/minor
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Release a macOS disk image (.dmg) for Apple siliconForse già presa @SizzleUnrlsd l’ha presa 1 giorno fa. Apertabuild enhancement
CoreTrace/coretrace#198 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Builds without a build type are unoptimized: the README's commands and CI's main jobForse già presa @SizzleUnrlsd l’ha presa 2 giorni fa. Apertabuild severity/minor
CoreTrace/coretrace#192 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di CoreTrace/coretrace
Issue simili
-
backlog bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
EchoTools/nevr-runtime#653 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
InfiniTimeOrg/InfiniTime#2492 ·
-
accessibility good first issue hacktoberfest help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
OpenChemistry/avogadrolibs#3184 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Tracktion/tracktion_engine#475 ·
I maintainer di solito rispondono entro 1 giorno