2010-09-03 4 views
0

Je dois utiliser un fichier pour l'un de mes tests écrits en utilisant Check. J'ai d'abord codé en dur le chemin, qui a bien fonctionné. Cependant, cela n'a pas fonctionné lorsque le code est construit en dehors du répertoire source. Je suis venu avec la solution suivante qui fonctionne un peu. (Je préfixe puis avec noms de fichiers TESTS_DIR)Utilisation de fichiers dans les cas de test Check

# Set correct directory for test files 
AS_IF([test "x$srcdir" = x.], 
     [TESTS_DIR=""], 
     [TESTS_DIR="$srcdir/tests/"]) 
AC_DEFINE_UNQUOTED([TESTS_DIR], ["$TESTS_DIR"], [directory for test files]) 

Malheureusement, cela échoue à nouveau pour make distcheck. Je pourrais publier des mises en page de chemin et des structures spécifiques, mais je me demande s'il existe une façon «facile» de faire référence aux fichiers dans le répertoire source dans tous ces cas. Merci!

MISE À JOUR: J'ai essayé d'utiliser des chemins absolus, mais il semble $abs_top_srcdir est réglé pas quand j'essayé de mettre à jour le définir dans configure.ac. Toute idée de savoir pourquoi cela serait apprécié.

+0

Chemins relatifs? – dirkgently

+0

Comment? Comme vous pouvez le voir, j'ai essayé de trouver un chemin relatif qui fonctionne dans tous les scénarios. Pas de dé. En fait, je serais probablement plus heureux avec un chemin absolu. Si l'utilisateur doit reconfigurer lors du déplacement des répertoires, ce n'est pas la fin du monde. Mais une solution appropriée utilisant des chemins relatifs serait idéale. –

Répondre

0

J'ai découvert que le problème était que $top_srcdir n'est pas défini au moment de la configuration. Au lieu de cela, j'ai ajouté -DTESTS_DIR="\"$(top_srcdir)/tests/\"" à AM_CFLAGS dans mes tests Makefile.am et également ajouté tous les répertoires contenant des fichiers de test à EXTRA_DIST.

Questions connexes