2010-12-09 26 views
6

J'ai recherché tous les documents, mais je n'arrive pas à trouver un seul exemple d'utilisation de CTEST_CUSTOM_PRE_TEST.Comment utilisez-vous CTEST_CUSTOM_PRE_TEST?

Fondamentalement, j'ai besoin de démarrer et d'exécuter certaines commandes sur le serveur avant que le test s'exécute. J'ai donc besoin d'ajouter quelques étapes de pré-test. Quelle est la syntaxe de CTEST_CUSTOM_PRE_TEST?

CTEST_CUSTOM_PRE_TEST (??? quoi mettre ici ???) ADD_TEST (MyTest MyTestCommand)

Répondre

5

CTEST_CUSTOM_PRE_TEST est une variable utilisée dans le cadre de l'exécution d'un tableau de bord ctest. Il doit être défini directement dans le script ctest -S lui-même ou dans un fichier CTestCustom.cmake en haut de l'arborescence de construction.

Dans les deux fichiers, une valeur d'exemple pourrait être:

set(CTEST_CUSTOM_PRE_TEST "perl prepareForTesting.pl -with-this -and-that") 

Il devrait y avoir une seule ligne de commande, correctement mis en forme pour l'exécution sur le système que vous êtes. Il s'exécute une fois lors d'un appel ctest_test, avant que tous les tests ne soient exécutés. De même, il existe également une variable CTEST_CUSTOM_POST_TEST, qui doit également être une ligne de commande unique, mais qui s'exécute après tous les tests.

La citation et l'échappement d'arguments avec des espaces, des guillemets et des antislashs peuvent être difficiles ... mais vous n'aurez peut-être pas besoin de cela non plus.

Je ne sais pas d'un exemple du monde réel de ce que je peux vous indiquer, mais je peux lire le code source ctest ... ;-)

+0

Peut-être l'approvisionnement? – Penz

1

Dans OpenSCAD sur linux sans tête, nous essayons de démarrer une framebuffer virtuel avant l'exécution de ctest. Nous n'utilisons cependant pas PRE_TEST. Nous construisons notre propre CTestCustom.cmake dans le répertoire de construction pendant l'exécution de 'cmake'. (Nous utilisons POST_TEST, mais il y avait quelques versions récentes de CMake où POST_TEST a été cassé)

Vous pouvez trouver le code ici https://github.com/openscad/openscad/blob/master/tests