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
copy .\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:
@echo off
echo clean the directories (if they exist)
if exist .\work del /f /s /q .\work
if exist .\results del /f /s /q .\results
echo make the directories (if they do not)
if not exist .\work md .\work
if exist .\results md .\results
echo unpack openaccess.accda if it does not exist in ..\
if not exist ..\OpenAccess.accda unzip ..\initial\OpenAccess.zip
echo prepare files
unzip .\initial\project0.zip -d .\work
unzip .\initial\db.zip -d .\work
unzip .\initial\empty_project.zip -d .\work
echo ** tests: step 1 **
echo run the test_export macro
.\work\project0.accdb" /X test_export
echo control existence of zipped app
python assert_exists.py .\work\project0.zip
echo clean sources
del .\work\source\modules\test_methods.bas
del .\work\source\macros\test_export.bas
del .\work\source\macros\test_import.bas
echo copy source to results
copy .\works\source .\results\source1
echo control the result
python compare.py .\results\source1 .\reference\source
echo ** tests: step 2 **
echo run import in empty_project.accdb
"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "C:\APPLIS_PARC\OpenAccess\tests\work\empty_project.accdb" /X test_import
echo copy to results
copy .\work\empty_project.accdb .\results\result1.accdb
echo control existence of backup
python assert_exists.py .\work\empty_project.accdb.old
echo run import in project0.accdb
"C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "C:\APPLIS_PARC\OpenAccess\tests\work\project0.accdb" /X test_import
echo copy to results
copy .\work\project0.accdb .\results\result2.accdb
echo control existence of backup
python assert_exists.py .\work\project0.accdb.old
echo ** tests : step 3 **
echo make sources from result1.accdb
.\results\result1.accdb /X test_export
move .\results\source .\results\source2
echo control result
python compare.py .\results\source2 .\reference\source
echo make sources from result3.accdb
.\results\result2.accdb /X test_export
move .\results\source .\results\source3
echo control result
python compare.py .\results\source3 .\reference\source
echo ** end **
pause