[PERL] Timeouts et redirection de STDOUT et STDERR
Timeouts et redirection de STDOUT et STDERR [PERL] - Perl - Programmation
MarshPosté le 11-01-2007 à 00:40:13
Bonsoirs à tous,
J'ai un programme que je suis en train de coder et que j'aimerais comparer (à l'aide d'une moulinette de test) à un référence qui change assez souvent, et un problème se pose : je ne sais pas forcer le timeout après un certain temps d'exécution. Cela fait quelques jours que je cherche et je ne trouve rien qui ai réelement pu m'aider pour l'instant. Je suis tombé sur et j'ai joué avec timethis(), timethese() et alarm(), et c'est peut-être tout ce dont j'ai besoin, mais je bloque. J'aimerais faire la chose suivante : lancer un chronomètre sur un exec de référence avec Time::Stopwatch, garder le temps d'exécution, lancer mon exécutable, et faire un timeout si son temps d'exécution est égal (par exemple) à celui de la référence.
Dans un même temps, j'aimerais rediriger les sorties d'erreur et standard vers des fichiers temporaire (avec mktemp()), ou eventuellement les stocker dans des variables, et ce pour faire une comparaison les deux sorties des executables. Je ne sais pas ce qui est plus couteux, ni ce qui est plus intelligent.
Je n'ai pas enormement d'experience en perl (ca fait 3 ou 4 jours a peu pres que je touche) donc je ne connais pas les bonnes ressources ou comment lire cpan.org pour l'instant.
Marsh Posté le 11-01-2007 à 00:40:13
Bonsoirs à tous,
J'ai un programme que je suis en train de coder et que j'aimerais comparer (à l'aide d'une moulinette de test) à un référence qui change assez souvent, et un problème se pose : je ne sais pas forcer le timeout après un certain temps d'exécution. Cela fait quelques jours que je cherche et je ne trouve rien qui ai réelement pu m'aider pour l'instant. Je suis tombé sur et j'ai joué avec timethis(), timethese() et alarm(), et c'est peut-être tout ce dont j'ai besoin, mais je bloque. J'aimerais faire la chose suivante : lancer un chronomètre sur un exec de référence avec Time::Stopwatch, garder le temps d'exécution, lancer mon exécutable, et faire un timeout si son temps d'exécution est égal (par exemple) à celui de la référence.
Dans un même temps, j'aimerais rediriger les sorties d'erreur et standard vers des fichiers temporaire (avec mktemp()), ou eventuellement les stocker dans des variables, et ce pour faire une comparaison les deux sorties des executables. Je ne sais pas ce qui est plus couteux, ni ce qui est plus intelligent.
Je n'ai pas enormement d'experience en perl (ca fait 3 ou 4 jours a peu pres que je touche) donc je ne connais pas les bonnes ressources ou comment lire cpan.org pour l'instant.
J'apprecierais toute aide que vous auriez, merci
Message édité par hproj le 11-01-2007 à 00:40:39