From 46591a9c48a81940137196b5abb955ae9ef4eae5 Mon Sep 17 00:00:00 2001 From: Andrea Orru Date: Tue, 15 Oct 2024 09:23:15 +0000 Subject: [PATCH] keymaster_benchmark: remove usage of base::CommandLine As part of the effort to uprev libchrome in Android, we are trying to remove Android dependencies to libchrome that are not strictly required. Bug: 360917504 Test: Presubmit Change-Id: Icce3f3a6c075509968d3565aec3153c4771ebb2d --- keymaster/4.0/vts/performance/Android.bp | 1 - keymaster/4.0/vts/performance/Benchmark.cpp | 28 +++++++++++++++------ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/keymaster/4.0/vts/performance/Android.bp b/keymaster/4.0/vts/performance/Android.bp index d7342ad253..8f26871a74 100644 --- a/keymaster/4.0/vts/performance/Android.bp +++ b/keymaster/4.0/vts/performance/Android.bp @@ -33,6 +33,5 @@ cc_benchmark { "android.hardware.keymaster@4.0", "libkeymaster4support", "libsoftkeymasterdevice", - "libchrome" ], } diff --git a/keymaster/4.0/vts/performance/Benchmark.cpp b/keymaster/4.0/vts/performance/Benchmark.cpp index e5fdff2c69..723b543232 100644 --- a/keymaster/4.0/vts/performance/Benchmark.cpp +++ b/keymaster/4.0/vts/performance/Benchmark.cpp @@ -16,6 +16,8 @@ #define LOG_TAG "keymaster_benchmark" +#include + #include #include #include @@ -36,8 +38,6 @@ #include #include -#include - namespace android { namespace hardware { namespace keymaster { @@ -700,14 +700,26 @@ BENCHMARK_KM_CIPHER_ALL_RSA_KEYS(RSA/ECB/OAEPPadding, SMALL_MESSAGE_SIZE); } // namespace hardware } // namespace android +namespace { + +std::string ParseCommandLineFlags(int argc, char** argv) { + std::string service_name = "default"; + static struct option long_options[] = {{"service_name", required_argument, 0, 's'}, + {0, 0, 0, 0}}; + int opt; + while ((opt = getopt_long(argc, argv, "s:", long_options, nullptr)) != -1) { + if (opt == 's') { + service_name = optarg; + } + } + return service_name; +} + +} // namespace + int main(int argc, char** argv) { ::benchmark::Initialize(&argc, argv); - base::CommandLine::Init(argc, argv); - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - auto service_name = command_line->GetSwitchValueASCII("service_name"); - if (service_name.empty()) { - service_name = "default"; - } + std::string service_name = ParseCommandLineFlags(argc, argv); android::hardware::keymaster::V4_0::test::keymaster = android::hardware::keymaster::V4_0::test::KeymasterWrapper::newInstance(service_name); if (!android::hardware::keymaster::V4_0::test::keymaster) {