mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 20:04:50 +00:00
CI: Add options to initialize and cleanup database to runTestsuite.sh
Change-Id: I352333233bab5377723bf37d490ba84fc55bc853
This commit is contained in:
@@ -32,7 +32,7 @@
|
|||||||
{
|
{
|
||||||
"name": "real",
|
"name": "real",
|
||||||
"dir": "tests/CI/output/realtime",
|
"dir": "tests/CI/output/realtime",
|
||||||
"runTestsuiteOptions": "--realtime",
|
"runTestsuiteOptions": "--realtime --initialize-db --cleanup-db",
|
||||||
"testcmd": " -t tests/channels/pjsip -G realtime-incompatible"
|
"testcmd": " -t tests/channels/pjsip -G realtime-incompatible"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@@ -9,7 +9,7 @@ pushd $TESTSUITE_DIR
|
|||||||
./cleanup-test-remnants.sh
|
./cleanup-test-remnants.sh
|
||||||
|
|
||||||
if [ $REALTIME -eq 1 ] ; then
|
if [ $REALTIME -eq 1 ] ; then
|
||||||
$CIDIR/setupRealtime.sh
|
$CIDIR/setupRealtime.sh --initialize-db=${INITIALIZE_DB:?0}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export PYTHONPATH=./lib/python/
|
export PYTHONPATH=./lib/python/
|
||||||
@@ -17,7 +17,7 @@ echo "Running tests ${TESTSUITE_COMMAND}"
|
|||||||
./runtests.py --cleanup ${TESTSUITE_COMMAND} | contrib/scripts/pretty_print --no-color --no-timer --term-width=120 --show-errors || :
|
./runtests.py --cleanup ${TESTSUITE_COMMAND} | contrib/scripts/pretty_print --no-color --no-timer --term-width=120 --show-errors || :
|
||||||
|
|
||||||
if [ $REALTIME -eq 1 ] ; then
|
if [ $REALTIME -eq 1 ] ; then
|
||||||
$CIDIR/teardownRealtime.sh
|
$CIDIR/teardownRealtime.sh --cleanup-db=${CLEANUP_DB:?0}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f core* ] ; then
|
if [ -f core* ] ; then
|
||||||
|
@@ -1,9 +1,114 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
CIDIR=$(dirname $(readlink -fn $0))
|
CIDIR=$(dirname $(readlink -fn $0))
|
||||||
|
INITIALIZE_DB=0
|
||||||
source $CIDIR/ci.functions
|
source $CIDIR/ci.functions
|
||||||
|
ASTTOP=$(readlink -fn $CIDIR/../../)
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
POSTGRES_PID=`pidof postgres || : `
|
||||||
|
|
||||||
|
if [ -z "$POSTGRES_PID" ] ; then
|
||||||
|
if [ -x /usr/local/bin/postgresql-start ] ; then
|
||||||
|
/usr/local/bin/postgresql-start
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
POSTGRES_PID=`pidof postgres || : `
|
||||||
|
if [ -z "$POSTGRES_PID" ] ; then
|
||||||
|
echo "Postgres isn't running. It must be started manually before this test can continue."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $INITIALIZE_DB -gt 0 ] ; then
|
||||||
|
echo "(re)Initializing Database"
|
||||||
|
|
||||||
|
sudo -u postgres dropdb -e asterisk_test >/dev/null 2>&1 || :
|
||||||
|
sudo -u postgres dropuser -e asterisk_test >/dev/null 2>&1 || :
|
||||||
|
sudo -u postgres createuser --username=postgres -RDIElS asterisk_test
|
||||||
|
sudo -u postgres createdb --username=postgres -E UTF-8 -O asterisk_test asterisk_test
|
||||||
|
|
||||||
|
echo "Configuring ODBC"
|
||||||
|
|
||||||
|
sudo odbcinst -u -d -n "PostgreSQL-Asterisk-Test"
|
||||||
|
|
||||||
|
sudo odbcinst -i -d -n "PostgreSQL-Asterisk-Test" -f /dev/stdin <<-EOF
|
||||||
|
[PostgreSQL-Asterisk-Test]
|
||||||
|
Description=PostgreSQL ODBC driver (Unicode version)
|
||||||
|
Driver=psqlodbcw.so
|
||||||
|
Setup=libodbcpsqlS.so
|
||||||
|
Debug=0
|
||||||
|
CommLog=1
|
||||||
|
UsageCount=1
|
||||||
|
EOF
|
||||||
|
|
||||||
|
sudo odbcinst -u -s -l -n asterisk-connector-test
|
||||||
|
sudo odbcinst -i -s -l -n asterisk-connector-test -f /dev/stdin <<-EOF
|
||||||
|
[asterisk-connector-test]
|
||||||
|
Description = PostgreSQL connection to 'asterisk' database
|
||||||
|
Driver = PostgreSQL-Asterisk-Test
|
||||||
|
Database = asterisk_test
|
||||||
|
Servername = 127.0.0.1
|
||||||
|
UserName = asterisk_test
|
||||||
|
Port = 5432
|
||||||
|
Protocol = 9.1
|
||||||
|
ReadOnly = No
|
||||||
|
RowVersioning = No
|
||||||
|
ShowSystemTables = No
|
||||||
|
ShowOldColumn = No
|
||||||
|
FakeOldIndex = No
|
||||||
|
ConnSettings =
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat >/tmp/config.ini <<-EOF
|
||||||
|
[alembic]
|
||||||
|
script_location = config
|
||||||
|
sqlalchemy.url = postgresql://asterisk_test@localhost/asterisk_test
|
||||||
|
|
||||||
|
[loggers]
|
||||||
|
keys = root,sqlalchemy,alembic
|
||||||
|
|
||||||
|
[handlers]
|
||||||
|
keys = console
|
||||||
|
|
||||||
|
[formatters]
|
||||||
|
keys = generic
|
||||||
|
|
||||||
|
[logger_root]
|
||||||
|
level = WARN
|
||||||
|
handlers = console
|
||||||
|
qualname =
|
||||||
|
|
||||||
|
[logger_sqlalchemy]
|
||||||
|
level = WARN
|
||||||
|
handlers =
|
||||||
|
qualname = sqlalchemy.engine
|
||||||
|
|
||||||
|
[logger_alembic]
|
||||||
|
level = INFO
|
||||||
|
handlers =
|
||||||
|
qualname = alembic
|
||||||
|
|
||||||
|
[handler_console]
|
||||||
|
class = StreamHandler
|
||||||
|
args = (sys.stderr,)
|
||||||
|
level = NOTSET
|
||||||
|
formatter = generic
|
||||||
|
|
||||||
|
[formatter_generic]
|
||||||
|
format = %(levelname)-5.5s [%(name)s] %(message)s
|
||||||
|
datefmt = %H:%M:%S
|
||||||
|
EOF
|
||||||
|
|
||||||
|
pushd $ASTTOP/contrib/ast-db-manage
|
||||||
|
|
||||||
|
psql --username=asterisk_test --host=localhost --db=asterisk_test --command='DROP OWNED BY asterisk_test CASCADE'
|
||||||
|
alembic -c /tmp/config.ini upgrade head
|
||||||
|
rm -rf /tmp/config.ini || :
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
cp test-config.yaml test-config.orig.yaml
|
cp test-config.yaml test-config.orig.yaml
|
||||||
|
|
||||||
cat >test-config.yaml <<-EOF
|
cat >test-config.yaml <<-EOF
|
||||||
@@ -65,59 +170,10 @@ cat >test-config.yaml <<-EOF
|
|||||||
config-section: realtime-config
|
config-section: realtime-config
|
||||||
|
|
||||||
realtime-config:
|
realtime-config:
|
||||||
username: "asterisk"
|
username: "asterisk_test"
|
||||||
|
password: "asterisk_test"
|
||||||
host: "localhost"
|
host: "localhost"
|
||||||
db: "asterisk"
|
db: "asterisk_test"
|
||||||
dsn: "asterisk-connector"
|
dsn: "asterisk-connector-test"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
ASTTOP=$(readlink -fn $CIDIR/../../)
|
|
||||||
|
|
||||||
cat >/tmp/config.ini <<-EOF
|
|
||||||
[alembic]
|
|
||||||
script_location = config
|
|
||||||
sqlalchemy.url = postgresql://asterisk@localhost/asterisk
|
|
||||||
|
|
||||||
[loggers]
|
|
||||||
keys = root,sqlalchemy,alembic
|
|
||||||
|
|
||||||
[handlers]
|
|
||||||
keys = console
|
|
||||||
|
|
||||||
[formatters]
|
|
||||||
keys = generic
|
|
||||||
|
|
||||||
[logger_root]
|
|
||||||
level = WARN
|
|
||||||
handlers = console
|
|
||||||
qualname =
|
|
||||||
|
|
||||||
[logger_sqlalchemy]
|
|
||||||
level = WARN
|
|
||||||
handlers =
|
|
||||||
qualname = sqlalchemy.engine
|
|
||||||
|
|
||||||
[logger_alembic]
|
|
||||||
level = INFO
|
|
||||||
handlers =
|
|
||||||
qualname = alembic
|
|
||||||
|
|
||||||
[handler_console]
|
|
||||||
class = StreamHandler
|
|
||||||
args = (sys.stderr,)
|
|
||||||
level = NOTSET
|
|
||||||
formatter = generic
|
|
||||||
|
|
||||||
[formatter_generic]
|
|
||||||
format = %(levelname)-5.5s [%(name)s] %(message)s
|
|
||||||
datefmt = %H:%M:%S
|
|
||||||
EOF
|
|
||||||
|
|
||||||
pushd $ASTTOP/contrib/ast-db-manage
|
|
||||||
if [ -x /usr/local/bin/postgresql-start ] ; then
|
|
||||||
/usr/local/bin/postgresql-start
|
|
||||||
fi
|
|
||||||
psql --username=asterisk --host=localhost --db=asterisk --command='DROP OWNED BY asterisk CASCADE'
|
|
||||||
alembic -c /tmp/config.ini upgrade head
|
|
||||||
rm -rf /tmp/config.ini || :
|
|
||||||
popd
|
|
||||||
|
@@ -1,6 +1,12 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
CIDIR=$(dirname $(readlink -fn $0))
|
CIDIR=$(dirname $(readlink -fn $0))
|
||||||
|
CLEANUP_DB=0
|
||||||
source $CIDIR/ci.functions
|
source $CIDIR/ci.functions
|
||||||
|
|
||||||
cp test-config.orig.yaml test-config.yaml
|
cp test-config.orig.yaml test-config.yaml
|
||||||
psql --username=asterisk --host=localhost --db=asterisk --command='DROP OWNED BY asterisk CASCADE'
|
if [ $CLEANUP_DB -gt 0 ] ; then
|
||||||
|
sudo -u postgres dropdb -e asterisk_test >/dev/null 2>&1 || :
|
||||||
|
sudo -u postgres dropuser -e asterisk_test >/dev/null 2>&1 || :
|
||||||
|
sudo odbcinst -u -d -n "PostgreSQL-Asterisk-Test"
|
||||||
|
sudo odbcinst -u -s -l -n "asterisk-connector-test"
|
||||||
|
fi
|
||||||
|
Reference in New Issue
Block a user