Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 49753ae0 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk Committed by Gerrit Code Review
Browse files

Merge "Migrate off of base::StringPrintf" into main

parents a35aa0fe 3caae303
Loading
Loading
Loading
Loading
+18 −15
Original line number Original line Diff line number Diff line
@@ -20,7 +20,6 @@


#include <android-base/macros.h>
#include <android-base/macros.h>
#include <android-base/scopeguard.h>
#include <android-base/scopeguard.h>
#include <android-base/stringprintf.h>
#include <binder/BpBinder.h>
#include <binder/BpBinder.h>
#include <binder/IPCThreadState.h>
#include <binder/IPCThreadState.h>
#include <binder/RpcServer.h>
#include <binder/RpcServer.h>
@@ -30,6 +29,7 @@
#include "Utils.h"
#include "Utils.h"


#include <random>
#include <random>
#include <sstream>


#include <inttypes.h>
#include <inttypes.h>


@@ -39,8 +39,6 @@


namespace android {
namespace android {


using base::StringPrintf;

#if RPC_FLAKE_PRONE
#if RPC_FLAKE_PRONE
void rpcMaybeWaitToFlake() {
void rpcMaybeWaitToFlake() {
    [[clang::no_destroy]] static std::random_device r;
    [[clang::no_destroy]] static std::random_device r;
@@ -329,8 +327,10 @@ std::string RpcState::BinderNode::toString() const {
        desc = "(not promotable)";
        desc = "(not promotable)";
    }
    }


    return StringPrintf("node{%p times sent: %zu times recd: %zu type: %s}",
    std::stringstream ss;
                        this->binder.unsafe_get(), this->timesSent, this->timesRecd, desc);
    ss << "node{" << intptr_t(this->binder.unsafe_get()) << " times sent: " << this->timesSent
       << " times recd: " << this->timesRecd << " type: " << desc << "}";
    return ss.str();
}
}


RpcState::CommandData::CommandData(size_t size) : mSize(size) {
RpcState::CommandData::CommandData(size_t size) : mSize(size) {
@@ -1220,10 +1220,11 @@ status_t RpcState::validateParcel(const sp<RpcSession>& session, const Parcel& p
    uint32_t protocolVersion = session->getProtocolVersion().value();
    uint32_t protocolVersion = session->getProtocolVersion().value();
    if (protocolVersion < RPC_WIRE_PROTOCOL_VERSION_RPC_HEADER_FEATURE_EXPLICIT_PARCEL_SIZE &&
    if (protocolVersion < RPC_WIRE_PROTOCOL_VERSION_RPC_HEADER_FEATURE_EXPLICIT_PARCEL_SIZE &&
        !rpcFields->mObjectPositions.empty()) {
        !rpcFields->mObjectPositions.empty()) {
        *errorMsg = StringPrintf("Parcel has attached objects but the session's protocol version "
        std::stringstream ss;
                                 "(%" PRIu32 ") is too old, must be at least %" PRIu32,
        ss << "Parcel has attached objects but the session's protocol version (" << protocolVersion
                                 protocolVersion,
           << ") is too old, must be at least "
                                 RPC_WIRE_PROTOCOL_VERSION_RPC_HEADER_FEATURE_EXPLICIT_PARCEL_SIZE);
           << RPC_WIRE_PROTOCOL_VERSION_RPC_HEADER_FEATURE_EXPLICIT_PARCEL_SIZE;
        *errorMsg = ss.str();
        return BAD_VALUE;
        return BAD_VALUE;
    }
    }


@@ -1236,9 +1237,10 @@ status_t RpcState::validateParcel(const sp<RpcSession>& session, const Parcel& p
            case RpcSession::FileDescriptorTransportMode::UNIX: {
            case RpcSession::FileDescriptorTransportMode::UNIX: {
                constexpr size_t kMaxFdsPerMsg = 253;
                constexpr size_t kMaxFdsPerMsg = 253;
                if (rpcFields->mFds->size() > kMaxFdsPerMsg) {
                if (rpcFields->mFds->size() > kMaxFdsPerMsg) {
                    *errorMsg = StringPrintf("Too many file descriptors in Parcel for unix "
                    std::stringstream ss;
                                             "domain socket: %zu (max is %zu)",
                    ss << "Too many file descriptors in Parcel for unix domain socket: "
                                             rpcFields->mFds->size(), kMaxFdsPerMsg);
                       << rpcFields->mFds->size() << " (max is " << kMaxFdsPerMsg << ")";
                    *errorMsg = ss.str();
                    return BAD_VALUE;
                    return BAD_VALUE;
                }
                }
                break;
                break;
@@ -1249,9 +1251,10 @@ status_t RpcState::validateParcel(const sp<RpcSession>& session, const Parcel& p
                // available on Android
                // available on Android
                constexpr size_t kMaxFdsPerMsg = 8;
                constexpr size_t kMaxFdsPerMsg = 8;
                if (rpcFields->mFds->size() > kMaxFdsPerMsg) {
                if (rpcFields->mFds->size() > kMaxFdsPerMsg) {
                    *errorMsg = StringPrintf("Too many file descriptors in Parcel for Trusty "
                    std::stringstream ss;
                                             "IPC connection: %zu (max is %zu)",
                    ss << "Too many file descriptors in Parcel for Trusty IPC connection: "
                                             rpcFields->mFds->size(), kMaxFdsPerMsg);
                       << rpcFields->mFds->size() << " (max is " << kMaxFdsPerMsg << ")";
                    *errorMsg = ss.str();
                    return BAD_VALUE;
                    return BAD_VALUE;
                }
                }
                break;
                break;
+5 −6
Original line number Original line Diff line number Diff line
@@ -22,7 +22,6 @@
#include <android-base/file.h>
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
#include <android-base/properties.h>
#include <android-base/stringprintf.h>
#include <android/debug/BnAdbCallback.h>
#include <android/debug/BnAdbCallback.h>
#include <android/debug/IAdbManager.h>
#include <android/debug/IAdbManager.h>
#include <android/os/BnServiceManager.h>
#include <android/os/BnServiceManager.h>
@@ -46,7 +45,6 @@ using android::base::LogdLogger;
using android::base::LogId;
using android::base::LogId;
using android::base::LogSeverity;
using android::base::LogSeverity;
using android::base::StdioLogger;
using android::base::StdioLogger;
using android::base::StringPrintf;
using std::string_view_literals::operator""sv;
using std::string_view_literals::operator""sv;


namespace {
namespace {
@@ -57,11 +55,12 @@ using android::debug::IAdbManager;


int Usage(const char* program) {
int Usage(const char* program) {
    auto basename = Basename(program);
    auto basename = Basename(program);
    auto format = R"(dispatch calls to RPC service.
    // clang-format off
    LOG(ERROR) << R"(dispatch calls to RPC service.
Usage:
Usage:
  %s [-g] [-i <ip_address>] <service_name>
  )" << basename << R"( [-g] [-i <ip_address>] <service_name>
    <service_name>: the service to connect to.
    <service_name>: the service to connect to.
  %s [-g] manager
  )" << basename << R"( [-g] manager
    Runs an RPC-friendly service that redirects calls to servicemanager.
    Runs an RPC-friendly service that redirects calls to servicemanager.


  -g: use getService() instead of checkService().
  -g: use getService() instead of checkService().
@@ -71,7 +70,7 @@ Usage:
  blocks until killed.
  blocks until killed.
  Otherwise, writes error message to stderr and exits with non-zero code.
  Otherwise, writes error message to stderr and exits with non-zero code.
)";
)";
    LOG(ERROR) << StringPrintf(format, basename.c_str(), basename.c_str());
    // clang-format on
    return EX_USAGE;
    return EX_USAGE;
}
}


+6 −7
Original line number Original line Diff line number Diff line
@@ -18,7 +18,6 @@
// only used on NDK tests outside of vendor
// only used on NDK tests outside of vendor
#include <aidl/IBinderRpcTest.h>
#include <aidl/IBinderRpcTest.h>
#endif
#endif
#include <android-base/stringprintf.h>


#include <chrono>
#include <chrono>
#include <cstdlib>
#include <cstdlib>
@@ -59,12 +58,12 @@ constexpr char kTrustyIpcDevice[] = "/dev/trusty-ipc-dev0";


static std::string WaitStatusToString(int wstatus) {
static std::string WaitStatusToString(int wstatus) {
    if (WIFEXITED(wstatus)) {
    if (WIFEXITED(wstatus)) {
        return base::StringPrintf("exit status %d", WEXITSTATUS(wstatus));
        return std::format("exit status {}", WEXITSTATUS(wstatus));
    }
    }
    if (WIFSIGNALED(wstatus)) {
    if (WIFSIGNALED(wstatus)) {
        return base::StringPrintf("term signal %d", WTERMSIG(wstatus));
        return std::format("term signal {}", WTERMSIG(wstatus));
    }
    }
    return base::StringPrintf("unexpected state %d", wstatus);
    return std::format("unexpected state {}", wstatus);
}
}


static void debugBacktrace(pid_t pid) {
static void debugBacktrace(pid_t pid) {
@@ -260,9 +259,9 @@ std::unique_ptr<ProcessSession> BinderRpc::createRpcTestSocketServerProcessEtc(
    bool noKernel = GetParam().noKernel;
    bool noKernel = GetParam().noKernel;


    std::string path = android::base::GetExecutableDirectory();
    std::string path = android::base::GetExecutableDirectory();
    auto servicePath = android::base::StringPrintf("%s/binder_rpc_test_service%s%s", path.c_str(),
    auto servicePath =
                                                   singleThreaded ? "_single_threaded" : "",
            std::format("{}/binder_rpc_test_service{}{}", path,
                                                   noKernel ? "_no_kernel" : "");
                        singleThreaded ? "_single_threaded" : "", noKernel ? "_no_kernel" : "");


    base::unique_fd bootstrapClientFd, socketFd;
    base::unique_fd bootstrapClientFd, socketFd;


+2 −2
Original line number Original line Diff line number Diff line
@@ -22,7 +22,6 @@
#include <BnBinderRpcCallback.h>
#include <BnBinderRpcCallback.h>
#include <BnBinderRpcSession.h>
#include <BnBinderRpcSession.h>
#include <BnBinderRpcTest.h>
#include <BnBinderRpcTest.h>
#include <android-base/stringprintf.h>
#include <binder/Binder.h>
#include <binder/Binder.h>
#include <binder/BpBinder.h>
#include <binder/BpBinder.h>
#include <binder/IPCThreadState.h>
#include <binder/IPCThreadState.h>
@@ -58,6 +57,7 @@
#include "../BuildFlags.h"
#include "../BuildFlags.h"
#include "../FdTrigger.h"
#include "../FdTrigger.h"
#include "../RpcState.h" // for debugging
#include "../RpcState.h" // for debugging
#include "format.h"
#include "utils/Errors.h"
#include "utils/Errors.h"


namespace android {
namespace android {
@@ -91,7 +91,7 @@ static inline std::vector<uint32_t> testVersions() {
}
}


static inline std::string trustyIpcPort(uint32_t serverVersion) {
static inline std::string trustyIpcPort(uint32_t serverVersion) {
    return base::StringPrintf("com.android.trusty.binderRpcTestService.V%" PRIu32, serverVersion);
    return std::format("com.android.trusty.binderRpcTestService.V{}", serverVersion);
}
}


enum class SocketType {
enum class SocketType {
+0 −2
Original line number Original line Diff line number Diff line
@@ -16,7 +16,6 @@


#define TLOG_TAG "binderRpcTestService"
#define TLOG_TAG "binderRpcTestService"


#include <android-base/stringprintf.h>
#include <binder/RpcServerTrusty.h>
#include <binder/RpcServerTrusty.h>
#include <inttypes.h>
#include <inttypes.h>
#include <lib/tipc/tipc.h>
#include <lib/tipc/tipc.h>
@@ -28,7 +27,6 @@
#include "binderRpcTestCommon.h"
#include "binderRpcTestCommon.h"


using namespace android;
using namespace android;
using android::base::StringPrintf;
using binder::Status;
using binder::Status;


static int gConnectionCounter = 0;
static int gConnectionCounter = 0;
Loading