Add patch to fix automated test failure when uid != primary gid

This commit is contained in:
Simon McVittie 2017-12-10 19:42:35 +00:00
parent 50168a18b2
commit bfc6cff5e7
3 changed files with 48 additions and 0 deletions

2
debian/changelog vendored
View File

@ -3,6 +3,8 @@ ostree (2017.14-1) UNRELEASED; urgency=medium
* New upstream release
- d/libostree-1-1.symbols: Update
* Standards-Version: 4.1.2 (no changes required)
* d/p/tests-Don-t-assume-uid-primary-gid.patch:
Add patch to fix automated test failure when uid != primary gid
-- Simon McVittie <smcv@debian.org> Fri, 08 Dec 2017 19:16:17 +0000

1
debian/patches/series vendored Normal file
View File

@ -0,0 +1 @@
tests-Don-t-assume-uid-primary-gid.patch

View File

@ -0,0 +1,45 @@
From: Simon McVittie <smcv@collabora.com>
Date: Sun, 10 Dec 2017 19:39:38 +0000
Subject: tests: Don't assume uid == primary gid
Nothing guarantees that each user has a group containing only
themselves. Even if they do, nothing guarantees that its group ID
equals the user ID, particularly if another user earlier in the same
range was created without a corresponding group or vice versa.
Signed-off-by: Simon McVittie <smcv@collabora.com>
---
tests/test-basic-user.sh | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/tests/test-basic-user.sh b/tests/test-basic-user.sh
index 7f970b5..6987e4a 100755
--- a/tests/test-basic-user.sh
+++ b/tests/test-basic-user.sh
@@ -104,18 +104,20 @@ cd ${test_tmpdir}
rm -rf test2-checkout
$OSTREE checkout -H -U test2 test2-checkout
# With --link-checkout-speedup, specifying --owner-uid should "win" by default.
-myid=$(id -u)
-newid=$((${myid} + 1))
-$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newid} --owner-gid ${newid} \
+myuid=$(id -u)
+mygid=$(id -g)
+newuid=$((${myuid} + 1))
+newgid=$((${mygid} + 1))
+$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newuid} --owner-gid ${newgid} \
--link-checkout-speedup -b test2-linkcheckout-test --tree=dir=test2-checkout
$OSTREE ls test2-linkcheckout-test /baz/cow > ls.txt
-assert_file_has_content ls.txt "^-006.. ${newid} ${newid} .*/baz/cow"
+assert_file_has_content ls.txt "^-006.. ${newuid} ${newgid} .*/baz/cow"
# But --devino-canonical should override that
-$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newid} --owner-gid ${newid} \
+$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newuid} --owner-gid ${newgid} \
-I -b test2-devino-test --tree=dir=test2-checkout
$OSTREE ls test2-devino-test /baz/cow > ls.txt
-assert_file_has_content ls.txt "^-006.. ${myid} ${myid} .*/baz/cow"
+assert_file_has_content ls.txt "^-006.. ${myuid} ${mygid} .*/baz/cow"
$OSTREE refs --delete test2-{linkcheckout,devino}-test
echo "ok commit with -I"