[Debian-pan-maintainers] Rapport d'avancement
RAHLI Oussama
oussama.rahli at synchrotron-soleil.fr
Tue Jul 30 13:59:54 BST 2024
Bonjour à tous,
Cette semaine, avec l'aide de Monsieur PICCA, nous avons créé des tests d'intégration pour xraylib et navarp .
Pour xraylib , nous avons désormais trois types de tests :
-meson : Ce test concerne la partie C du projet. Il configure le projet avec meson, compile des tests.c et des exemples.c en utilisant 'gcc' avec les bibliothèques spécifiées, puis exécute les binaires générés.
-meson-c++ : Ce test s'occupe de la partie C++ du projet. Il configure le projet avec meson, compile des tests.cpp et des exemples.cpp en utilisant 'g++' avec les bibliothèques spécifiées, puis exécute les binaires générés.
-python : Ce test vérifie les fichiers de test Python en utilisant toutes les versions disponibles de Python détectées par 'py3versions', puis exécute les tests unitaires avec 'unittest'.
-Le contenu de script meson:
#!/bin/sh -e
CFLAGS=$(pkg-config --cflags libxrl)
LIBS=$(pkg-config --libs libxrl)
echo "testing C library"
# generate the config.h file
meson setup build
# build C examples
for f in example/*.c; do
echo gcc -o "${f%.c}" "$CFLAGS" "$f" "$LIBS" -lm
gcc -o "${f%.c}" $CFLAGS $f $LIBS -lm
echo "run ${f%.c}"
./"${f%.c}"
done;
# build all unit tests
for f in tests/*.c; do
echo gcc -o "${f%.c}" "$CFLAGS" -Isrc -Ibuild "$f" "$LIBS" -lm
gcc -o "${f%.c}" $CFLAGS -Isrc -Ibuild $f $LIBS -lm
echo "run ${f%.c}"
./"${f%.c}"
done;
-Le contenu de script meson-c++:
#!/bin/sh -e
CFLAGS=$(pkg-config --cflags libxrl)
LIBS=$(pkg-config --libs libxrl)
echo "testing C++ library"
# generate the config.h file
meson setup build
# build Cpp tests
for f in cplusplus/tests/*.cpp; do
echo g++ -o "${f%.cpp}" "$CFLAGS" -Isrc -Ibuild "$f" "$LIBS" -lm
g++ -o "${f%.cpp}" $CFLAGS -Isrc -Ibuild $f $LIBS -lm
echo "run ${f%.cpp}"
./"${f%.cpp}"
done;
# build Cpp examples
for f in example/*.cpp; do
echo g++ -o "${f%.cpp}" "$CFLAGS" "$f" "$LIBS" -lm
g++ -o "${f%.cpp}" $CFLAGS $f $LIBS -lm
echo "run ${f%.cpp}"
./"${f%.cpp}"
done;
-Le contenu de script python:
#!/bin/sh -e
for py in $(py3versions -r 2>/dev/null); do
echo "Testing with $py: ";
for f in python/tests/*.py; do
$py -m unittest "$f" -v
done;
done;
Pour navarp , nous avons désormais deux types de tests:
-gui: Le script teste les binaires de tous les paquets installés en les exécutant avec une limite de temps de 5s , et gère les différents codes de sortie en fonction des résultats de l'exécution.
-python : Ce test vérifie les fichiers de test Python en utilisant toutes les versions disponibles de Python détectées par 'py3versions', puis exécute les tests unitaires avec 'unittest'.
-Le contenu de script gui:
#!/bin/sh -ex
allpkg=$(dh_listpackages)
for p in $allpkg; do
echo "Package being processed: $p"
allbinaries=$(dpkg -L "$p"| grep "/usr/bin/")
if [ -z "$allbinaries" ]; then
echo "No binaries were found in this package"
continue
fi
echo "Binaries of the package $p :"
echo "$allbinaries"
for f in $allbinaries; do
timeout 5s "$f"
ec=$?
echo "tested $f: $ec"
if [ $ec -eq 143 ]; then
echo "trapped status 143 and return success for $f"
elif [ $ec -eq 2 ]; then
echo "Skipped exit code 2 for $f"
else
echo "skipped"
#exit $ec
fi
done
done
exit 0
-Le contenu de script python:
#!/bin/sh -e
cd examples;
for py in $(py3versions -r 2>/dev/null); do
echo "Testing with $py: ";
for f in *.py; do
$py -m unittest "$f" -v
done;
done;
Bien cordialement,
Oussama RAHLI
Etudiant à l'insa de Rennes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-pan-maintainers/attachments/20240730/8d04a4d0/attachment-0001.htm>
More information about the Debian-pan-maintainers
mailing list