1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-08 21:18:16 +03:00

selftest: Add assertion that we actually fix the replPropertyMetaData sort order

This ensures that the dbcheck rule fixes the sort order (and only fixes the sort order).

BUG: https://bugzilla.samba.org/show_bug.cgi?id=10973

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): Tue Aug 25 02:45:58 CEST 2015 on sn-devel-104
This commit is contained in:
Andrew Bartlett 2015-08-03 13:50:08 +12:00 committed by Stefan Metzmacher
parent 5504502aa6
commit dcc657a221
3 changed files with 290 additions and 1 deletions

View File

@ -0,0 +1,122 @@
# record 1
dn: CN=ops_run_anything,OU=SUDOers,DC=release-4-1-0rc3,DC=samba,DC=corp
objectClass: top
objectClass: sudoRole
cn: ops_run_anything
instanceType: 4
whenCreated: 20150802225130.0Z
uSNCreated: 3514
name: ops_run_anything
objectGUID: 0609a23b-81a4-44c0-9220-b89085775441
objectCategory: CN=sudoRole,CN=Schema,CN=Configuration,DC=release-4-1-0rc3,DC=samba,DC=corp
sudoHost: ALL
sudoCommand: ALL
sudoRunAsUser: ALL
sudoRunAsGroup: ALL
whenChanged: 20150802225647.0Z
uSNChanged: 3515
replPropertyMetaData: NDR: struct replPropertyMetaDataBlob
version : 0x00000001 (1)
reserved : 0x00000000 (0)
ctr : union replPropertyMetaDataCtr(case 1)
ctr1: struct replPropertyMetaDataCtr1
count : 0x0000000d (13)
reserved : 0x00000000 (0)
array: ARRAY(13)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_objectClass (0x0)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_instanceType (0x20001)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_whenCreated (0x20002)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_ntSecurityDescriptor (0x20119)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_name (0x90001)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_objectCategory (0x9030E)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x290001)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:56:47 2015 UTC
originating_invocation_id: b249ef44-b215-4d3b-b5d6-7cec08154b7a
originating_usn : 0x0000000000000dbb (3515)
local_usn : 0x0000000000000dbb (3515)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B0)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B1)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B2)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B5)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B6)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_cn (0x3)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
distinguishedName: CN=ops_run_anything,OU=SUDOers,DC=release-4-1-0rc3,DC=samba,DC=corp
# returned 1 records
# 1 entries
# 0 referrals

View File

@ -0,0 +1,122 @@
# record 1
dn: CN=ops_run_anything,OU=SUDOers,DC=release-4-1-0rc3,DC=samba,DC=corp
objectClass: top
objectClass: sudoRole
cn: ops_run_anything
instanceType: 4
whenCreated: 20150802225130.0Z
uSNCreated: 3514
name: ops_run_anything
objectGUID: 0609a23b-81a4-44c0-9220-b89085775441
objectCategory: CN=sudoRole,CN=Schema,CN=Configuration,DC=release-4-1-0rc3,DC=samba,DC=corp
sudoHost: ALL
sudoCommand: ALL
sudoRunAsUser: ALL
sudoRunAsGroup: ALL
replPropertyMetaData: NDR: struct replPropertyMetaDataBlob
version : 0x00000001 (1)
reserved : 0x00000000 (0)
ctr : union replPropertyMetaDataCtr(case 1)
ctr1: struct replPropertyMetaDataCtr1
count : 0x0000000d (13)
reserved : 0x00000000 (0)
array: ARRAY(13)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B0)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B1)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B2)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B5)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x9DDA71B6)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_objectClass (0x0)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_instanceType (0x20001)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_whenCreated (0x20002)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_ntSecurityDescriptor (0x20119)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_name (0x90001)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_objectCategory (0x9030E)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
array: struct replPropertyMetaData1
attid : UNKNOWN_ENUM_VALUE (0x290001)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:56:47 2015 UTC
originating_invocation_id: b249ef44-b215-4d3b-b5d6-7cec08154b7a
originating_usn : 0x0000000000000dbb (3515)
local_usn : 0x0000000000000dbb (3515)
array: struct replPropertyMetaData1
attid : DRSUAPI_ATTID_cn (0x3)
version : 0x00000001 (1)
originating_change_time : Sun Aug 2 22:51:30 2015 UTC
originating_invocation_id: 7b2e1a86-f4d6-4e7f-a49f-d40f3596aa63
originating_usn : 0x0000000000000eb1 (3761)
local_usn : 0x0000000000000dba (3514)
whenChanged: 20150802225647.0Z
uSNChanged: 3515
distinguishedName: CN=ops_run_anything,OU=SUDOers,DC=release-4-1-0rc3,DC=samba,DC=corp
# returned 1 records
# 1 entries
# 0 referrals

