Le fichier Access .\initial\projet0.zip contient l'application de test.
Les tests ont lieu dans le répertoire .\work
Les résultats sont contrôlés au moyen du contenu du répertoire .\reference
L'application project0.accdb sert de support de test.
Le fichier db.accdb contient les éventuelles tables liées. ATTENTION: la chaine de connexion des tables liées à db.accdb doit pointer vers .\work\db.accdb et non pas .\initial\db.accdb
.\work est vidé
del /f /s /q .\work
.\results est vidé
del /f /s /q .\results
.\initial\projet0.zip est extrait vers .\work\projet0.accdb
unzip .\initial\project0.zip -d .\work
.\initial\db.zip est extrait vers .\work\db.accdb
unzip .\initial\db.zip -d .\work
.\initial\empty_project.zip est extrait vers .\work\empty_project.accdb
unzip .\initial\empty_project.zip -d .\work
silent_export de OpenAccess est executée depuis le fichier .\work\project0.accdb (via la macro test_export de project0.accdb)
"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "C:\APPLIS_PARC\OpenAccess\tests\work\project0.accdb" /X test_export
Le répertoire .\work\source est créé
.\work\project0.zip créé par l'export est contrôlée
python assert_exists.py .\work\project0.zip
.\work\source\modules\test_methods.bas, .\work\source\macros\test_export.bas et .\work\source\macros\test_import.bas sont supprimés (ils ne font pas partie du périmètre des tests et leur présence provoquera des erreurs à l'import)
del .\work\source\modules\test_methods.basdel .\work\source\macros\test_export.basdel .\work\source\macros\test_import.bas
ATTENTION à s'assurer que ces fichiers ont aussi été supprimés de .\reference\source!
.\work\source est copié vers .\results\source_1
xcopy .\works\source .\results\source1
.\reference\source
python compare.py .\work\source .\reference\source
silent_import de OpenAccess est executée depuis le fichier .\work\empty_project.accdb (via la macro test_import de empty_project.accdb)
"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "C:\APPLIS_PARC\OpenAccess\tests\work\empty_project.accdb" /X test_import
.\work\empty_project.accdb est copié vers .\results\result1.accdb
copy .\work\empty_project.accdb .\results\result1.accdb
.\work\empty_project.accdb.old créé par l'export est contrôlée
python assert_exists.py .\work\empty_project.accdb.old
silent_import de OpenAccess est executée depuis le fichier .\work\project0.accdb (via la macro test_import de project0.accdb)
.\work\project0.accdb /X test_import
.\work\project0.accdb est copié vers .\results\result2.accdb
copy .\work\project0.accdb .\results\result2.accdb
.\work\project0.accdb.old créé par l'export est contrôlée
python assert_exists.py .\work\project0.accdb.old
.\results\result1.accdb /X test_export
move .\results\source .\results\source2
python compare.py .\results\source2 .\reference\source
.\results\result2.accdb /X test_export
move .\results\source .\results\source3
python compare.py .\results\source3 .\reference\source
La build sera réussie si:
compare.py retourne un code exit 0 à chaque fois qu'elle est appelléeDe plus, on peut vérifier les résultats dans le répertoire .\results:
Voir http://codebox/dev/OpenAccess/blob/master/tests/run_tests.bat