summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/acquire-method.cc10
-rw-r--r--apt-pkg/acquire.cc10
-rw-r--r--apt-pkg/contrib/strutl.cc2
-rw-r--r--apt-pkg/deb/debindexfile.cc2
-rw-r--r--apt-pkg/install-progress.cc89
-rw-r--r--apt-private/private-source.cc4
-rw-r--r--apt-private/private-update.cc4
-rw-r--r--cmdline/apt-helper.cc2
-rw-r--r--ftparchive/writer.cc6
-rw-r--r--methods/http.cc4
-rw-r--r--methods/server.cc2
-rwxr-xr-xtest/integration/test-apt-download-progress10
-rwxr-xr-xtest/integration/test-apt-progress-fd68
-rwxr-xr-xtest/integration/test-apt-progress-fd-deb82210
14 files changed, 97 insertions, 126 deletions
diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc
index d0eb01bbc..82f4b626d 100644
--- a/apt-pkg/acquire-method.cc
+++ b/apt-pkg/acquire-method.cc
@@ -145,13 +145,13 @@ void pkgAcqMethod::URIStart(FetchResult &Res)
std::cout << "200 URI Start\n"
<< "URI: " << Queue->Uri << "\n";
if (Res.Size != 0)
- std::cout << "Size: " << Res.Size << "\n";
+ std::cout << "Size: " << std::to_string(Res.Size) << "\n";
if (Res.LastModified != 0)
std::cout << "Last-Modified: " << TimeRFC1123(Res.LastModified) << "\n";
if (Res.ResumePoint != 0)
- std::cout << "Resume-Point: " << Res.ResumePoint << "\n";
+ std::cout << "Resume-Point: " << std::to_string(Res.ResumePoint) << "\n";
if (UsedMirror.empty() == false)
std::cout << "UsedMirror: " << UsedMirror << "\n";
@@ -184,7 +184,7 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
std::cout << "Filename: " << Res.Filename << "\n";
if (Res.Size != 0)
- std::cout << "Size: " << Res.Size << "\n";
+ std::cout << "Size: " << std::to_string(Res.Size) << "\n";
if (Res.LastModified != 0)
std::cout << "Last-Modified: " << TimeRFC1123(Res.LastModified) << "\n";
@@ -202,7 +202,7 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
}
if (Res.ResumePoint != 0)
- std::cout << "Resume-Point: " << Res.ResumePoint << "\n";
+ std::cout << "Resume-Point: " << std::to_string(Res.ResumePoint) << "\n";
if (Res.IMSHit == true)
std::cout << "IMS-Hit: true\n";
@@ -213,7 +213,7 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
std::cout << "Alt-Filename: " << Alt->Filename << "\n";
if (Alt->Size != 0)
- std::cout << "Alt-Size: " << Alt->Size << "\n";
+ std::cout << "Alt-Size: " << std::to_string(Alt->Size) << "\n";
if (Alt->LastModified != 0)
std::cout << "Alt-Last-Modified: " << TimeRFC1123(Alt->LastModified) << "\n";
diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc
index 757fab057..2bc2287a1 100644
--- a/apt-pkg/acquire.cc
+++ b/apt-pkg/acquire.cc
@@ -1247,13 +1247,9 @@ bool pkgAcquireStatus::Pulse(pkgAcquire *Owner)
snprintf(msg,sizeof(msg), _("Retrieving file %li of %li"), i, TotalItems);
// build the status str
- status << "dlstatus:" << i
- << ":" << std::setprecision(3) << Percent
- << ":" << msg
- << endl;
-
- std::string const dlstatus = status.str();
- FileFd::Write(fd, dlstatus.c_str(), dlstatus.size());
+ std::string dlstatus;
+ strprintf(dlstatus, "dlstatus:%ld:%.4f:%s\n", i, Percent, msg);
+ FileFd::Write(fd, dlstatus.data(), dlstatus.size());
}
return true;
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
index d388cbda3..1a7445694 100644
--- a/apt-pkg/contrib/strutl.cc
+++ b/apt-pkg/contrib/strutl.cc
@@ -1653,7 +1653,7 @@ URI::operator string()
Res << Host;
if (Port != 0)
- Res << ':' << Port;
+ Res << ':' << std::to_string(Port);
}
if (Path.empty() == false)
diff --git a/apt-pkg/deb/debindexfile.cc b/apt-pkg/deb/debindexfile.cc
index 9be2db4c9..6a23b2c00 100644
--- a/apt-pkg/deb/debindexfile.cc
+++ b/apt-pkg/deb/debindexfile.cc
@@ -194,7 +194,7 @@ bool debDebPkgFileIndex::GetContent(std::ostream &content, std::string const &de
return _error->Error("Popen failed");
content << "Filename: " << debfile << "\n";
- content << "Size: " << Buf.st_size << "\n";
+ content << "Size: " << std::to_string(Buf.st_size) << "\n";
bool first_line_seen = false;
char buffer[1024];
do {
diff --git a/apt-pkg/install-progress.cc b/apt-pkg/install-progress.cc
index f1a9f42dc..c77c240c3 100644
--- a/apt-pkg/install-progress.cc
+++ b/apt-pkg/install-progress.cc
@@ -87,12 +87,10 @@ void PackageManagerProgressFd::StartDpkg()
fcntl(OutStatusFd,F_SETFD,FD_CLOEXEC);
// send status information that we are about to fork dpkg
- std::ostringstream status;
- status << "pmstatus:dpkg-exec:"
- << (StepsDone/float(StepsTotal)*100.0)
- << ":" << _("Running dpkg")
- << std::endl;
- WriteToStatusFd(status.str());
+ std::string status;
+ strprintf(status, "pmstatus:dpkg-exec:%.4f:%s\n",
+ (StepsDone/float(StepsTotal)*100.0), _("Running dpkg"));
+ WriteToStatusFd(std::move(status));
}
APT_CONST void PackageManagerProgressFd::Stop()
@@ -104,12 +102,10 @@ void PackageManagerProgressFd::Error(std::string PackageName,
unsigned int TotalSteps,
std::string ErrorMessage)
{
- std::ostringstream status;
- status << "pmerror:" << PackageName
- << ":" << (StepsDone/float(TotalSteps)*100.0)
- << ":" << ErrorMessage
- << std::endl;
- WriteToStatusFd(status.str());
+ std::string status;
+ strprintf(status, "pmerror:%s:%.4f:%s\n", PackageName.c_str(),
+ (StepsDone/float(TotalSteps)*100.0), ErrorMessage.c_str());
+ WriteToStatusFd(std::move(status));
}
void PackageManagerProgressFd::ConffilePrompt(std::string PackageName,
@@ -117,12 +113,10 @@ void PackageManagerProgressFd::ConffilePrompt(std::string PackageName,
unsigned int TotalSteps,
std::string ConfMessage)
{
- std::ostringstream status;
- status << "pmconffile:" << PackageName
- << ":" << (StepsDone/float(TotalSteps)*100.0)
- << ":" << ConfMessage
- << std::endl;
- WriteToStatusFd(status.str());
+ std::string status;
+ strprintf(status, "pmconffile:%s:%.4f:%s\n", PackageName.c_str(),
+ (StepsDone/float(TotalSteps)*100.0), ConfMessage.c_str());
+ WriteToStatusFd(std::move(status));
}
@@ -135,12 +129,10 @@ bool PackageManagerProgressFd::StatusChanged(std::string PackageName,
StepsTotal = xTotalSteps;
// build the status str
- std::ostringstream status;
- status << "pmstatus:" << StringSplit(PackageName, ":")[0]
- << ":" << (StepsDone/float(StepsTotal)*100.0)
- << ":" << pkg_action
- << std::endl;
- WriteToStatusFd(status.str());
+ std::string status;
+ strprintf(status, "pmstatus:%s:%.4f:%s\n", StringSplit(PackageName, ":")[0].c_str(),
+ (StepsDone/float(StepsTotal)*100.0), pkg_action.c_str());
+ WriteToStatusFd(std::move(status));
if(_config->FindB("Debug::APT::Progress::PackageManagerFd", false) == true)
std::cerr << "progress: " << PackageName << " " << xStepsDone
@@ -171,12 +163,10 @@ void PackageManagerProgressDeb822Fd::StartDpkg()
fcntl(OutStatusFd,F_SETFD,FD_CLOEXEC);
// send status information that we are about to fork dpkg
- std::ostringstream status;
- status << "Status: " << "progress" << std::endl
- << "Percent: " << (StepsDone/float(StepsTotal)*100.0) << std::endl
- << "Message: " << _("Running dpkg") << std::endl
- << std::endl;
- WriteToStatusFd(status.str());
+ std::string status;
+ strprintf(status, "Status: %s\nPercent: %.4f\nMessage: %s\n\n", "progress",
+ (StepsDone/float(StepsTotal)*100.0), _("Running dpkg"));
+ WriteToStatusFd(std::move(status));
}
APT_CONST void PackageManagerProgressDeb822Fd::Stop()
@@ -188,13 +178,10 @@ void PackageManagerProgressDeb822Fd::Error(std::string PackageName,
unsigned int TotalSteps,
std::string ErrorMessage)
{
- std::ostringstream status;
- status << "Status: " << "Error" << std::endl
- << "Package:" << PackageName << std::endl
- << "Percent: " << (StepsDone/float(TotalSteps)*100.0) << std::endl
- << "Message: " << ErrorMessage << std::endl
- << std::endl;
- WriteToStatusFd(status.str());
+ std::string status;
+ strprintf(status, "Status: %s\nPackage: %s\nPercent: %.4f\nMessage: %s\n\n", "Error",
+ PackageName.c_str(), (StepsDone/float(TotalSteps)*100.0), ErrorMessage.c_str());
+ WriteToStatusFd(std::move(status));
}
void PackageManagerProgressDeb822Fd::ConffilePrompt(std::string PackageName,
@@ -202,13 +189,10 @@ void PackageManagerProgressDeb822Fd::ConffilePrompt(std::string PackageName,
unsigned int TotalSteps,
std::string ConfMessage)
{
- std::ostringstream status;
- status << "Status: " << "ConfFile" << std::endl
- << "Package:" << PackageName << std::endl
- << "Percent: " << (StepsDone/float(TotalSteps)*100.0) << std::endl
- << "Message: " << ConfMessage << std::endl
- << std::endl;
- WriteToStatusFd(status.str());
+ std::string status;
+ strprintf(status, "Status: %s\nPackage: %s\nPercent: %.4f\nMessage: %s\n\n", "ConfFile",
+ PackageName.c_str(), (StepsDone/float(TotalSteps)*100.0), ConfMessage.c_str());
+ WriteToStatusFd(std::move(status));
}
@@ -220,15 +204,10 @@ bool PackageManagerProgressDeb822Fd::StatusChanged(std::string PackageName,
StepsDone = xStepsDone;
StepsTotal = xTotalSteps;
- // build the status str
- std::ostringstream status;
- status << "Status: " << "progress" << std::endl
- << "Package: " << PackageName << std::endl
- << "Percent: " << (StepsDone/float(StepsTotal)*100.0) << std::endl
- << "Message: " << message << std::endl
- << std::endl;
- WriteToStatusFd(status.str());
-
+ std::string status;
+ strprintf(status, "Status: %s\nPackage: %s\nPercent: %.4f\nMessage: %s\n\n", "progress",
+ PackageName.c_str(), (StepsDone/float(StepsTotal)*100.0), message.c_str());
+ WriteToStatusFd(std::move(status));
return true;
}
@@ -289,7 +268,7 @@ void PackageManagerFancy::SetupTerminalScrollArea(int nr_rows)
std::cout << "\0337";
// set scroll region (this will place the cursor in the top left)
- std::cout << "\033[0;" << nr_rows - 1 << "r";
+ std::cout << "\033[0;" << std::to_string(nr_rows - 1) << "r";
// restore cursor but ensure its inside the scrolling area
std::cout << "\0338";
@@ -390,7 +369,7 @@ bool PackageManagerFancy::DrawStatusLine()
std::cout << save_cursor
// move cursor position to last row
- << "\033[" << size.rows << ";0f"
+ << "\033[" << std::to_string(size.rows) << ";0f"
<< set_bg_color
<< set_fg_color
<< progress_str
diff --git a/apt-private/private-source.cc b/apt-private/private-source.cc
index 5053c60fc..dd52a8822 100644
--- a/apt-private/private-source.cc
+++ b/apt-private/private-source.cc
@@ -478,8 +478,8 @@ bool DoSource(CommandLine &CmdL)
{
pkgAcquire::UriIterator I = Fetcher.UriBegin();
for (; I != Fetcher.UriEnd(); ++I)
- std::cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' <<
- I->Owner->FileSize << ' ' << I->Owner->HashSum() << std::endl;
+ std::cout << '\'' << I->URI << "' " << flNotDir(I->Owner->DestFile) << ' ' <<
+ std::to_string(I->Owner->FileSize) << ' ' << I->Owner->HashSum() << std::endl;
return true;
}
diff --git a/apt-private/private-update.cc b/apt-private/private-update.cc
index 1e5d69512..ba953a088 100644
--- a/apt-private/private-update.cc
+++ b/apt-private/private-update.cc
@@ -58,8 +58,8 @@ bool DoUpdate(CommandLine &CmdL)
if(compExt.empty() == false &&
APT::String::Endswith(FileName, compExt))
FileName = FileName.substr(0, FileName.size() - compExt.size() - 1);
- c1out << '\'' << I->URI << "' " << FileName << ' ' <<
- I->Owner->FileSize << ' ' << I->Owner->HashSum() << std::endl;
+ c1out << '\'' << I->URI << "' " << FileName << ' ' <<
+ std::to_string(I->Owner->FileSize) << ' ' << I->Owner->HashSum() << std::endl;
}
return true;
}
diff --git a/cmdline/apt-helper.cc b/cmdline/apt-helper.cc
index b92055ab7..fd4d269c2 100644
--- a/cmdline/apt-helper.cc
+++ b/cmdline/apt-helper.cc
@@ -102,7 +102,7 @@ static bool DoSrvLookup(CommandLine &CmdL) /*{{{*/
_error->Error(_("GetSrvRec failed for %s"), name.c_str());
for (SrvRec const &I : srv_records)
- c1out << I.target << "\t" << I.priority << "\t" << I.weight << "\t" << I.port << std::endl;
+ ioprintf(c1out, "%s\t%d\t%d\t%d\n", I.target.c_str(), I.priority, I.weight, I.port);
}
return true;
}
diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
index 90935ff8b..674a8f516 100644
--- a/ftparchive/writer.cc
+++ b/ftparchive/writer.cc
@@ -623,12 +623,12 @@ SourcesWriter::SourcesWriter(FileFd * const GivenOutput, string const &DB, strin
// SourcesWriter::DoPackage - Process a single package /*{{{*/
static std::string getDscHash(unsigned int const DoHashes,
Hashes::SupportedHashes const DoIt, pkgTagSection &Tags, char const * const FieldName,
- HashString const * const Hash, unsigned long long Size, std::string FileName)
+ HashString const * const Hash, unsigned long long Size, std::string const &FileName)
{
if ((DoHashes & DoIt) != DoIt || Tags.Exists(FieldName) == false || Hash == NULL)
return "";
std::ostringstream out;
- out << "\n " << Hash->HashValue() << " " << Size << " " << FileName
+ out << "\n " << Hash->HashValue() << " " << std::to_string(Size) << " " << FileName
<< "\n " << Tags.FindS(FieldName);
return out.str();
}
@@ -802,7 +802,7 @@ bool SourcesWriter::DoPackage(string FileName)
if (Tags.Exists(fieldname) == true)
continue;
std::ostringstream streamout;
- streamout << "\n " << hs->HashValue() << " " << Db.GetFileSize() << " " << ParseJnk;
+ streamout << "\n " << hs->HashValue() << " " << std::to_string(Db.GetFileSize()) << " " << ParseJnk;
out->append(streamout.str());
}
diff --git a/methods/http.cc b/methods/http.cc
index 78b20e66d..0c3803fbb 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -708,7 +708,7 @@ void HttpMethod::SendReq(FetchItem *Itm)
C.f. https://tools.ietf.org/wg/httpbis/trac/ticket/158 */
Req << "GET " << requesturi << " HTTP/1.1\r\n";
if (Uri.Port != 0)
- Req << "Host: " << ProperHost << ":" << Uri.Port << "\r\n";
+ Req << "Host: " << ProperHost << ":" << std::to_string(Uri.Port) << "\r\n";
else
Req << "Host: " << ProperHost << "\r\n";
@@ -717,7 +717,7 @@ void HttpMethod::SendReq(FetchItem *Itm)
Req << "Cache-Control: no-cache\r\n"
<< "Pragma: no-cache\r\n";
else if (Itm->IndexFile == true)
- Req << "Cache-Control: max-age=" << _config->FindI("Acquire::http::Max-Age",0) << "\r\n";
+ Req << "Cache-Control: max-age=" << std::to_string(_config->FindI("Acquire::http::Max-Age",0)) << "\r\n";
else if (_config->FindB("Acquire::http::No-Store",false) == true)
Req << "Cache-Control: no-store\r\n";
diff --git a/methods/server.cc b/methods/server.cc
index 322b8d94c..a46b40936 100644
--- a/methods/server.cc
+++ b/methods/server.cc
@@ -130,7 +130,7 @@ bool ServerState::HeaderLine(string Line)
{
Code[0] = '\0';
if (Owner != NULL && Owner->Debug == true)
- clog << "HTTP server doesn't give Reason-Phrase for " << Result << std::endl;
+ clog << "HTTP server doesn't give Reason-Phrase for " << std::to_string(Result) << std::endl;
}
else if (elements != 4)
return _error->Error(_("The HTTP server sent an invalid reply header"));
diff --git a/test/integration/test-apt-download-progress b/test/integration/test-apt-download-progress
index b48e7ebb3..7ac044a57 100755
--- a/test/integration/test-apt-download-progress
+++ b/test/integration/test-apt-download-progress
@@ -11,13 +11,9 @@ setupenvironment
changetohttpswebserver
assertprogress() {
- T="$1"
- testsuccess grep "dlstatus:1:0:Retrieving file 1 of 1" "$T"
- if ! grep -E -q "dlstatus:1:(0\..*|([1-9](\..*)?)|[1-9][0-9](\..*)?):Retrieving file 1 of 1" "$T"; then
- cat "$T"
- msgfail "Failed to detect download progress"
- fi
- testsuccess grep "dlstatus:1:100:Retrieving file 1 of 1" "$T"
+ testsuccess grep "dlstatus:1:0.0000:Retrieving file 1 of 1" "$1"
+ testsuccess grep -E "dlstatus:1:[1-9][0-9]{0,1}\.[0-9]{1,4}:Retrieving file 1 of 1" "$1"
+ testsuccess grep "dlstatus:1:100.0000:Retrieving file 1 of 1" "$1"
}
# we need to ensure the file is reasonable big so that apt has a chance to
diff --git a/test/integration/test-apt-progress-fd b/test/integration/test-apt-progress-fd
index c6650bc2e..86eaa1354 100755
--- a/test/integration/test-apt-progress-fd
+++ b/test/integration/test-apt-progress-fd
@@ -15,15 +15,15 @@ setupaptarchive
# install native
exec 3> apt-progress.log
testsuccess aptget install testing=0.1 -y -o APT::Status-Fd=3
-testfileequal './apt-progress.log' 'dlstatus:1:0:Retrieving file 1 of 1
-dlstatus:1:100:Retrieving file 1 of 1
-pmstatus:dpkg-exec:0:Running dpkg
-pmstatus:testing:0:Installing testing (amd64)
+testfileequal './apt-progress.log' 'dlstatus:1:0.0000:Retrieving file 1 of 1
+dlstatus:1:100.0000:Retrieving file 1 of 1
+pmstatus:dpkg-exec:0.0000:Running dpkg
+pmstatus:testing:0.0000:Installing testing (amd64)
pmstatus:testing:16.6667:Preparing testing (amd64)
pmstatus:testing:33.3333:Unpacking testing (amd64)
-pmstatus:testing:50:Preparing to configure testing (amd64)
-pmstatus:dpkg-exec:50:Running dpkg
-pmstatus:testing:50:Configuring testing (amd64)
+pmstatus:testing:50.0000:Preparing to configure testing (amd64)
+pmstatus:dpkg-exec:50.0000:Running dpkg
+pmstatus:testing:50.0000:Configuring testing (amd64)
pmstatus:testing:66.6667:Configuring testing (amd64)
pmstatus:testing:83.3333:Installed testing (amd64)
pmstatus:dpkg-exec:83.3333:Running dpkg'
@@ -31,15 +31,15 @@ pmstatus:dpkg-exec:83.3333:Running dpkg'
# upgrade
exec 3> apt-progress.log
testsuccess aptget install testing=0.8.15 -y -o APT::Status-Fd=3
-testfileequal './apt-progress.log' 'dlstatus:1:0:Retrieving file 1 of 1
-dlstatus:1:100:Retrieving file 1 of 1
-pmstatus:dpkg-exec:0:Running dpkg
-pmstatus:testing:0:Installing testing (amd64)
+testfileequal './apt-progress.log' 'dlstatus:1:0.0000:Retrieving file 1 of 1
+dlstatus:1:100.0000:Retrieving file 1 of 1
+pmstatus:dpkg-exec:0.0000:Running dpkg
+pmstatus:testing:0.0000:Installing testing (amd64)
pmstatus:testing:16.6667:Preparing testing (amd64)
pmstatus:testing:33.3333:Unpacking testing (amd64)
-pmstatus:testing:50:Preparing to configure testing (amd64)
-pmstatus:dpkg-exec:50:Running dpkg
-pmstatus:testing:50:Configuring testing (amd64)
+pmstatus:testing:50.0000:Preparing to configure testing (amd64)
+pmstatus:dpkg-exec:50.0000:Running dpkg
+pmstatus:testing:50.0000:Configuring testing (amd64)
pmstatus:testing:66.6667:Configuring testing (amd64)
pmstatus:testing:83.3333:Installed testing (amd64)
pmstatus:dpkg-exec:83.3333:Running dpkg'
@@ -47,15 +47,15 @@ pmstatus:dpkg-exec:83.3333:Running dpkg'
# reinstall
exec 3> apt-progress.log
testsuccess aptget install testing=0.8.15 --reinstall -y -o APT::Status-Fd=3
-testfileequal './apt-progress.log' 'dlstatus:1:0:Retrieving file 1 of 1
-dlstatus:1:100:Retrieving file 1 of 1
-pmstatus:dpkg-exec:0:Running dpkg
-pmstatus:testing:0:Installing testing (amd64)
+testfileequal './apt-progress.log' 'dlstatus:1:0.0000:Retrieving file 1 of 1
+dlstatus:1:100.0000:Retrieving file 1 of 1
+pmstatus:dpkg-exec:0.0000:Running dpkg
+pmstatus:testing:0.0000:Installing testing (amd64)
pmstatus:testing:16.6667:Preparing testing (amd64)
pmstatus:testing:33.3333:Unpacking testing (amd64)
-pmstatus:testing:50:Preparing to configure testing (amd64)
-pmstatus:dpkg-exec:50:Running dpkg
-pmstatus:testing:50:Configuring testing (amd64)
+pmstatus:testing:50.0000:Preparing to configure testing (amd64)
+pmstatus:dpkg-exec:50.0000:Running dpkg
+pmstatus:testing:50.0000:Configuring testing (amd64)
pmstatus:testing:66.6667:Configuring testing (amd64)
pmstatus:testing:83.3333:Installed testing (amd64)
pmstatus:dpkg-exec:83.3333:Running dpkg'
@@ -63,25 +63,25 @@ pmstatus:dpkg-exec:83.3333:Running dpkg'
# and remove
exec 3> apt-progress.log
testsuccess aptget remove testing -y -o APT::Status-Fd=3
-testfileequal './apt-progress.log' 'pmstatus:dpkg-exec:0:Running dpkg
-pmstatus:testing:0:Removing testing (amd64)
-pmstatus:testing:25:Preparing for removal of testing (amd64)
-pmstatus:testing:50:Removing testing (amd64)
-pmstatus:testing:75:Removed testing (amd64)
-pmstatus:dpkg-exec:75:Running dpkg'
+testfileequal './apt-progress.log' 'pmstatus:dpkg-exec:0.0000:Running dpkg
+pmstatus:testing:0.0000:Removing testing (amd64)
+pmstatus:testing:25.0000:Preparing for removal of testing (amd64)
+pmstatus:testing:50.0000:Removing testing (amd64)
+pmstatus:testing:75.0000:Removed testing (amd64)
+pmstatus:dpkg-exec:75.0000:Running dpkg'
# install non-native and ensure we get proper progress info
exec 3> apt-progress.log
testsuccess aptget install testing2:i386 -y -o APT::Status-Fd=3
-testfileequal './apt-progress.log' 'dlstatus:1:0:Retrieving file 1 of 1
-dlstatus:1:100:Retrieving file 1 of 1
-pmstatus:dpkg-exec:0:Running dpkg
-pmstatus:testing2:0:Installing testing2 (i386)
+testfileequal './apt-progress.log' 'dlstatus:1:0.0000:Retrieving file 1 of 1
+dlstatus:1:100.0000:Retrieving file 1 of 1
+pmstatus:dpkg-exec:0.0000:Running dpkg
+pmstatus:testing2:0.0000:Installing testing2 (i386)
pmstatus:testing2:16.6667:Preparing testing2 (i386)
pmstatus:testing2:33.3333:Unpacking testing2 (i386)
-pmstatus:testing2:50:Preparing to configure testing2 (i386)
-pmstatus:dpkg-exec:50:Running dpkg
-pmstatus:testing2:50:Configuring testing2 (i386)
+pmstatus:testing2:50.0000:Preparing to configure testing2 (i386)
+pmstatus:dpkg-exec:50.0000:Running dpkg
+pmstatus:testing2:50.0000:Configuring testing2 (i386)
pmstatus:testing2:66.6667:Configuring testing2 (i386)
pmstatus:testing2:83.3333:Installed testing2 (i386)
pmstatus:dpkg-exec:83.3333:Running dpkg'
diff --git a/test/integration/test-apt-progress-fd-deb822 b/test/integration/test-apt-progress-fd-deb822
index 58fd73275..a8d59608d 100755
--- a/test/integration/test-apt-progress-fd-deb822
+++ b/test/integration/test-apt-progress-fd-deb822
@@ -17,12 +17,12 @@ exec 3> apt-progress.log
testsuccess aptget install testing=0.1 -y -o APT::Status-deb822-Fd=3
testfileequal './apt-progress.log' 'Status: progress
-Percent: 0
+Percent: 0.0000
Message: Running dpkg
Status: progress
Package: testing:amd64
-Percent: 0
+Percent: 0.0000
Message: Installing testing (amd64)
Status: progress
@@ -37,16 +37,16 @@ Message: Unpacking testing (amd64)
Status: progress
Package: testing:amd64
-Percent: 50
+Percent: 50.0000
Message: Preparing to configure testing (amd64)
Status: progress
-Percent: 50
+Percent: 50.0000
Message: Running dpkg
Status: progress
Package: testing:amd64
-Percent: 50
+Percent: 50.0000
Message: Configuring testing (amd64)
Status: progress