From 62cc071f88cb33c1f6213c9dbd54a10135c5ad34 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 23 Nov 2024 19:32:06 +0100 Subject: strutl: Add Base64Decode Lifted from the dpkg mtree code that mjg59 submitted in https://lists.debian.org/debian-dpkg/2018/05/msg00005.html Which as dpkg is GPL-2.0+ also is GPL-2.0+ --- test/libapt/strutil_test.cc | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'test/libapt') diff --git a/test/libapt/strutil_test.cc b/test/libapt/strutil_test.cc index 500ba98da..9320f8fa9 100644 --- a/test/libapt/strutil_test.cc +++ b/test/libapt/strutil_test.cc @@ -179,6 +179,24 @@ TEST(StrUtilTest,Base64Encode) EXPECT_EQ("/A==", Base64Encode("\xfc")); EXPECT_EQ("//8=", Base64Encode("\xff\xff")); } +TEST(StrUtilTest,Base64Decode) +{ + EXPECT_EQ(Base64Decode("QWxhZGRpbjpvcGVuIHNlc2FtZQ=="), "Aladdin:open sesame"); + EXPECT_EQ(Base64Decode("cGxlYXN1cmUu"), "pleasure."); + EXPECT_EQ(Base64Decode("bGVhc3VyZS4="), "leasure."); + EXPECT_EQ(Base64Decode("ZWFzdXJlLg=="), "easure."); + EXPECT_EQ(Base64Decode("YXN1cmUu"), "asure."); + EXPECT_EQ(Base64Decode("c3VyZS4="), "sure."); + EXPECT_EQ(Base64Decode("dXJlLg=="), "ure."); + EXPECT_EQ(Base64Decode("cmUu"), "re."); + EXPECT_EQ(Base64Decode("ZS4="), "e."); + EXPECT_EQ(Base64Decode("Lg=="), "."); + EXPECT_EQ(Base64Decode(""), ""); + EXPECT_EQ(Base64Decode("IA=="), "\x20"); + EXPECT_EQ(Base64Decode("/w=="), "\xff"); + EXPECT_EQ(Base64Decode("/A=="), "\xfc"); + EXPECT_EQ(Base64Decode("//8="), "\xff\xff"); +} static void ReadMessagesTestWithNewLine(char const * const nl, char const * const ab) { SCOPED_TRACE(SubstVar(SubstVar(nl, "\n", "n"), "\r", "r") + " # " + ab); @@ -318,7 +336,8 @@ TEST(StrUtilTest,RFC1123StrToTime) time_t t; EXPECT_TRUE(RFC1123StrToTime("Sun, 06 Nov 1994 08:49:37 GMT", t)); EXPECT_EQ(784111777, t); - } { + } + { time_t t; EXPECT_TRUE(RFC1123StrToTime("Sun, 6 Nov 1994 08:49:37 UTC", t)); EXPECT_EQ(784111777, t); -- cgit v1.2.3-70-g09d2 From 7038347919d59b2f96a8f51f994889a5b4d66cba Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Thu, 28 Nov 2024 09:49:58 +0100 Subject: fileutl: Use execvp() in Popen() instead of execv() --- apt-pkg/contrib/fileutl.cc | 2 +- test/libapt/fileutl_test.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'test/libapt') diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index a45069ee9..67c5acee2 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -3232,7 +3232,7 @@ bool Popen(const char *Args[], FileFd &Fd, pid_t &Child, FileFd::OpenMode Mode, } else if(Mode == FileFd::WriteOnly) dup2(fd, 0); - execv(Args[0], (char**)Args); + execvp(Args[0], (char **)Args); _exit(100); } if(Mode == FileFd::ReadOnly) diff --git a/test/libapt/fileutl_test.cc b/test/libapt/fileutl_test.cc index b35a2d45e..2badf5465 100644 --- a/test/libapt/fileutl_test.cc +++ b/test/libapt/fileutl_test.cc @@ -288,7 +288,7 @@ TEST(FileUtlTest, Popen) OpenFds = Glob("/proc/self/fd/*"); // output something - const char* Args[10] = {"/bin/echo", "meepmeep", NULL}; + const char* Args[10] = {"echo", "meepmeep", NULL}; EXPECT_TRUE(Popen(Args, Fd, Child, FileFd::ReadOnly)); EXPECT_TRUE(Fd.Read(buf, sizeof(buf)-1, &n)); buf[n] = 0; -- cgit v1.2.3-70-g09d2