43 lines
1.3 KiB
Bash
Executable File
43 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Run the Python tests of the given Odoo modules.
|
|
#
|
|
# This script is meant to be executed *inside* an Elabore doodba image
|
|
# (docker.0k.io/mirror/odoo:rc_<version>-ELABORE-LIGHT), with a
|
|
# PostgreSQL service reachable at $PGHOST. The modules under test are
|
|
# read from the current working directory (the checked-out repository),
|
|
# which is prepended to the addons path so that the PR's code takes
|
|
# precedence over the modules already baked in the image.
|
|
#
|
|
# Usage: odoo-tests.sh <module1,module2,...>
|
|
|
|
set -euo pipefail
|
|
|
|
modules="${1:?usage: odoo-tests.sh <module1,module2,...>}"
|
|
|
|
export PGHOST=postgres
|
|
export PGUSER=odoo
|
|
export PGPASSWORD=odoopassword
|
|
export PGDATABASE="test_$(basename "$PWD" | tr '.-' '__')"
|
|
export WITHOUT_DEMO=all
|
|
export DB_FILTER='.*'
|
|
|
|
# Generate /opt/odoo/auto/odoo.conf from the environment and wait for
|
|
# the database to accept connections.
|
|
/opt/odoo/common/entrypoint
|
|
|
|
# Odoo test-tags format: "/module1,/module2" (one leading slash).
|
|
tags="/$(echo "$modules" | tr ',' ',/')"
|
|
|
|
exec odoo \
|
|
--config=/opt/odoo/auto/odoo.conf \
|
|
--max-cron-threads=0 \
|
|
--limit-time-real=10000 \
|
|
--workers=0 \
|
|
--test-enable \
|
|
--stop-after-init \
|
|
--addons-path="$PWD,/opt/odoo/auto/addons" \
|
|
-d "$PGDATABASE" \
|
|
-i "$modules" \
|
|
--test-tags "$tags"
|