TESTS.sh 1.98 KB
#!/usr/bin/env bash

# Si docker et execution directe (hors conteneur) depuis le repertoire data/ (bind du repertoire docker)
# => on rappelle ce meme script avec le CLI docker puis on exit
[ -f ../docker-compose.yml ] && (docker exec -it labinvent $0 $* ; true) && exit
# Execution SANS docker, ou bien AVEC docker depuis le conteneur
echo "IN $(pwd)"















TESTEXEC=vendor/phpunit/phpunit/phpunit
TESTEXEC2=vendor/bin/phpunit

# Tous les tests
TESTALL=1
# Quelques tests seulement (au moins 1)
#TESTALL=0

#echo "arg1 is: $1"
#echo "arg2 is: $2"
#echo "all is: $*"


# D'abord on affiche la version courante
##########./VERSION

# Souvent necessaire pour que les tests se passent bien:
###sudo rm -rf tmp/cache/*
#rm -rf tmp/cache/*/*
##sudo chmod o+w tmp/cache/persistent/myapp_cake_core_translations_* > /dev/null 2>&1




if [[ "$1" != "" ]] ; then
	#$TESTEXEC --filter $*
	$TESTEXEC --filter $1
	TESTALL=2

elif [[ $TESTALL == 1 ]] ; then
	$TESTEXEC || $TESTEXEC2

	# Si ca ne marche pas, essayer plutot:
	#vendor/phpunit/phpunit/phpunit
	
	# Plus de details:
	#vendor/bin/phpunit --debug
	#vendor/bin/phpunit --verbose --log-tap tap.log
	#vendor/bin/phpunit --testdox

elif [[ $TESTALL == 0 ]] ; then
	# Executer UN SEUL test:
	# Ex: je veux executer ONLY le test testMat31CreateAs() de MaterielsControllerTest:
	#vendor/bin/phpunit --filter testMat31CreateAs
	#vendor/bin/phpunit --filter testMat32CreateAdministratifOrTechnicalAs
	#vendor/bin/phpunit --filter testACLEditUtilisateur
	#vendor/bin/phpunit --filter testMatCopy
	$TESTEXEC --filter EmpruntsControllerTest::testAdd

fi

exit

# On remet en accès pour tous les repertoires tmp et logs (pour que Apache puisse toujours écrire dedans) :
##chmod -R 777 ./tmp/
# - tmp/cache : obligé d'utiliser sudo a cause des fichiers créés par le serveur web (appartiennent à _www sur Mac)
sudo chmod -R 777 ./tmp/cache/
chmod -R 777 ./logs/

##sudo rm -f tmp/cache/persistent/myapp_cake_core_translations_*
##sudo rm -rf ./tmp/cache/*
#rm -rf ./tmp/cache/*