# # patch "ChangeLog" # from [609dad8e85bd29d73185f3fc0fa025f8a3fa6f5e] # to [80ee6926d234f46a341bcc4c874056b57d5ebdbd] # # patch "database_check.cc" # from [1098ea2b6e2a53449fd89dd6ae815f42d4206cd4] # to [924b949941d72064a292451e72c28bfb2e80755c] # # patch "tests/t_database_check.at" # from [11b64267ef57980019f461ea1acca582d2cb989e] # to [3ea731d55685488c6dadb5580b4cd04dc130e855] # --- ChangeLog +++ ChangeLog @@ -1,5 +1,10 @@ 2005-04-14 Derek Scherger + * database_check.cc (check_db): fail with N(...) when problems are + detected to exit with a non-zero status + +2005-04-14 Derek Scherger + * monotone.texi (Informative): update description of 'diff' with two revision arguments --- database_check.cc +++ database_check.cc @@ -671,7 +671,8 @@ missing_keys; if (total > 0) - P(F("check complete: %d files; %d manifests; %d revisions; %d keys; %d certs; %d problems detected\n") + N(total == 0, + F("check complete: %d files; %d manifests; %d revisions; %d keys; %d certs; %d problems detected\n") % checked_files.size() % checked_manifests.size() % checked_revisions.size() --- tests/t_database_check.at +++ tests/t_database_check.at @@ -60,7 +60,7 @@ AT_CHECK(MONOTONE db execute "delete from files where id='$FILE2'", [], [ignore], [ignore]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep 'database is good' stderr, [1], [ignore], [ignore]) AT_CHECK(grep 'problems detected' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '1 missing file' stderr, [0], [ignore], [ignore]) @@ -74,13 +74,13 @@ AT_CHECK(MONOTONE read < fileX, [], [ignore], [ignore]) AT_CHECK(MONOTONE read < manifestX, [], [ignore], [ignore]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep '1 unreferenced file' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '1 unreferenced manifest' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '7 missing files' stderr, [0], [ignore], [ignore]) AT_CHECK(MONOTONE db execute "delete from revision_ancestry", [], [ignore], [ignore]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep '2 mismatched parent' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '2 mismatched child' stderr, [0], [ignore], [ignore]) @@ -90,34 +90,34 @@ XDELTA_HH="68d15dc01398c7bb375b1a90fbb420bebef1bac7" AT_CHECK(MONOTONE db execute "insert into revision_ancestry values('$XDELTA_CC', '$XDELTA_HH')", [], [ignore], [ignore]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep '3 mismatched parent' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '3 mismatched child' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '2 missing revision' stderr, [0], [ignore], [ignore]) AT_CHECK(MONOTONE db execute "delete from manifest_deltas where id='$MAN1'", [], [ignore], [ignore]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep '1 missing manifest' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '3 revisions with bad history' stderr, [0], [ignore], [ignore]) AT_CHECK(MONOTONE db execute "delete from revisions where id='$REV1'", [], [ignore], [ignore]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep '3 missing revision' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '2 revisions with bad history' stderr, [0], [ignore], [ignore]) echo "$REV2:comment:this is a test:address@hidden:bogus sig" | sha1sum | read HASH AT_CHECK(MONOTONE db execute "insert into revision_certs values ('$HASH', '$REV2', 'comment', 'this is a test', 'address@hidden', 'bogus sig')", [], [ignore], [ignore]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep '1 bad sig' stderr, [0], [ignore], [ignore]) AT_CHECK(MONOTONE db execute "delete from revision_certs where name = 'date'", [], [ignore], [stderr]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep '2 missing certs' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '2 mismatched certs' stderr, [0], [ignore], [ignore]) AT_CHECK(MONOTONE db execute "delete from public_keys", [], [ignore], [stderr]) -AT_CHECK(MONOTONE db check --ticker=dot, [], [ignore], [stderr]) +AT_CHECK(MONOTONE db check --ticker=dot, [1], [ignore], [stderr]) AT_CHECK(grep '1 missing key' stderr, [0], [ignore], [ignore]) AT_CHECK(grep '10 unchecked signatures' stderr, [0], [ignore], [ignore])