2015-08-06 15:44:24 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2016-11-07 22:52:07 +01:00
|
|
|
OC_PATH=../../
|
|
|
|
OCC=${OC_PATH}occ
|
2018-02-06 22:08:46 +01:00
|
|
|
TAGS=""
|
|
|
|
if [ "$1" = "--tags" ]; then
|
|
|
|
TAGS="--tags=$2"
|
|
|
|
|
|
|
|
shift 2
|
|
|
|
fi
|
2016-11-21 14:00:54 +01:00
|
|
|
SCENARIO_TO_RUN=$1
|
|
|
|
HIDE_OC_LOGS=$2
|
|
|
|
|
2016-12-16 17:29:27 +01:00
|
|
|
INSTALLED=$($OCC status | grep installed: | cut -d " " -f 5)
|
|
|
|
|
|
|
|
if [ "$INSTALLED" == "true" ]; then
|
|
|
|
# Disable bruteforce protection because the integration tests do trigger them
|
|
|
|
$OCC config:system:set auth.bruteforce.protection.enabled --value false --type bool
|
2020-04-15 08:24:18 +02:00
|
|
|
# Allow local remote urls otherwise we can not share
|
|
|
|
$OCC config:system:set allow_local_remote_servers --value true --type bool
|
2016-12-16 17:29:27 +01:00
|
|
|
else
|
|
|
|
if [ "$SCENARIO_TO_RUN" != "setup_features/setup.feature" ]; then
|
|
|
|
echo "Nextcloud instance needs to be installed" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
2018-03-15 18:39:27 +01:00
|
|
|
NC_DATADIR=$($OCC config:system:get datadirectory)
|
2016-12-16 17:29:27 +01:00
|
|
|
|
|
|
|
composer install
|
|
|
|
|
2015-12-01 09:24:40 +01:00
|
|
|
# avoid port collision on jenkins - use $EXECUTOR_NUMBER
|
2015-09-29 13:56:56 +02:00
|
|
|
if [ -z "$EXECUTOR_NUMBER" ]; then
|
|
|
|
EXECUTOR_NUMBER=0
|
|
|
|
fi
|
|
|
|
PORT=$((8080 + $EXECUTOR_NUMBER))
|
2015-08-06 15:44:24 +02:00
|
|
|
echo $PORT
|
2023-10-27 08:01:34 +02:00
|
|
|
|
|
|
|
echo "" > phpserver.log
|
|
|
|
|
|
|
|
php -S localhost:$PORT -t ../.. &> phpserver.log &
|
2015-08-06 15:44:24 +02:00
|
|
|
PHPPID=$!
|
|
|
|
echo $PHPPID
|
|
|
|
|
2023-10-27 08:01:34 +02:00
|
|
|
# Output filtered php server logs
|
|
|
|
tail -f phpserver.log | grep --line-buffered -v -E ":[0-9]+ Accepted$" | grep --line-buffered -v -E ":[0-9]+ Closing$" &
|
|
|
|
|
2021-01-22 14:34:02 +01:00
|
|
|
# The federated server is started and stopped by the tests themselves
|
2015-11-24 13:48:06 +01:00
|
|
|
PORT_FED=$((8180 + $EXECUTOR_NUMBER))
|
|
|
|
echo $PORT_FED
|
2021-01-22 14:34:02 +01:00
|
|
|
export PORT_FED
|
2015-11-24 13:48:06 +01:00
|
|
|
|
2015-09-29 13:56:56 +02:00
|
|
|
export TEST_SERVER_URL="http://localhost:$PORT/ocs/"
|
2015-11-24 13:48:06 +01:00
|
|
|
export TEST_SERVER_FED_URL="http://localhost:$PORT_FED/ocs/"
|
|
|
|
|
2016-12-16 17:29:27 +01:00
|
|
|
if [ "$INSTALLED" == "true" ]; then
|
|
|
|
|
|
|
|
#Enable external storage app
|
2019-01-27 14:47:19 +01:00
|
|
|
$OCC app:enable files_external user_ldap
|
2016-12-16 17:29:27 +01:00
|
|
|
|
|
|
|
mkdir -p work/local_storage
|
2017-03-30 17:16:59 +02:00
|
|
|
OUTPUT_CREATE_STORAGE=`$OCC files_external:create local_storage local null::null -c datadir=$PWD/work/local_storage`
|
2016-08-26 09:57:48 +02:00
|
|
|
|
2017-03-22 18:00:12 +01:00
|
|
|
ID_STORAGE=`echo $OUTPUT_CREATE_STORAGE | tr ' ' '\n' | tail -n1`
|
2016-08-05 15:13:49 +02:00
|
|
|
|
2016-12-16 17:29:27 +01:00
|
|
|
$OCC files_external:option $ID_STORAGE enable_sharing true
|
2016-08-05 15:13:49 +02:00
|
|
|
|
2016-12-16 17:29:27 +01:00
|
|
|
fi
|
2016-08-09 10:24:03 +02:00
|
|
|
|
2023-01-12 17:39:06 +01:00
|
|
|
vendor/bin/behat --strict --colors -f junit -f pretty $TAGS $SCENARIO_TO_RUN
|
2015-12-01 09:24:40 +01:00
|
|
|
RESULT=$?
|
2015-08-06 15:44:24 +02:00
|
|
|
|
|
|
|
kill $PHPPID
|
2015-12-01 09:24:40 +01:00
|
|
|
|
2017-03-21 01:48:55 +01:00
|
|
|
if [ "$INSTALLED" == "true" ]; then
|
2016-12-16 17:29:27 +01:00
|
|
|
|
|
|
|
$OCC files_external:delete -y $ID_STORAGE
|
2016-08-05 15:13:49 +02:00
|
|
|
|
2016-12-16 17:29:27 +01:00
|
|
|
#Disable external storage app
|
2019-01-27 14:47:19 +01:00
|
|
|
$OCC app:disable files_external user_ldap
|
2016-12-16 17:29:27 +01:00
|
|
|
fi
|
2016-08-26 09:57:48 +02:00
|
|
|
|
2015-12-04 13:43:08 +01:00
|
|
|
if [ -z $HIDE_OC_LOGS ]; then
|
2018-03-15 18:39:27 +01:00
|
|
|
tail "${NC_DATADIR}/nextcloud.log"
|
2015-12-04 13:43:08 +01:00
|
|
|
fi
|
2015-12-01 09:24:40 +01:00
|
|
|
|
2016-11-07 22:52:07 +01:00
|
|
|
echo "runsh: Exit code: $RESULT"
|
2015-12-01 09:24:40 +01:00
|
|
|
exit $RESULT
|