# # rename_file "tests/t_migrate_schema.at" # to "tests/t_migrate_rosterify.at" # # add_file "tests/t_migrate_schema.at" # # patch "tests/t_migrate_rosterify.at" # from [be3ab9479b942b36b7b997abfa21f47e7457d78b] # to [43d0d6005bb4974ed85fd25215da02c6d1228cb5] # # patch "tests/t_migrate_schema.at" # from [] # to [4858f6ec24ce7ec5dcd4eac0a05f07e4aec4b070] # # patch "testsuite.at" # from [055fd836fe919f0b6203ae0a3b17dd20e48f6043] # to [202e5f47a25df1d44e45e28f31aa66e4e94120a4] # ======================================================================== --- tests/t_migrate_rosterify.at be3ab9479b942b36b7b997abfa21f47e7457d78b +++ tests/t_migrate_rosterify.at 43d0d6005bb4974ed85fd25215da02c6d1228cb5 @@ -1,28 +1,17 @@ -AT_SETUP([schema migration]) +AT_SETUP([migrate+rosterify]) MONOTONE_SETUP NEED_UNGZB64 -# This test ensures that 'monotone migrate' can take any old-format -# database and bring it forward to the current time; it is basically a -# compatibility test. We actually don't test against old-format -# databases directly, because some old-format databases can't be read -# at all by a modern monotone -- you have to do a dump/load first. So -# instead we store pre-dumped old-format databases. So technically -# we're not checking that 'db migrate' can handle things, we're just -# checking that 'dump | load; db migrate' can handle things. But that -# should be good enough. +# This test takes databases in all the old pre-roster formats, and +# checks that migrating them forward then rosterifying them works. -# This means that every time the database schema is changed, you need -# to add a new piece to this test, for the new schema. The way you do -# this is to run this test with the -d option, like so: -# $ ./testsuite AUTOTEST_PATH=. -d 73 -# this will cause autotest to leave behind the temporary files the -# test generates. You want 'testsuite.dir/073/latest.db.dump'. Gzip -# it, base64 it, and stick it in this file with the id of its schema. -# (E.g., gzip -c latest.db.dump | mimencode > foo, then copy the -# contents of foo into this file. Make sure when you do that that you -# put a newline between the end of the base64'd text and the closing -# ], or autotest will get very weirdly confused.) +# We actually don't test against old-format databases directly, +# because some old-format databases can't be read at all by a modern +# monotone -- you have to do a dump/load first. So instead we store +# pre-dumped old-format databases. So technically we're not checking +# that 'db migrate' can handle things, we're just checking that 'dump +# | load; db migrate' can handle things. But that should be good +# enough. ###################################################################### ## Do not touch this code; you'll have to regenerate all the test @@ -116,6 +105,8 @@ AT_CHECK(QGREP($1 stdout)) # now do the actual migration AT_CHECK(MONOTONE --db=$1.db db migrate, [], [ignore], [ignore]) +# and the rosterify +AT_CHECK(MONOTONE --db=$1.db db rosterify, [], [ignore], [ignore]) CHECK_SAME_DB_CONTENTS($1.db, latest.db) ]) ======================================================================== --- tests/t_migrate_schema.at +++ tests/t_migrate_schema.at 4858f6ec24ce7ec5dcd4eac0a05f07e4aec4b070 @@ -0,0 +1,277 @@ +AT_SETUP([schema migration]) +MONOTONE_SETUP +NEED_UNGZB64 + +# This test ensures that 'monotone migrate' can take any old-format +# database and bring it forward to the current time; it is basically a +# compatibility test. We actually don't test against old-format +# databases directly, because some old-format databases can't be read +# at all by a modern monotone -- you have to do a dump/load first. So +# instead we store pre-dumped old-format databases. So technically +# we're not checking that 'db migrate' can handle things, we're just +# checking that 'dump | load; db migrate' can handle things. But that +# should be good enough. + +# This means that every time the database schema is changed, you need +# to add a new piece to this test, for the new schema. The way you do +# this is to run this test with the -d option, like so: +# $ ./testsuite AUTOTEST_PATH=. -d 73 +# this will cause autotest to leave behind the temporary files the +# test generates. You want 'testsuite.dir/073/latest.db.dump'. Gzip +# it, base64 it, and stick it in this file with the id of its schema. +# (E.g., gzip -c latest.db.dump | mimencode > foo, then copy the +# contents of foo into this file. Make sure when you do that that you +# put a newline between the end of the base64'd text and the closing +# ], or autotest will get very weirdly confused.) + +###################################################################### +## Do not touch this code; you'll have to regenerate all the test +## databases if you do! +###################################################################### + +# We don't want the standard db, we want full control ourselves +AT_CHECK(rm -f test.db) +AT_CHECK(rm -r keys/) +AT_CHECK(MONOTONE db init) + +# Put some random keys in, with and without corresponding private keys +AT_DATA(migrate_keys, [@<:@pubkey address@hidden@:>@ +MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC54vVjrrqYoTfPTgWm6JpuL+kOERcN2OSc +BsWq6cb4Wm3nlymwVqJJywq6cbfygUYwmqyiRLPxRosfLGu228AhEzaM4JbAH1pgg7CwvvVd +fHRXNAXEMgO89gBjkkecxLi4U/T67DrLjkRPAilCgWLZNv8YeOG9XAPegWyr7hNA9wIBEQ== +@<:@end@:>@ +@<:@keypair address@hidden@:>@ +MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQCfN/cAMabgb6T7m8ksGnpQ7LO6hOdnc/7V +yivrRGtmpwSItljht1bmgLQF37KiSPoMEDUb1stfKxaMsYiy8iTyoQ+M2EVFP37n2rtnNZ0H +oVcQd2sRsCerQFh9nslRPymlkQXUlOiNFN6RlFNcdjkucqNe+YorFX21EYw7XuT5XwIBEQ==# +MIICyTBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQIefgT/1vcuRoCAggAAgEYMBQG +CCqGSIb3DQMHBAjBYTCc+TuEIQSCAoDbSxK5UeaBREeMlP8ZBFihsxyapmrUs/ZYbieJIq+j +ZQJ+OX15hzpbk2/jqfUgYaV7uFBf8JVglWLw6SfQe3KrvFEH1K3FsIIVf2SzEvERiWUd9YuT +P6pxTwT0zUbyiKQJl+43BSYb8UWRBOsuAAJXUJ1KPRSd9BYSvysmc1CSJd+6TKsxCSH+3bFx +gH07FOzE/Q20bv8duk8AcM+9X/0Ob8hfW8Nt5/QSrc/fdutMKPrJOIaQRvOa9wulXbbmn28E +uQd8+21t22QvMPif/39VwvbDpX6a77Rg1ZOL0o2pFvpObmMnwTMAKq6ayJU+qhNpXh5T5HOw +8jUYt5GU2YCaxMczFvJousYi+5lN+rldwIxMyx9Z3pFFnbxYI5n9VuJUnqz0ZlCsf785/NXy +gZaYt7HCKgnCw4jUEK9aAqHIzsJCNOvM60dW92ZyhU6iycs9uzlW87hWC3mwEG518JShdAyX +hk0LhprJd4OEj/LJarLaTveePkFWJm4XyP5R+ByJgWOVqPdn7ILl2rRRlmpIsyTzBisOf/Aw +DF3oO2zlOPSCtPgVblQnUujuhrWy4/uldwSQC+78klzmcNG4z6UTDkThUiAKMoT27z9AOR3a +qv7e+C2ExR7ykk9lRz4836i4wMJddw5d1+AARpxGjidw5FjaTRss6NLB0k9Wo7fChFIlEjYc +N+BGMiMbkGiXLFtATQKEDqx/kDAlecN0FpljC5g6x6FYHxouaulEY0L7RkYSfVUvKQU2r6Lu +vTlEEZeNPdRtYwOz4ogqysHgZzDmbJ/AOt23u5R+O+vipNaYpv0S/vlGMJPtj2TcpgIn2ooZ +KLqSDA8igs89M3oRnyvz +@<:@end@:>@ +]) +AT_CHECK(MONOTONE read < migrate_keys, [], [ignore], [ignore]) + +ADD_FILE(testfile1, [f1v1 +]) +ADD_FILE(testfile2, [f2v1 +]) +COMMIT(testbranch1 --date="1999-01-01T12:00:00") +REV=`BASE_REVISION` + +AT_CHECK(MONOTONE cert $REV somekey somevalue, [], [ignore], [ignore]) + +SET_FILE(testfile1, [f1v2 +]) +ADD_FILE(testfile3, [f3v1 +]) +COMMIT(testbranch2 --date="2000-01-01T12:00:00") + +REVERT_TO($REV) + +SET_FILE(testfile2, [f2v2 +]) +ADD_FILE(testfile4, [f4v1 +]) +COMMIT(testbranch1 --date="2001-01-01T12:00:00") + +AT_CHECK(MONOTONE propagate --date="2002-01-01T12:00:00" testbranch2 testbranch1, [], [ignore], [ignore]) +AT_CHECK(MONOTONE update, [], [ignore], [ignore]) + +AT_CHECK(MONOTONE drop testfile1, [], [ignore], [ignore]) +SET_FILE(testfile4, [f4v2 +]) +COMMIT(testbranch3 --date="2003-01-01T12:00:00") + +AT_CHECK(cp test.db latest.db) +AT_CHECK(MONOTONE --db=latest.db db dump, [], [stdout], [ignore]) +AT_CHECK(cp stdout latest.db.dump) + +###################################################################### +## End untouchable code +###################################################################### + +# Usage: CHECK_MIGRATE_FROM(, ) +m4_define([CHECK_MIGRATE_FROM], [ +AT_DATA($1.db.dumped.gz.b64, $2) +UNGZB64($1.db.dumped.gz.b64, $1.db.dumped) +AT_CHECK(MONOTONE --db=$1.db db load < $1.db.dumped, [], [ignore], [ignore]) +# verify that the db actually has the claimed schema +AT_CHECK(MONOTONE --db=$1.db db version, [], [stdout], [ignore]) +AT_CHECK(QGREP($1 stdout)) +# now do the actual migration +AT_CHECK(MONOTONE --db=$1.db db migrate, [], [ignore], [ignore]) +CHECK_SAME_DB_CONTENTS($1.db, latest.db) +]) + +CHECK_MIGRATE_FROM([1db80c7cee8fa966913db1a463ed50bf1b0e5b0e], +[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 +8vE/V/8HpqD3vwVHAAA= +]) + +AT_CLEANUP ======================================================================== --- testsuite.at 055fd836fe919f0b6203ae0a3b17dd20e48f6043 +++ testsuite.at 202e5f47a25df1d44e45e28f31aa66e4e94120a4 @@ -192,16 +192,11 @@ REVS=`MONOTONE --db=$1 complete revision ""` for R in $REVS; do - CHECK_SAME_STDOUT(MONOTONE --db=$1 ls certs $R, MONOTONE --db=$2 ls certs $R) + CHECK_SAME_STDOUT(MONOTONE --db=$1 automate certs $R, MONOTONE --db=$2 automate certs $R) CHECK_SAME_STDOUT(MONOTONE --db=$1 automate get_revision $R, MONOTONE --db=$2 automate get_revision $R) + CHECK_SAME_STDOUT(MONOTONE --db=$1 automate get_manifest_of $R, MONOTONE --db=$2 automate get_manifest_of $R) done -CHECK_SAME_STDOUT(MONOTONE --db=$1 complete manifest "", MONOTONE --db=$2 complete manifest "") -MANIFESTS=`MONOTONE --db=$1 complete manifest ""` -for M in $MANIFESTS; do - CHECK_SAME_STDOUT(MONOTONE --db=$1 automate get_manifest $M, MONOTONE --db=$2 automate get_manifest $M) -done - CHECK_SAME_STDOUT(MONOTONE --db=$1 complete file "", MONOTONE --db=$2 complete file "") FILES=`MONOTONE --db=$1 complete file ""` for F in $FILES; do @@ -744,3 +739,4 @@ m4_include(tests/t_config_confdir.at) m4_include(tests/t_database_sig_cleanup.at) m4_include(tests/t_update_switch_branch.at) +m4_include(tests/t_migrate_rosterify.at)