db176ee45b
It was not very useful to let this setting configurable by the user. On the other hand, old path in config file caused issues after upgrade. It is better to decide the location of LOKit core during compilation. From now on the --with-lo-path configure option is compulsory. Change-Id: Icdcbc21bde5dad329fdb6e30ed17efde6b0e73de Reviewed-on: https://gerrit.libreoffice.org/79943 Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> Tested-by: Andras Timar <andras.timar@collabora.com>
160 lines
5.9 KiB
Bash
Executable file
160 lines
5.9 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
#
|
|
# DO NOT EDIT - this file is generated from run_unit.sh.in.
|
|
#
|
|
|
|
cmd_line="$0 $@"
|
|
|
|
# substituted variables in one place:
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
abs_top_builddir="${DIR}/.."
|
|
systemplate_path="@SYSTEMPLATE_PATH@"
|
|
enable_debug="@ENABLE_DEBUG@"
|
|
jails_path="@JAILS_PATH@"
|
|
lo_path="@LO_PATH@"
|
|
valgrind_cmd="valgrind --tool=memcheck --trace-children=no -v --read-var-info=yes"
|
|
verbose=''
|
|
|
|
# Note that these options are used by commands in the Makefile that
|
|
# Automake generates. Don't be mislead by 'git grep' not showing any
|
|
# use of --test-name for instance.
|
|
|
|
print_help ()
|
|
{
|
|
echo "Usage: run_unit.sh --test-name <name.la> [OPTIONS]"
|
|
echo "Runs a specified unit test"
|
|
echo ""
|
|
echo " --log-file <file> Log output to this file - default /dev/stderr"
|
|
echo " --trs-file <file> Records the results of a test for automake (default /dev/stderr)"
|
|
echo " --gdb Run under gdb if enabled"
|
|
echo " --valgrind Run under valgrind if enabled"
|
|
echo " --verbose Print out more stuff - if you run out of things to read"
|
|
exit 1
|
|
}
|
|
|
|
tst=
|
|
tst_log=/dev/stderr
|
|
tst_output=/dev/stderr
|
|
while test $# -gt 0; do
|
|
case $1 in
|
|
--test-name) tst=$2; shift;;
|
|
--log-file) tst_log=$2; shift;;
|
|
--trs-file) test_output=$2; shift;;
|
|
--gdb) trace='gdb --args'; shift;;
|
|
--valgrind) trace=$valgrind_cmd; shift;;
|
|
--verbose) verbose="--verbose";;
|
|
--help) print_help ;;
|
|
-*) ;; # ignore
|
|
esac
|
|
shift
|
|
done
|
|
|
|
echo
|
|
echo "Running ${tst}"
|
|
echo " $cmd_line"
|
|
|
|
# drop .la suffix
|
|
tst=`echo $tst | sed "s/\.la//"`;
|
|
|
|
if test "z$tst" != "z" && test "z$CPPUNIT_TEST_NAME" != "z"; then
|
|
# $tst is not empty, but $CPPUNIT_TEST_NAME is set, exit early if they
|
|
# don't match.
|
|
if test "z$tst" != "z$CPPUNIT_TEST_NAME"; then
|
|
touch $tst_log
|
|
echo ":test-result: SKIP $tst (disabled by CPPUNIT_TEST_NAME)" > $test_output
|
|
exit 0;
|
|
fi
|
|
fi
|
|
|
|
export LOOL_LOGLEVEL=trace
|
|
|
|
if test "z$enable_debug" != "ztrue"; then
|
|
echo ""
|
|
echo "It is necessary to configure with --enable-debug for unit tests to pass"
|
|
echo ""
|
|
echo ":test-result: FAIL $tst" > $test_output
|
|
exit 1;
|
|
fi
|
|
|
|
# result logging
|
|
echo "Test output is '$test_output'"
|
|
echo > $test_output
|
|
|
|
if test "z$tst" == "z"; then
|
|
# run the test on a dedicated port
|
|
export LOOL_TEST_CLIENT_PORT=9984
|
|
export LOOL_TEST_MASTER_PORT=9985
|
|
|
|
echo "Executing external tests"
|
|
${trace} \
|
|
${abs_top_builddir}/loolwsd --o:sys_template_path="$systemplate_path" \
|
|
--o:child_root_path="$jails_path" \
|
|
--o:storage.filesystem[@allow]=true \
|
|
--o:logging.level=trace \
|
|
--o:logging.file[@enable]=false \
|
|
--o:ssl.key_file_path="${abs_top_builddir}/etc/key.pem" \
|
|
--o:ssl.cert_file_path="${abs_top_builddir}/etc/cert.pem" \
|
|
--o:ssl.ca_file_path="${abs_top_builddir}/etc/ca-chain.cert.pem" \
|
|
--o:admin_console.username=admin --o:admin_console.password=admin \
|
|
> "$tst_log" 2>&1 &
|
|
if test "z${SLEEPFORDEBUGGER}${SLEEPKITFORDEBUGGER}" != "z"; then
|
|
echo "sleeping for debugger"
|
|
sleep ${SLEEPFORDEBUGGER:-0}
|
|
sleep ${SLEEPKITFORDEBUGGER:-0}
|
|
fi
|
|
|
|
echo " executing test"
|
|
|
|
oldpath=`pwd`
|
|
cd "${abs_top_builddir}/test"
|
|
if eval ${trace} ./test ${verbose}; then
|
|
echo "Test run_test.sh passed."
|
|
echo ":test-result: PASS run_test.sh" >> $oldpath/$test_output
|
|
retval=0
|
|
else
|
|
echo ":test-result: FAIL run_test.sh" >> $oldpath/$test_output
|
|
retval=1
|
|
fi
|
|
|
|
if test "z${SLEEPFORDEBUGGER}${SLEEPKITFORDEBUGGER}" == "z"; then
|
|
echo "killing $!"
|
|
kill $!
|
|
fi
|
|
|
|
exit $retval
|
|
|
|
else # newer unit tests.
|
|
echo "Running $tst | $tst_log ...";
|
|
if ${trace} \
|
|
${abs_top_builddir}/loolwsd --o:sys_template_path="$systemplate_path" \
|
|
--o:child_root_path="$jails_path" \
|
|
--o:storage.filesystem[@allow]=true \
|
|
--o:logging.level=trace \
|
|
--o:ssl.key_file_path="${abs_top_builddir}/etc/key.pem" \
|
|
--o:ssl.cert_file_path="${abs_top_builddir}/etc/cert.pem" \
|
|
--o:ssl.ca_file_path="${abs_top_builddir}/etc/ca-chain.cert.pem" \
|
|
--o:admin_console.username=admin --o:admin_console.password=admin \
|
|
--unitlib="${abs_top_builddir}/test/.libs/$tst.so" 2> "$tst_log"; then
|
|
echo "Test $tst passed."
|
|
echo ":test-result: PASS $tst" >> $test_output
|
|
else
|
|
cat $tst_log
|
|
echo "============================================================="
|
|
echo "Test failed on unit: $tst re-run with:"
|
|
echo " $ gdb --args ${abs_top_builddir}/loolwsd --o:sys_template_path=\"$systemplate_path\" \\"
|
|
echo " --o:child_root_path=\"$jails_path\" \\"
|
|
echo " --o:storage.filesystem[@allow]=true \\"
|
|
echo " --o:logging.level=trace \\"
|
|
echo " --o:ssl.key_file_path=\"${abs_top_builddir}/etc/key.pem\" \\"
|
|
echo " --o:ssl.cert_file_path=\"${abs_top_builddir}/etc/cert.pem\" \\"
|
|
echo " --o:ssl.ca_file_path=\"${abs_top_builddir}/etc/ca-chain.cert.pem\" \\"
|
|
echo " --o:admin_console.username=admin --o:admin_console.password=admin \\"
|
|
echo " --unitlib=\"${abs_top_builddir}/test/.libs/$tst.so\""
|
|
echo ""
|
|
echo " $ less $tst_log # for detailed failure log files"
|
|
echo "============================================================="
|
|
echo ":test-result: FAIL $tst" >> $test_output
|
|
fi
|
|
fi
|
|
|
|
# vim:set shiftwidth=4 expandtab:
|