diff options
author | Andrew Bartlett <abartlet@samba.org> | 2016-08-26 15:53:19 +1200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2016-09-13 12:27:26 +0200 |
commit | 7aaf3f5868e859e2a42222b29a06ab1deae52b70 (patch) | |
tree | 4bcc36329cf1eb4684069aa4756e991ec96195c2 /testprogs | |
parent | 3f199828e132a852f27a90a4bbcb50a4d6f61d9f (diff) | |
download | samba-7aaf3f5868e859e2a42222b29a06ab1deae52b70.tar.gz |
dbcheck: Abandon dbcheck if we get an error during a transaction
Otherwise, anything that the transaction has already done to the DB will be left in the DB
even despite the failure. For example, if a fix wrote to the DB, but then failed a post-write
check, then the fix will not be unrolled.
This is because we do not have nested transactions in TDB.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12178
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Mon Aug 29 12:46:21 CEST 2016 on sn-devel-144
(cherry picked from commit db32a0e5ea8f652857e45480cc31ecb1ef884c1a)
Diffstat (limited to 'testprogs')
-rwxr-xr-x | testprogs/blackbox/dbcheck-oldrelease.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/testprogs/blackbox/dbcheck-oldrelease.sh b/testprogs/blackbox/dbcheck-oldrelease.sh index 89c0c0fdb5f..44f113666eb 100755 --- a/testprogs/blackbox/dbcheck-oldrelease.sh +++ b/testprogs/blackbox/dbcheck-oldrelease.sh @@ -181,6 +181,15 @@ check_expected_before_values() { } # This should 'fail', because it returns the number of modified records +dbcheck_objectclass() { + if [ x$RELEASE = x"release-4-1-6-partial-object" ]; then + $PYTHON $BINDIR/samba-tool dbcheck --cross-ncs --fix --yes -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb --attrs=objectclass $@ + else + return 1 + fi +} + +# This should 'fail', because it returns the number of modified records dbcheck() { $PYTHON $BINDIR/samba-tool dbcheck --cross-ncs --fix --yes -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $@ } @@ -300,6 +309,7 @@ if [ -d $release_dir ]; then testit "reindex" reindex testit "current_version_mod" do_current_version_mod testit "check_expected_before_values" check_expected_before_values + testit_expect_failure "dbcheck_objectclass" dbcheck_objectclass testit_expect_failure "dbcheck" dbcheck testit "check_expected_after_values" check_expected_after_values testit "check_forced_duplicate_values" check_forced_duplicate_values |