test: add unit tests for ctrace::RunDirectory
Los mantenedores suelen responder en 1 día
@tecnolgd ya está trabajando en esto.
Desde el 13/10/2026.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 88/100
Línea de trabajo
Lee tests/tool_output_tests.cpp para ver el patrón de TestReport e inspecciona include/Process/Tools/RunDirectory.hpp para entender su comportamiento. Añade tests/run_directory_tests.cpp para los casos indicados de construcción, rutas, unicidad y limpieza; después, registra el ejecutable y la prueba en CMakeLists.txt, incluidas ambas listas al final del archivo. Ejecuta ctest -L unit; la tarea estará terminada cuando pasen las nuevas pruebas, incluida la limpieza cuando el directorio contiene archivos y subdirectorios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C++
- Estrellas
- 5
- Forks
- 4
- Merge medio
- 1 h 4 min
- PR fusionados (30 d)
- 71
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CoreTrace/coretrace
-
documentation severity/minor
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
chore good first issue severity/minor
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
build severity/minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
build good first issue severity/minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
build severity/minor
Dificultad 3/5 1-2 días Aptitud para principiantes 69/100
Los mantenedores suelen responder en 1 día
Todos los issues de CoreTrace/coretrace
Issues similares
-
chore: update release scheduleAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 4 días
-
nth_root does not restore the rounding mode and can return an upper bound below the true rootAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
scanaislop/aislop#482 ·
Los mantenedores suelen responder en 1 día
-
1 type: problem 2 scope: firmware 3 good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
SpaceTeam/STS1_COBC_SW#511 ·
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
imaaiagent/fumi#3 ·