From 7b8cfaea67a97249dc4c86bebb3b068d3f835edc Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Fri, 21 Mar 2014 09:19:27 +0100 Subject: [PATCH] [test] Journalisation d'un test complet avec envois de mail en cas d'erreurs --- test.py | 30 ++++++++++++++++++++---------- test.sh | 17 +++++++++++++++++ 2 files changed, 37 insertions(+), 10 deletions(-) create mode 100755 test.sh diff --git a/test.py b/test.py index e3d05b9..e67faa9 100755 --- a/test.py +++ b/test.py @@ -18,13 +18,17 @@ import variables sys.path.append("/usr/scripts/") from gestion.affich_tools import anim, OK, cprint, ERREUR +mail_format = False show_traceback = False if "--traceback" in sys.argv: show_traceback = True fast_test = False if "--fast" in sys.argv: fast_test = True - +if "--mail" in sys.argv: + mail_format = True + OK = "OK" + ERREUR = "ERREUR" def randomMAC(): mac = [ 0x00, 0x16, 0x3e, random.randint(0x00, 0x7f), @@ -72,7 +76,7 @@ def keys_of_list_of_dict(l, type=''): Teste l'écriture des objets si on est en mode rw""" keys = set() if l: - anime=anim("Test des objets %r" % type, len(l)) + anime=anim("Test des objets %r" % type, 0 if mail_format else len(l)) anime.reinit() ok=True for item in l: @@ -88,7 +92,8 @@ def keys_of_list_of_dict(l, type=''): if show_traceback: print traceback.format_exc() else: print "\t%r" % error ok = False - anime.cycle() + if not mail_format: + anime.cycle() if l: anime.reinit() print OK if ok else ERREUR @@ -145,12 +150,14 @@ def tests_machines(parent_dn, realm_list, ipsec=False): else: print "\t%r" % error else: print OK -print "Test de la librairie lc_ldap" +if not mail_format: + print "Test de la librairie lc_ldap" -print "Connexion" + print "Connexion" conn = shortcuts.lc_ldap_test() -print u"Tests effectués avec les droits %s " % ', '.join(conn.droits) +if not mail_format: + print u"Tests effectués avec les droits %s " % ', '.join(conn.droits) ############################################### # Instanciation de tous les attributs de tous # @@ -179,16 +186,19 @@ else: print OK machines_attrs_keys = keys_of_list_of_dict(machines, 'machines') -print "Test des attributs des machines" +if not mail_format: + print "Test des attributs des machines" test_list_of_dict(machines_attrs_keys, machines) adherents_attrs_keys = keys_of_list_of_dict(adherents, 'adherents') -print "Test des attributs des adhérents" +if not mail_format: + print "Test des attributs des adhérents" test_list_of_dict(adherents_attrs_keys, adherents) -print "Test de création d'objets" -print "Instanciation" +if not mail_format: + print "Test de création d'objets" + print "Instanciation" ############################################## diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..e0bd781 --- /dev/null +++ b/test.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +MSG=$(/usr/scripts/lc_ldap/test.py --mail | grep -v OK$) +TO="roots@crans.org" +#TO="samir@crans.org" +FROM="respbats@crans.org" +SUBJECT="Erreur dans les tests lc_ldap sur la base de test" +if [ -n "$MSG" ]; then +sendmail "$TO" << EOF +From: $FROM +To: $TO +Subject: $SUBJECT + +$MSG +. +EOF +fi;