Skip to content
Snippets Groups Projects
Commit 6714ed26 authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

SW-415: gracefully exit during tests

parent 13d39bb5
No related branches found
No related tags found
1 merge request!87Lsmr epic
#!/usr/bin/env python3 #!/usr/bin/env python3
import os import os
import sys import sys
import signal
def subscribe_to_signals():
# raise SignalException when a signal is caught so django will exit gracefully
class SignalException(Exception):
pass
def signal_handler(_s, _f):
raise SignalException("signal %s received..." % (_s,))
for s in [signal.SIGHUP, signal.SIGINT]:
signal.signal(s, signal_handler)
if __name__ == "__main__": if __name__ == "__main__":
# do subscribe to more signals than django does for proper exits during testing
if os.environ.get('LSMR_RAISE_ON_SIGNALS', "False").lower() in ["true", "1", "on"]:
subscribe_to_signals()
# normal django startup. Specify the DJANGO_SETTINGS_MODULE, and run it.
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lsmr.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lsmr.settings")
try: try:
from django.core.management import execute_from_command_line from django.core.management import execute_from_command_line
except ImportError as exc: except ImportError as exc:
......
...@@ -56,6 +56,7 @@ sleep 5 ...@@ -56,6 +56,7 @@ sleep 5
echo "Started Django test database server\n\n" echo "Started Django test database server\n\n"
# Run Django test instance # Run Django test instance
export LSMR_RAISE_ON_SIGNALS="True"
DJANGO_TEST_PORT=8777 DJANGO_TEST_PORT=8777
lsmr -p $DJANGO_TEST_PORT -C $DJANGO_TEST_DATABASE_NAME & lsmr -p $DJANGO_TEST_PORT -C $DJANGO_TEST_DATABASE_NAME &
PIDS="$! $PIDS" PIDS="$! $PIDS"
......
...@@ -56,6 +56,7 @@ sleep 5 ...@@ -56,6 +56,7 @@ sleep 5
echo "Started Django test database server\n\n" echo "Started Django test database server\n\n"
# Run Django test instance # Run Django test instance
export LSMR_RAISE_ON_SIGNALS="True"
DJANGO_TEST_PORT=8777 DJANGO_TEST_PORT=8777
lsmr -p $DJANGO_TEST_PORT -C $DJANGO_TEST_DATABASE_NAME & lsmr -p $DJANGO_TEST_PORT -C $DJANGO_TEST_DATABASE_NAME &
PIDS="$! $PIDS" PIDS="$! $PIDS"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment