Il s'agit de la commande cmdtest qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks à l'aide de l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
cmdtest - test blackbox des outils de ligne de commande Unix
SYNOPSIS
test de commande [-cCOMMAND] [--commander=COMMAND] [--config=DOSSIER] [--dump-config]
[--dump-setting-names] [--generate-manpage=MODÈLE] [-h] [--Aidez-moi] [--aide-à tous]
[--list-config-files] [--version] [--no-default-configs] [--dump-memory-profil=MÉTHODE]
[-k] [--garder] [--no-garder] [--Journal=DOSSIER] [--log-keep=N] [--niveau de journal=NIVEAU] [--log-max=TAILLE]
[--log-mode=MODE] [--memory-dump-intervalle=SECONDS] [--output=DOSSIER] [-tTEST] [--test=TEST]
[--horaires] [--no-timing] [DOSSIER] ...
DESCRIPTION
test de commande black box teste les outils de ligne de commande Unix. Compte tenu de certains scripts de test, leurs entrées,
et les sorties attendues, il vérifie que la ligne de commande produit la sortie attendue. Si
non, il signale les problèmes et montre les différences.
Chaque cas de test foo se compose des fichiers suivants :
foo.script
un script pour exécuter le test (ceci est obligatoire)
foo.stdin
le fichier alimenté à l'entrée standard
foo.stdout
la sortie attendue à la sortie standard
foo.stderr
la sortie attendue à l'erreur standard
foo.exit
le code de sortie attendu
foo.setup
un script shell à exécuter avant le test
foo.demontage
un script shell à exécuter après le test
Habituellement, un seul test ne suffit pas. Tous les tests sont placés dans le même répertoire, et ils
peut partager du code d'installation et de démontage :
configuration-une fois
un script shell à exécuter une fois, avant tout test
installation un script shell à exécuter avant chaque test
teardown
un script shell à exécuter après chaque test
démontage-une fois
un script shell à exécuter une fois, après tous les tests
test de commande reçoit le nom du répertoire avec tous les tests, ou plusieurs
répertoires, et il effectue les opérations suivantes :
· exécuter configuration-une fois
· pour chaque cas de test (préfixe unique foo):
- exécuter installation
- exécuter foo.setup
— exécuter la commande, en exécutant foo.script, et rediriger l'entrée standard vers
viens de foo.stdin, et capturer la sortie standard et les codes d'erreur et de sortie
- exécuter foo.demontage
- exécuter teardown
— rapporter le résultat du test : le code de sortie correspond-il foo.exit, correspondance de sortie standard
foo.stdout, et correspondance d'erreur standard foo.stderr?
· exécuter démontage-une fois
À l'exception de foo.script, tous ces fichiers sont facultatifs. Si un script d'installation ou de démontage est
manquant, il n'est tout simplement pas exécuté. Si l'un des fichiers d'entrée, de sortie ou d'erreur standard
est manquant, il est traité comme s'il était vide. Si le fichier de code de sortie est manquant, il est
traité comme s'il spécifiait un code de sortie de zéro.
Les scripts shell peuvent utiliser les variables d'environnement suivantes :
DATADIR
un répertoire temporaire où les fichiers peuvent être créés par le test
NOM DU TEST
nom du test en cours (sera vide pour configuration-une fois et démontage-une fois)
SRCDIR répertoire à partir duquel test de commande A été lancé
OPTIONS
-c, --commander=COMMAND
ignoré pour la compatibilité ascendante
--generate-manpage=MODÈLE
SUPPRESSION DE L'AIDE
-h, --Aidez-moi
afficher ce message d'aide et quitter
-k, --garder
conserver les données temporaires en cas d'échec
--no-garder
à l'opposé de --keep
--output=DOSSIER
écrire la sortie dans FILE, au lieu de la sortie standard
-t, --test=TEST
exécuter uniquement TEST (peut être donné plusieurs fois)
--horaires
rapporter combien de temps prend chaque test
--no-timing
opposé de --timings
--version
afficher le numéro de version du programme et quitter
Configuration fichiers et Paramétres
--config=DOSSIER
ajouter FILE aux fichiers de configuration
--dump-config
écrire toute la configuration actuelle
--dump-setting-names
SUPPRESSION DE L'AIDE
--aide-à tous
afficher toutes les options
--list-config-files
SUPPRESSION DE L'AIDE
--no-default-configs
effacer la liste des fichiers de configuration à lire
Journal
--Journal=DOSSIER
écrire les entrées de journal dans FILE (la valeur par défaut est de ne pas écrire du tout les fichiers journaux) ; utiliser "syslog"
pour se connecter au journal système, "stderr" pour se connecter à la sortie d'erreur standard ou "aucun" pour
désactiver la journalisation
--log-keep=N
conserver les N derniers journaux (10)
--niveau de journal=NIVEAU
log au NIVEAU, l'un des debug, info, warning, error, critic, fatal (par défaut : debug)
--log-max=TAILLE
faire pivoter les journaux plus grands que SIZE, zéro pour jamais (par défaut : 0)
--log-mode=MODE
définir les autorisations des nouveaux fichiers journaux sur MODE (octal ; par défaut 0600)
Performance
--dump-memory-profil=MÉTHODE
faire des vidages de profilage de mémoire à l'aide de METHOD, qui est l'un des suivants : none, simple ou meliae
(par défaut : simple)
--memory-dump-intervalle=SECONDS
faire des vidages de profilage de mémoire à au moins SECONDES d'intervalle
EXEMPLE
Pour tester que le echo(1) la commande renvoie la chaîne attendue, créez un fichier appelé écho-
tests/bonjour.script contenant le contenu suivant :
#!/ Bin / sh
écho bonjour, monde
Créez également le fichier echo-tests/bonjour.stdout contenant:
bonjour, monde
Ensuite, vous pouvez exécuter les tests :
$ cmdtest tests d'écho
essai 1/1
1/1 tests OK, 0 échec
Si vous modifiez le fichier stdout en quelque chose d'autre, test de commande signalera les différences :
$ cmdtest tests d'écho
ÉCHEC : bonjour : diff stdout :
--- echo-tests/hello.stdout 2011-09-11 19:14:47 +0100
+++ echo-tests/hello.stdout-réel 2011-09-11 19:14:49 +0100
@@ -1 +1 @@
-autre chose
+Bonjour, monde
essai 1/1
0/1 tests OK, 1 échec
De plus, le écho-tests répertoire contiendra les fichiers de sortie réels et les différences de
les fichiers attendus. Si l'un des fichiers de sortie réels est réellement correct, vous pouvez
renommez-le en fait pour qu'il soit le fichier attendu. En fait, c'est un moyen très pratique de
créer les fichiers de sortie attendus : vous exécutez le test, corrigez les choses, jusqu'à ce que vous ayez manuellement
vérifié que la sortie réelle est correcte, puis vous renommez le fichier.
Utilisez cmdtest en ligne à l'aide des services onworks.net