View File

@ -20,6 +20,11 @@ if [ -x "$BINDIR/ldbmodify" ]; then
ldbmodify="$BINDIR/ldbmodify"
fi
ldbsearch="ldbsearch"
if [ -x "$BINDIR/ldbsearch" ]; then
ldbsearch="$BINDIR/ldbsearch"
fi
undump() {
if test -x $BINDIR/tdbrestore;
then
@ -136,10 +141,35 @@ reindex() {
$PYTHON $BINDIR/samba-tool dbcheck --reindex -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $@
}
check_expected_before_values() {
if [ x$RELEASE = x"release-4-1-0rc3" ]; then
tmpldif=$PREFIX_ABS/$RELEASE/expected-replpropertymetadata-before-dbcheck.ldif.tmp
TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb -s base -b CN=ops_run_anything,OU=SUDOers,DC=release-4-1-0rc3,DC=samba,DC=corp \* replpropertymetadata --show-binary > $tmpldif
diff $tmpldif $release_dir/expected-replpropertymetadata-before-dbcheck.ldif
if [ "$?" != "0" ]; then
return 1
fi
fi
return 0
}
# 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 $@
}
check_expected_after_values() {
if [ x$RELEASE = x"release-4-1-0rc3" ]; then
tmpldif=$PREFIX_ABS/$RELEASE/expected-replpropertymetadata-after-dbcheck.ldif.tmp
TZ=UTC $ldbsearch -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb -s base -b CN=ops_run_anything,OU=SUDOers,DC=release-4-1-0rc3,DC=samba,DC=corp \* replpropertymetadata --show-binary > $tmpldif
diff -u $tmpldif $release_dir/expected-replpropertymetadata-after-dbcheck.ldif
if [ "$?" != "0" ]; then
return 1
fi
fi
return 0
}
# But having fixed it all up, this should pass
dbcheck_clean() {
$PYTHON $BINDIR/samba-tool dbcheck --cross-ncs -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb $@
@ -198,7 +228,9 @@ ldapcmp_sd() {
if [ -d $release_dir ]; then
testit $RELEASE undump
testit "reindex" reindex
testit "check_expected_before_values" check_expected_before_values
testit_expect_failure "dbcheck" dbcheck
testit "check_expected_after_values" check_expected_after_values
testit "dbcheck_clean" dbcheck_clean
testit_expect_failure "dbcheck_acl_reset" dbcheck_acl_reset
testit "dbcheck_acl_reset_clean" dbcheck_acl_reset_clean
@ -220,6 +252,10 @@ EOF
subunit_start_test "reindex"
subunit_skip_test "reindex" <<EOF
no test provision
EOF
subunit_start_test check_expected_before_values
subunit_skip_test check_expected_before_values<<EOF
no test provision
EOF
subunit_start_test "dbcheck"
subunit_skip_test "dbcheck" <<EOF
@ -228,6 +264,10 @@ EOF
subunit_start_test "dbcheck_clean"
subunit_skip_test "dbcheck_clean" <<EOF
no test provision
EOF
subunit_start_test check_expected_after_values
subunit_skip_test check_expected_after_values<<EOF
no test provision
EOF
subunit_start_test "dbcheck_acl_reset"
subunit_skip_test "dbcheck_acl_reset" <<EOF
@ -255,6 +295,11 @@ EOF
subunit_start_test add_userparameters3
subunit_skip_test add_userparameters3<<EOF
no test provision
EOF
subunit_start_test check_expected_before_values
subunit_skip_test check_expected_before_values<<EOF
no test provision
EOF
subunit_start_test "dbcheck2"
@ -277,7 +322,7 @@ EOF
fi
if [ -d $PREFIX_ABS/${RELEASE} ]; then
rm -fr $PREFIX_ABS/${RELEASE}
rm -fr $PREFIX_ABS/${RELEASE}
fi
if [ -d $PREFIX_ABS/${RELEASE}_reference ]; then