diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2019-10-31 02:03:48 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2019-10-31 21:32:58 +0100 |
commit | 5b65461d686327ead0cb2a6d8493dfa9173d376c (patch) | |
tree | 34d3530bfb935bf010fb1d6511d8a20cd94550d7 /tests | |
parent | f8ad67e7fc8a38774dfb991489670672520fce55 (diff) |
add db_upgrade test
We have a database schema upgrade path, but so far nothing that verifies that
we don't break it. It almost seems like the user data weren't important to us!?
Add a db upgrade test:
- Create a db with an .sql dump taken from a db created with an old osmo-hlr,
producing DB schema version 0.
- Run osmo-hlr --db-upgrade --db-check
- Verify that the upgrade exited successfully.
- Verify that restarting with the upgraded DB works.
If python tests are enabled, also:
- create a new database using the new osmo-hlr (just built).
- replay a VTY transcript to create subscribers as in the old snapshot.
- replay some sql modifications as done in the old snapshot.
- Get a list of sorted table names,
- a list of their sorted columns with all their properties,
- and dump the table contents in a column- and value-sorted way.
- Compare the resulting dumps and error if there are any diffs.
(This is how I found the difference in the imei column that was fixed in
I68a00014a3d603fcba8781470bc5285f78b538d0)
Change-Id: I0961bab0e17cfde5b030576c5bc243c2b51d9dc4
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 5 | ||||
-rw-r--r-- | tests/db_upgrade/Makefile.am | 14 | ||||
-rw-r--r-- | tests/db_upgrade/create_subscribers.vty | 47 | ||||
-rw-r--r-- | tests/db_upgrade/create_subscribers_step2.sql | 6 | ||||
-rw-r--r-- | tests/db_upgrade/db_upgrade_test.err | 0 | ||||
-rw-r--r-- | tests/db_upgrade/db_upgrade_test.ok | 168 | ||||
-rwxr-xr-x | tests/db_upgrade/db_upgrade_test.sh | 83 | ||||
-rw-r--r-- | tests/db_upgrade/hlr_db_v0.sql | 80 | ||||
-rw-r--r-- | tests/db_upgrade/osmo-hlr.cfg | 6 | ||||
-rw-r--r-- | tests/testsuite.at | 7 |
10 files changed, 416 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 4da8ab1..357fbac 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -3,6 +3,7 @@ SUBDIRS = \ gsup_server \ db \ gsup \ + db_upgrade \ $(NULL) # The `:;' works around a Bash 3.2 bug when the output is not writeable. @@ -44,6 +45,7 @@ python-tests: # don't run vty and ctrl tests concurrently so that the ports don't conflict $(MAKE) vty-test $(MAKE) ctrl-test + $(MAKE) db-upgrade-equivalence-test else python-tests: echo "Not running python-based external tests (determined at configure-time)" @@ -81,6 +83,9 @@ ctrl-test: -rm -f $(CTRL_TEST_DB) -rm $(CTRL_TEST_DB)-* +db-upgrade-equivalence-test: + $(MAKE) -C db_upgrade upgrade-equivalence-test + check-local: atconfig $(TESTSUITE) $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) $(MAKE) $(AM_MAKEFLAGS) python-tests diff --git a/tests/db_upgrade/Makefile.am b/tests/db_upgrade/Makefile.am new file mode 100644 index 0000000..79136c9 --- /dev/null +++ b/tests/db_upgrade/Makefile.am @@ -0,0 +1,14 @@ +EXTRA_DIST = \ + db_upgrade_test.sh \ + db_upgrade_test.err \ + db_upgrade_test.ok \ + hlr_db_v0.sql \ + osmo-hlr.cfg \ + create_subscribers.vty \ + $(NULL) + +update_exp: + $(srcdir)/db_upgrade_test.sh $(srcdir) $(builddir) >"$(srcdir)/db_upgrade_test.ok" 2>"$(srcdir)/db_upgrade_test.err" + +upgrade-equivalence-test: + $(srcdir)/db_upgrade_test.sh $(srcdir) $(builddir) do-equivalence-test diff --git a/tests/db_upgrade/create_subscribers.vty b/tests/db_upgrade/create_subscribers.vty new file mode 100644 index 0000000..30eeba6 --- /dev/null +++ b/tests/db_upgrade/create_subscribers.vty @@ -0,0 +1,47 @@ +OsmoHLR> enable +OsmoHLR# subscriber imsi 123456789012345 create +% Created subscriber 123456789012345 + ID: 1 + IMSI: 123456789012345 + MSISDN: none +OsmoHLR# subscriber imsi 123456789012345 update msisdn 098765432109876 +% Updated subscriber IMSI='123456789012345' to MSISDN='098765432109876' +OsmoHLR# subscriber imsi 123456789012345 update aud2g comp128v1 ki BeefedCafeFaceAcedAddedDecadeFee +OsmoHLR# subscriber imsi 123456789012345 update aud3g milenage k C01ffedC1cadaeAc1d1f1edAcac1aB0a opc CededEffacedAceFacedBadFadedBeef +OsmoHLR# subscriber imsi 111111111 create +% Created subscriber 111111111 + ID: 2 + IMSI: 111111111 + MSISDN: none +OsmoHLR# subscriber imsi 222222222 create +% Created subscriber 222222222 + ID: 3 + IMSI: 222222222 + MSISDN: none +OsmoHLR# subscriber imsi 222222222 update msisdn 22222 +% Updated subscriber IMSI='222222222' to MSISDN='22222' +OsmoHLR# subscriber imsi 333333 create +% Created subscriber 333333 + ID: 4 + IMSI: 333333 + MSISDN: none +OsmoHLR# subscriber imsi 333333 update msisdn 3 +% Updated subscriber IMSI='333333' to MSISDN='3' +OsmoHLR# subscriber imsi 333333 update aud2g comp128v2 ki 33333333333333333333333333333333 +OsmoHLR# subscriber imsi 444444444444444 create +% Created subscriber 444444444444444 + ID: 5 + IMSI: 444444444444444 + MSISDN: none +OsmoHLR# subscriber imsi 444444444444444 update msisdn 4444 +% Updated subscriber IMSI='444444444444444' to MSISDN='4444' +OsmoHLR# subscriber imsi 444444444444444 update aud3g milenage k 44444444444444444444444444444444 op 44444444444444444444444444444444 +OsmoHLR# subscriber imsi 5555555 create +% Created subscriber 5555555 + ID: 6 + IMSI: 5555555 + MSISDN: none +OsmoHLR# subscriber imsi 5555555 update msisdn 55555555555555 +% Updated subscriber IMSI='5555555' to MSISDN='55555555555555' +OsmoHLR# subscriber imsi 5555555 update aud2g xor ki 55555555555555555555555555555555 +OsmoHLR# subscriber imsi 5555555 update aud3g milenage k 55555555555555555555555555555555 opc 55555555555555555555555555555555 diff --git a/tests/db_upgrade/create_subscribers_step2.sql b/tests/db_upgrade/create_subscribers_step2.sql new file mode 100644 index 0000000..7933e25 --- /dev/null +++ b/tests/db_upgrade/create_subscribers_step2.sql @@ -0,0 +1,6 @@ +update subscriber set vlr_number = 'MSC-1' where id = 1; +update subscriber set ms_purged_cs = 1 where id = 2; +update subscriber set ms_purged_ps = 1 where id = 3; +update subscriber set nam_cs = 0 where id = 4; +update subscriber set nam_ps = 0 where id = 5; +update subscriber set nam_cs = 0, nam_ps = 0 where id = 6; diff --git a/tests/db_upgrade/db_upgrade_test.err b/tests/db_upgrade/db_upgrade_test.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/tests/db_upgrade/db_upgrade_test.err diff --git a/tests/db_upgrade/db_upgrade_test.ok b/tests/db_upgrade/db_upgrade_test.ok new file mode 100644 index 0000000..bce3eb4 --- /dev/null +++ b/tests/db_upgrade/db_upgrade_test.ok @@ -0,0 +1,168 @@ +Creating db in schema version 0 + +Version 0 db: + +Table: auc_2g +name|type|notnull|dflt_value|pk +algo_id_2g|INTEGER|1||0 +ki|VARCHAR(32)|1||0 +subscriber_id|INTEGER|0||1 + +Table auc_2g contents: +algo_id_2g|ki|subscriber_id +1|BeefedCafeFaceAcedAddedDecadeFee|1 +2|33333333333333333333333333333333|4 +4|55555555555555555555555555555555|6 + +Table: auc_3g +name|type|notnull|dflt_value|pk +algo_id_3g|INTEGER|1||0 +ind_bitlen|INTEGER|1|5|0 +k|VARCHAR(32)|1||0 +op|VARCHAR(32)|0||0 +opc|VARCHAR(32)|0||0 +sqn|INTEGER|1|0|0 +subscriber_id|INTEGER|0||1 + +Table auc_3g contents: +algo_id_3g|ind_bitlen|k|op|opc|sqn|subscriber_id +5|5|C01ffedC1cadaeAc1d1f1edAcac1aB0a||CededEffacedAceFacedBadFadedBeef|0|1 +5|5|44444444444444444444444444444444|44444444444444444444444444444444||0|5 +5|5|55555555555555555555555555555555||55555555555555555555555555555555|0|6 + +Table: subscriber +name|type|notnull|dflt_value|pk +ggsn_number|VARCHAR(15)|0||0 +gmlc_number|VARCHAR(15)|0||0 +hlr_number|VARCHAR(15)|0||0 +id|INTEGER|0||1 +imeisv|VARCHAR|0||0 +imsi|VARCHAR(15)|1||0 +lmsi|INTEGER|0||0 +ms_purged_cs|BOOLEAN|1|0|0 +ms_purged_ps|BOOLEAN|1|0|0 +msisdn|VARCHAR(15)|0||0 +nam_cs|BOOLEAN|1|1|0 +nam_ps|BOOLEAN|1|1|0 +periodic_lu_tmr|INTEGER|0||0 +periodic_rau_tau_tmr|INTEGER|0||0 +sgsn_address|VARCHAR|0||0 +sgsn_number|VARCHAR(15)|0||0 +smsc_number|VARCHAR(15)|0||0 +vlr_number|VARCHAR(15)|0||0 + +Table subscriber contents: +ggsn_number|gmlc_number|hlr_number|id|imeisv|imsi|lmsi|ms_purged_cs|ms_purged_ps|msisdn|nam_cs|nam_ps|periodic_lu_tmr|periodic_rau_tau_tmr|sgsn_address|sgsn_number|smsc_number|vlr_number +|||1||123456789012345||0|0|098765432109876|1|1||||||MSC-1 +|||2||111111111||1|0||1|1|||||| +|||3||222222222||0|1|22222|1|1|||||| +|||4||333333||0|0|3|0|1|||||| +|||5||444444444444444||0|0|4444|1|0|||||| +|||6||5555555||0|0|55555555555555|0|0|||||| + +Table: subscriber_apn +name|type|notnull|dflt_value|pk +apn|VARCHAR(256)|1||0 +subscriber_id|INTEGER|0||0 + +Table subscriber_apn contents: + +Table: subscriber_multi_msisdn +name|type|notnull|dflt_value|pk +msisdn|VARCHAR(15)|1||0 +subscriber_id|INTEGER|0||0 + +Table subscriber_multi_msisdn contents: + +Launching osmo-hlr to upgrade db: +osmo-hlr --database $db --db-upgrade --db-check --config-file $srcdir/osmo-hlr.cfg +rc = 0 +DMAIN hlr starting +DDB using database: <PATH>test.db +DDB Database <PATH>test.db' has HLR DB schema version 0 +DDB Database <PATH>test.db' has been upgraded to HLR DB schema version 2 +DMAIN Cmdline option --db-check: Database was opened successfully, quitting. + +Resulting db: + +Table: auc_2g +name|type|notnull|dflt_value|pk +algo_id_2g|INTEGER|1||0 +ki|VARCHAR(32)|1||0 +subscriber_id|INTEGER|0||1 + +Table auc_2g contents: +algo_id_2g|ki|subscriber_id +1|BeefedCafeFaceAcedAddedDecadeFee|1 +2|33333333333333333333333333333333|4 +4|55555555555555555555555555555555|6 + +Table: auc_3g +name|type|notnull|dflt_value|pk +algo_id_3g|INTEGER|1||0 +ind_bitlen|INTEGER|1|5|0 +k|VARCHAR(32)|1||0 +op|VARCHAR(32)|0||0 +opc|VARCHAR(32)|0||0 +sqn|INTEGER|1|0|0 +subscriber_id|INTEGER|0||1 + +Table auc_3g contents: +algo_id_3g|ind_bitlen|k|op|opc|sqn|subscriber_id +5|5|C01ffedC1cadaeAc1d1f1edAcac1aB0a||CededEffacedAceFacedBadFadedBeef|0|1 +5|5|44444444444444444444444444444444|44444444444444444444444444444444||0|5 +5|5|55555555555555555555555555555555||55555555555555555555555555555555|0|6 + +Table: subscriber +name|type|notnull|dflt_value|pk +ggsn_number|VARCHAR(15)|0||0 +gmlc_number|VARCHAR(15)|0||0 +hlr_number|VARCHAR(15)|0||0 +id|INTEGER|0||1 +imei|VARCHAR(14)|0||0 +imeisv|VARCHAR|0||0 +imsi|VARCHAR(15)|1||0 +last_lu_seen|TIMESTAMP|0|NULL|0 +lmsi|INTEGER|0||0 +ms_purged_cs|BOOLEAN|1|0|0 +ms_purged_ps|BOOLEAN|1|0|0 +msisdn|VARCHAR(15)|0||0 +nam_cs|BOOLEAN|1|1|0 +nam_ps|BOOLEAN|1|1|0 +periodic_lu_tmr|INTEGER|0||0 +periodic_rau_tau_tmr|INTEGER|0||0 +sgsn_address|VARCHAR|0||0 +sgsn_number|VARCHAR(15)|0||0 +smsc_number|VARCHAR(15)|0||0 +vlr_number|VARCHAR(15)|0||0 + +Table subscriber contents: +ggsn_number|gmlc_number|hlr_number|id|imei|imeisv|imsi|last_lu_seen|lmsi|ms_purged_cs|ms_purged_ps|msisdn|nam_cs|nam_ps|periodic_lu_tmr|periodic_rau_tau_tmr|sgsn_address|sgsn_number|smsc_number|vlr_number +|||1|||123456789012345|||0|0|098765432109876|1|1||||||MSC-1 +|||2|||111111111|||1|0||1|1|||||| +|||3|||222222222|||0|1|22222|1|1|||||| +|||4|||333333|||0|0|3|0|1|||||| +|||5|||444444444444444|||0|0|4444|1|0|||||| +|||6|||5555555|||0|0|55555555555555|0|0|||||| + +Table: subscriber_apn +name|type|notnull|dflt_value|pk +apn|VARCHAR(256)|1||0 +subscriber_id|INTEGER|0||0 + +Table subscriber_apn contents: + +Table: subscriber_multi_msisdn +name|type|notnull|dflt_value|pk +msisdn|VARCHAR(15)|1||0 +subscriber_id|INTEGER|0||0 + +Table subscriber_multi_msisdn contents: + +Verify that osmo-hlr can open it: +osmo-hlr --database $db --db-check --config-file $srcdir/osmo-hlr.cfg +rc = 0 +DMAIN hlr starting +DDB using database: <PATH>test.db +DDB Database <PATH>test.db' has HLR DB schema version 2 +DMAIN Cmdline option --db-check: Database was opened successfully, quitting. diff --git a/tests/db_upgrade/db_upgrade_test.sh b/tests/db_upgrade/db_upgrade_test.sh new file mode 100755 index 0000000..bf56c56 --- /dev/null +++ b/tests/db_upgrade/db_upgrade_test.sh @@ -0,0 +1,83 @@ +#!/bin/sh +srcdir="${1:-.}" +builddir="${2:-.}" +do_equivalence_test="$3" + +set -e + +db="$builddir/test.db" +osmo_hlr="$builddir/../../src/osmo-hlr" +cfg="$srcdir/osmo-hlr.cfg" + +dump_sorted_schema(){ + db_file="$1" + tables="$(sqlite3 "$db_file" "SELECT name FROM sqlite_master WHERE type = 'table' order by name")" + for table in $tables; do + echo + echo "Table: $table" + sqlite3 -header "$db_file" "SELECT name,type,\"notnull\",dflt_value,pk FROM PRAGMA_TABLE_INFO('$table') order by name;" + echo + echo "Table $table contents:" + columns="$(sqlite3 "$db_file" "SELECT name FROM PRAGMA_TABLE_INFO('$table') order by name;")" + sqlite3 -header "$db_file" "SELECT $(echo $columns | sed 's/ /,/g') from $table;" + done +} + +rm -f "$db" +echo "Creating db in schema version 0" +sqlite3 "$db" < "$srcdir/hlr_db_v0.sql" + +echo +echo "Version 0 db:" +dump_sorted_schema "$db" + +set +e + +echo +echo "Launching osmo-hlr to upgrade db:" +echo osmo-hlr --database '$db' --db-upgrade --db-check --config-file '$srcdir/osmo-hlr.cfg' +"$osmo_hlr" --database "$db" --db-upgrade --db-check --config-file "$cfg" >log 2>&1 +echo "rc = $?" +cat log | sed 's@[^ "]*/@<PATH>@g' + +echo +echo "Resulting db:" +dump_sorted_schema "$db" + +echo +echo "Verify that osmo-hlr can open it:" +echo osmo-hlr --database '$db' --db-check --config-file '$srcdir/osmo-hlr.cfg' +"$osmo_hlr" --database "$db" --db-check --config-file "$cfg" >log 2>&1 +echo "rc = $?" +cat log | sed 's@[^ "]*/@<PATH>@g' + +if [ -n "$do_equivalence_test" ]; then + # this part requires osmo_interact_vty.py, so this test is not part of the normal run + set -e -x + mint_db="$builddir/mint.db" + rm -f "$mint_db" + + osmo_verify_transcript_vty.py -v \ + -n OsmoHLR -p 4258 \ + -r "$osmo_hlr -c $cfg -l $mint_db" \ + "$srcdir/create_subscribers.vty" + sqlite3 "$mint_db" < "$srcdir/create_subscribers_step2.sql" + + set +x + test_dump="$builddir/test.dump" + mint_dump="$builddir/mint.dump" + + dump_sorted_schema "$db" > "$test_dump" + dump_sorted_schema "$mint_db" > "$mint_dump" + + echo + echo "Newly created sorted schema is:" + cat "$mint_dump" + echo + echo "Diff to upgraded schema:" + diff -u "$mint_dump" "$test_dump" + echo "rc=$?" +fi + +rm -f log +rm -f "$db" diff --git a/tests/db_upgrade/hlr_db_v0.sql b/tests/db_upgrade/hlr_db_v0.sql new file mode 100644 index 0000000..46c985d --- /dev/null +++ b/tests/db_upgrade/hlr_db_v0.sql @@ -0,0 +1,80 @@ +PRAGMA foreign_keys=OFF; +BEGIN TRANSACTION; +CREATE TABLE subscriber ( +-- OsmoHLR's DB scheme is modelled roughly after TS 23.008 version 13.3.0 + id INTEGER PRIMARY KEY, + -- Chapter 2.1.1.1 + imsi VARCHAR(15) UNIQUE NOT NULL, + -- Chapter 2.1.2 + msisdn VARCHAR(15) UNIQUE, + -- Chapter 2.2.3: Most recent / current IMEI + imeisv VARCHAR, + -- Chapter 2.4.5 + vlr_number VARCHAR(15), + -- Chapter 2.4.6 + hlr_number VARCHAR(15), + -- Chapter 2.4.8.1 + sgsn_number VARCHAR(15), + -- Chapter 2.13.10 + sgsn_address VARCHAR, + -- Chapter 2.4.8.2 + ggsn_number VARCHAR(15), + -- Chapter 2.4.9.2 + gmlc_number VARCHAR(15), + -- Chapter 2.4.23 + smsc_number VARCHAR(15), + -- Chapter 2.4.24 + periodic_lu_tmr INTEGER, + -- Chapter 2.13.115 + periodic_rau_tau_tmr INTEGER, + -- Chapter 2.1.1.2: network access mode + nam_cs BOOLEAN NOT NULL DEFAULT 1, + nam_ps BOOLEAN NOT NULL DEFAULT 1, + -- Chapter 2.1.8 + lmsi INTEGER, + -- The below purged flags might not even be stored non-volatile, + -- refer to TS 23.012 Chapter 3.6.1.4 + -- Chapter 2.7.5 + ms_purged_cs BOOLEAN NOT NULL DEFAULT 0, + -- Chapter 2.7.6 + ms_purged_ps BOOLEAN NOT NULL DEFAULT 0 +); +INSERT INTO subscriber VALUES(1,'123456789012345','098765432109876',NULL,'MSC-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,0,0); +INSERT INTO subscriber VALUES(2,'111111111',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,1,0); +INSERT INTO subscriber VALUES(3,'222222222','22222',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,NULL,0,1); +INSERT INTO subscriber VALUES(4,'333333','3',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,1,NULL,0,0); +INSERT INTO subscriber VALUES(5,'444444444444444','4444',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0,NULL,0,0); +INSERT INTO subscriber VALUES(6,'5555555','55555555555555',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,NULL,0,0); +CREATE TABLE subscriber_apn ( + subscriber_id INTEGER, -- subscriber.id + apn VARCHAR(256) NOT NULL +); +CREATE TABLE subscriber_multi_msisdn ( +-- Chapter 2.1.3 + subscriber_id INTEGER, -- subscriber.id + msisdn VARCHAR(15) NOT NULL +); +CREATE TABLE auc_2g ( + subscriber_id INTEGER PRIMARY KEY, -- subscriber.id + algo_id_2g INTEGER NOT NULL, -- enum osmo_auth_algo value + ki VARCHAR(32) NOT NULL -- hex string: subscriber's secret key (128bit) +); +INSERT INTO auc_2g VALUES(1,1,'BeefedCafeFaceAcedAddedDecadeFee'); +INSERT INTO auc_2g VALUES(4,2,'33333333333333333333333333333333'); +INSERT INTO auc_2g VALUES(6,4,'55555555555555555555555555555555'); +CREATE TABLE auc_3g ( + subscriber_id INTEGER PRIMARY KEY, -- subscriber.id + algo_id_3g INTEGER NOT NULL, -- enum osmo_auth_algo value + k VARCHAR(32) NOT NULL, -- hex string: subscriber's secret key (128bit) + op VARCHAR(32), -- hex string: operator's secret key (128bit) + opc VARCHAR(32), -- hex string: derived from OP and K (128bit) + sqn INTEGER NOT NULL DEFAULT 0, -- sequence number of key usage + -- nr of index bits at lower SQN end + ind_bitlen INTEGER NOT NULL DEFAULT 5 +); +INSERT INTO auc_3g VALUES(1,5,'C01ffedC1cadaeAc1d1f1edAcac1aB0a',NULL,'CededEffacedAceFacedBadFadedBeef',0,5); +INSERT INTO auc_3g VALUES(5,5,'44444444444444444444444444444444','44444444444444444444444444444444',NULL,0,5); +INSERT INTO auc_3g VALUES(6,5,'55555555555555555555555555555555',NULL,'55555555555555555555555555555555',0,5); +CREATE UNIQUE INDEX idx_subscr_imsi ON subscriber (imsi) +; +COMMIT; diff --git a/tests/db_upgrade/osmo-hlr.cfg b/tests/db_upgrade/osmo-hlr.cfg new file mode 100644 index 0000000..7fb12c1 --- /dev/null +++ b/tests/db_upgrade/osmo-hlr.cfg @@ -0,0 +1,6 @@ +log stderr + logging level db notice + logging print category-hex 0 + logging print file 0 + logging print category 1 + logging color 0 diff --git a/tests/testsuite.at b/tests/testsuite.at index 70ae7ae..a8efe42 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -36,3 +36,10 @@ cat $abs_srcdir/db/db_test.err > experr sqlite3 db_test.db < $abs_top_srcdir/sql/hlr.sql AT_CHECK([$abs_top_builddir/tests/db/db_test], [], [expout], [experr]) AT_CLEANUP + +AT_SETUP([db_upgrade]) +AT_KEYWORDS([db_upgrade]) +cat $abs_srcdir/db_upgrade/db_upgrade_test.ok > expout +cat $abs_srcdir/db_upgrade/db_upgrade_test.err > experr +AT_CHECK([$abs_srcdir/db_upgrade/db_upgrade_test.sh $abs_srcdir/db_upgrade $abs_builddir/db_upgrade], [], [expout], [experr]) +AT_CLEANUP |