]> git.mxchange.org Git - friendica.git/commitdiff
Added simple wrapper script to run PHPUnit tests for you. To use this, you need
authorRoland Häder <roland@mxchange.org>
Tue, 21 Jun 2022 11:45:13 +0000 (13:45 +0200)
committerRoland Häder <roland@mxchange.org>
Tue, 21 Jun 2022 11:47:40 +0000 (13:47 +0200)
to set at least 4 variables in your ~/.bashrc (recommended):

export FRIENDICA_MYSQL_HOST="localhost"
export FRIENDICA_MYSQL_DATABASE="friendica_test"
export FRIENDICA_MYSQL_USER="friendica_test"
export FRIENDICA_MYSQL_PASSWWORD="friendica_test"

Then you can put ./bin/dev/run_tests.sh into your .git/hooks/pre-commit file

bin/dev/run_tests.sh [new file with mode: 0755]

diff --git a/bin/dev/run_tests.sh b/bin/dev/run_tests.sh
new file mode 100755 (executable)
index 0000000..d36b8ba
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+PHPUNIT_BIN="./vendor/bin/phpunit"
+
+if [ -z "${FRIENDICA_MYSQL_HOST}" -o -z "${FRIENDICA_MYSQL_DATABASE}" -o -z "${FRIENDICA_MYSQL_USER}" ]
+then
+       echo "$0: Please add this to your ~/.bashrc file:
+
+export FRIENDICA_MYSQL_HOST=\"localhost\"
+export FRIENDICA_MYSQL_DATABASE=\"friendica_test\"
+export FRIENDICA_MYSQL_USER=\"friendica_test\"
+export FRIENDICA_MYSQL_PASSWWORD=\"friendica_test\"
+# Optional:
+#export FRIENDICA_MYSQL_PORT=\"\"
+#export FRIENDICA_MYSQL_SOCKET=\"\"
+
+And create the user/password and database (schema). This script will map then all variables for you and call phpunit properly."
+       exit 255
+elif [ ! -e "${PHPUNIT_BIN}" ]
+then
+       echo "$0: Cannot find '${PHPUNIT_BIN}' executable."
+       exit 255
+fi
+
+export MYSQL_HOST="${FRIENDICA_MYSQL_HOST}"
+export MYSQL_DATABASE="${FRIENDICA_MYSQL_DATABASE}"
+export MYSQL_USER="${FRIENDICA_MYSQL_USER}"
+export MYSQL_PASSWORD="${FRIENDICA_MYSQL_PASSWORD}"
+export MYSQL_PORT="${FRIENDICA_MYSQL_PORT}"
+export MYSQL_SOCKET="${FRIENDICA_MYSQL_SOCKET}"
+
+echo "$0: Running unit tests ..."
+${PHPUNIT_BIN} -v tests/ > /tmp/friendica-phpunit.log 2>/dev/null
+STATUS=$?
+echo "$0: Returned status: ${STATUS}"
+exit ${STATUS}