summaryrefslogtreecommitdiff
path: root/test/libapt
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-11-18 19:31:40 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2015-11-19 16:46:29 +0100
commit514a25cbcd2babb2a9c4485fc7b9a4256b7f6ff3 (patch)
treed0e2e2a3d5697e958cd120d87e1cd04219df946a /test/libapt
parent671a55ba455dcf4e5ce6d86b202761666f54d5c6 (diff)
do not use _apt for file/copy sources if it isn't world-accessible
In 0940230d we started dropping privileges for file (and a bit later for copy, too) with the intend of uniforming this for all methods. The commit message says that the source will likely fail based on the compressors already – and there isn't much secret in the repository content. After all, after apt has run the update everyone can access the content via apt anyway… There are sources through which worked before which are mostly single-deb (and those with the uncompressed files available). The first one being especially surprising for users maybe, so instead of failing, we make it so that apt detects that it can't access a source as _apt and if so doesn't drop (for all sources!) privileges – but we limit this to file/copy, so the uncompress which might be needed will still fail – but that failed before this regression. We display a notice about this, mostly so that if it still fails (e.g. compressed) the user has some idea what is wrong. Closes: 805069
Diffstat (limited to 'test/libapt')
-rw-r--r--test/libapt/configuration_test.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/libapt/configuration_test.cc b/test/libapt/configuration_test.cc
index 6300b5256..9fb580a01 100644
--- a/test/libapt/configuration_test.cc
+++ b/test/libapt/configuration_test.cc
@@ -148,6 +148,7 @@ TEST(ConfigurationTest,Merge)
{
Configuration Cnf;
Cnf.Set("Binary::apt::option::foo", "bar");
+ Cnf.Set("Binary::apt::option::empty", "");
Cnf.Set("option::foo", "foo");
Cnf.MoveSubTree("Binary::apt", "Binary::apt2");
@@ -156,8 +157,13 @@ TEST(ConfigurationTest,Merge)
EXPECT_EQ("foo", Cnf.Find("option::foo"));
EXPECT_EQ("bar", Cnf.Find("Binary::apt2::option::foo"));
+ EXPECT_FALSE(Cnf.Exists("option::empty"));
+ EXPECT_TRUE(Cnf.Exists("Binary::apt2::option::empty"));
+ Cnf.Set("option::empty", "not");
+
Cnf.MoveSubTree("Binary::apt2", NULL);
EXPECT_FALSE(Cnf.Exists("Binary::apt2::option"));
EXPECT_TRUE(Cnf.Exists("option"));
EXPECT_EQ("bar", Cnf.Find("option::foo"));
+ EXPECT_EQ("", Cnf.Find("option::empty"));
}