Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

438
Views
CMake y CTest: ejecuta automáticamente las dependencias de la prueba

En mi CMakeLists.txt tengo algo como esto:

 set_property(TEST testX APPEND PROPERTY DEPENDS testY) set_property(TEST testX APPEND PROPERTY DEPENDS testZ)

Y quiero alguna forma de ejecutar testX y todas sus dependencias automáticamente. Algo como:

 ctest <options> testX

y como resultado, CTest ejecutará textY , testZ y testX . ¿Hay alguna manera de hacer esto?

O, si es imposible ahora, ¿hay alguna forma de extraer información sobre las dependencias del directorio de compilación de CMake mediante un script?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Hasta donde yo sé, no hay una forma integrada de hacer esto.

La mejor manera que se me ocurre para lograr su objetivo es utilizar la propiedad LABELS en las pruebas. Puede recuperar la lista de dependencias usando get_property o get_test_property y aplicar la misma etiqueta a testX y cada una de sus pruebas dependientes:

 get_test_property(testX DEPENDS DependenciesOfTestX) set_tests_properties(testX ${DependenciesOfTestX} PROPERTIES LABELS LabelX)

Luego puede decirle a CTest que solo ejecute pruebas con esa etiqueta:

 ctest -L LabelX
over 4 years ago · Santiago Trujillo Report

0

Se agregó soporte para accesorios de prueba en CMake 3.7 y hacen exactamente lo que usted quiere. Su escenario particular se implementaría así:

 set_property(TEST testX PROPERTY FIXTURES_REQUIRED Foo) set_property(TEST testY PROPERTY FIXTURES_SETUP Foo) set_property(TEST testZ PROPERTY FIXTURES_SETUP Foo)

Luego puede pedirle a ctest que ejecute solo testX y automáticamente agregará testY y testZ al conjunto de pruebas que se ejecutarán:

 ctest -R testX

También garantizará que testX solo se ejecute después de que se hayan aprobado testY y testZ . Si falla testY o testZ , se testX . También se agregaron nuevas opciones -FS , -FC y -FA a ctest en CMake 3.9, que permiten controlar la adición automática de pruebas de configuración/limpieza de dispositivos en la línea de comandos de ctest . Por ejemplo, para omitir temporalmente la adición de testY al conjunto de prueba pero aún agregar automáticamente testZ , se podría hacer esto:

 ctest -R testX -FS testY

Las propiedades de los accesorios se describen en los documentos de CMake y el siguiente artículo cubre la función de accesorios de manera más completa:

https://crascit.com/2016/10/18/test-fixtures-with-cmake-ctest/

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!