mirror of https://github.com/apache/superset.git
tests: update test run doc and add some improvements (#10339)
* fix: update tests/run.sh README to pytest and some improvements * update docs * nit * fix doc
This commit is contained in:
parent
4529812a10
commit
e4c9c7364b
|
@ -24,38 +24,50 @@ so prior to using this script make sure to launch the dev containers.
|
||||||
|
|
||||||
You can use a different DB backend by defining `SUPERSET__SQLALCHEMY_DATABASE_URI` env var.
|
You can use a different DB backend by defining `SUPERSET__SQLALCHEMY_DATABASE_URI` env var.
|
||||||
|
|
||||||
|
This script will not install any dependencies for you, so you must be on an already set virtualenv
|
||||||
|
|
||||||
## Use:
|
## Use:
|
||||||
|
|
||||||
|
To show all supported switches:
|
||||||
|
```$bash
|
||||||
|
scripts/tests/run.sh --help
|
||||||
|
```
|
||||||
|
|
||||||
From the superset repo root directory:
|
From the superset repo root directory:
|
||||||
|
|
||||||
|
- Example run all tests:
|
||||||
|
```$bash
|
||||||
|
scripts/tests/run.sh
|
||||||
|
```
|
||||||
|
|
||||||
- Example run a single test module:
|
- Example run a single test module:
|
||||||
```$bash
|
```$bash
|
||||||
scripts/tests/run.sh tests.charts.api_tests
|
scripts/tests/run.sh --module tests/charts/api_tests.py
|
||||||
```
|
```
|
||||||
|
|
||||||
- Example run a single test:
|
- Example run a single test:
|
||||||
```$bash
|
```$bash
|
||||||
scripts/tests/run.sh tests.charts.api_tests:ChartApiTests.test_get_charts
|
scripts/tests/run.sh --module tests/charts/api_tests.py::TestChartApi::test_get_charts
|
||||||
```
|
```
|
||||||
|
|
||||||
- Example run a single test, without any init procedures. Init procedures include:
|
- Example run a single test, without any init procedures. Init procedures include:
|
||||||
resetting test database, db upgrade, superset init, loading example data. If your tests
|
resetting test database, db upgrade, superset init, loading example data. If your tests
|
||||||
are idempotent, after the first run, subsequent runs are really fast
|
are idempotent, after the first run, subsequent runs are really fast
|
||||||
```$bash
|
```$bash
|
||||||
scripts/tests/run.sh tests.charts.api_tests:ChartApiTests.test_get_charts --no-init
|
scripts/tests/run.sh --module tests/charts/api_tests.py::TestChartApi::test_get_charts --no-init
|
||||||
```
|
```
|
||||||
|
|
||||||
- Example for not recreating the test DB (will still run all the tests init procedures)
|
- Example for not recreating the test DB (will still run all the tests init procedures)
|
||||||
```$bash
|
```$bash
|
||||||
scripts/tests/run.sh tests.charts.api_tests:ChartApiTests.test_get_charts --no-reset-db
|
scripts/tests/run.sh --module tests/charts/api_tests.py::TestChartApi::test_get_charts --no-reset-db
|
||||||
```
|
```
|
||||||
|
|
||||||
- Example for not running tests just initialize the test DB (drop/create, upgrade and load examples)
|
- Example for not running tests just initialize the test DB (drop/create, upgrade and load examples)
|
||||||
```$bash
|
```$bash
|
||||||
scripts/tests/run.sh . --no-tests
|
scripts/tests/run.sh --no-tests
|
||||||
```
|
```
|
||||||
|
|
||||||
- Example for just resetting the tests DB
|
- Example for just resetting the tests DB
|
||||||
```$bash
|
```$bash
|
||||||
scripts/tests/run.sh . --reset-db
|
scripts/tests/run.sh --reset-db --no-tests
|
||||||
```
|
```
|
||||||
|
|
|
@ -59,19 +59,6 @@ function test_init() {
|
||||||
pytest -s tests/load_examples_test.py
|
pytest -s tests/load_examples_test.py
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if [[ "$#" -eq "0" ]]
|
|
||||||
then
|
|
||||||
echo "No argument suplied"
|
|
||||||
echo ------------------------
|
|
||||||
echo use:
|
|
||||||
echo "run.sh <test module name> [options]"
|
|
||||||
echo "[options]:"
|
|
||||||
echo "--no-init: Dont restart docker and no db migrations, superset init and test data"
|
|
||||||
echo "--no-reset-db: Recreates test database (DROP, CREATE)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Init global vars
|
# Init global vars
|
||||||
#
|
#
|
||||||
|
@ -83,14 +70,20 @@ export SUPERSET_CONFIG=${SUPERSET_CONFIG:-tests.superset_test_config}
|
||||||
RUN_INIT=1
|
RUN_INIT=1
|
||||||
RUN_RESET_DB=1
|
RUN_RESET_DB=1
|
||||||
RUN_TESTS=1
|
RUN_TESTS=1
|
||||||
TEST_MODULE="${1}"
|
TEST_MODULE="tests"
|
||||||
|
|
||||||
# Shift to pass the first cmd parameter for the test module
|
|
||||||
shift 1
|
|
||||||
|
|
||||||
PARAMS=""
|
PARAMS=""
|
||||||
while (( "$#" )); do
|
while (( "$#" )); do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
--help)
|
||||||
|
echo Switches:
|
||||||
|
echo --no-init : Will not, reset the test DB, superset init and load examples
|
||||||
|
echo --no-reset-db: Will not reset the test DB
|
||||||
|
echo --no-tests: Will not run any test, by default reset the DB, superset init and load_examples
|
||||||
|
echo --reset-db: Just resets the test DB, will not run any test
|
||||||
|
echo --module: Run a specific test module: --module tests/charts/api_tests.py for example
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
--no-init)
|
--no-init)
|
||||||
RUN_INIT=0
|
RUN_INIT=0
|
||||||
RUN_RESET_DB=0
|
RUN_RESET_DB=0
|
||||||
|
@ -109,6 +102,10 @@ while (( "$#" )); do
|
||||||
RUN_INIT=0
|
RUN_INIT=0
|
||||||
shift 1
|
shift 1
|
||||||
;;
|
;;
|
||||||
|
--module)
|
||||||
|
TEST_MODULE=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
--) # end argument parsing
|
--) # end argument parsing
|
||||||
shift
|
shift
|
||||||
break
|
break
|
||||||
|
@ -145,5 +142,5 @@ fi
|
||||||
|
|
||||||
if [ $RUN_TESTS -eq 1 ]
|
if [ $RUN_TESTS -eq 1 ]
|
||||||
then
|
then
|
||||||
pytest -s --ignore=load_examples_test "${TEST_MODULE}"
|
pytest -x -s --ignore=load_examples_test "${TEST_MODULE}"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue