Move common test flags to a separate library.
This enables the possibility to use these flags from other main functions. Bug: b/217701950, b/238157120 Change-Id: I6e9f09c4be39b2ac690c8e6b6da380ef3c81f460 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269140 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37582}
This commit is contained in:
parent
507e3bc406
commit
054ea47379
@ -485,6 +485,16 @@ if (rtc_include_tests && !build_with_chromium) {
|
||||
absl_deps = [ "//third_party/abseil-cpp/absl/flags:flag" ]
|
||||
}
|
||||
|
||||
rtc_library("test_flags") {
|
||||
visibility = [ "*" ]
|
||||
testonly = true
|
||||
sources = [
|
||||
"test_flags.cc",
|
||||
"test_flags.h",
|
||||
]
|
||||
absl_deps = [ "//third_party/abseil-cpp/absl/flags:flag" ]
|
||||
}
|
||||
|
||||
rtc_library("test_main_lib") {
|
||||
visibility = [ "*" ]
|
||||
testonly = true
|
||||
@ -497,6 +507,7 @@ if (rtc_include_tests && !build_with_chromium) {
|
||||
":field_trial",
|
||||
":perf_test",
|
||||
":resources_dir_flag",
|
||||
":test_flags",
|
||||
":test_support",
|
||||
"../rtc_base",
|
||||
"../rtc_base:checks",
|
||||
|
||||
38
test/test_flags.cc
Normal file
38
test/test_flags.cc
Normal file
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "test/test_flags.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/flags/flag.h"
|
||||
|
||||
ABSL_FLAG(std::string,
|
||||
force_fieldtrials,
|
||||
"",
|
||||
"Field trials control experimental feature code which can be forced. "
|
||||
"E.g. running with --force_fieldtrials=WebRTC-FooFeature/Enable/"
|
||||
" will assign the group Enable to field trial WebRTC-FooFeature.");
|
||||
|
||||
ABSL_FLAG(std::vector<std::string>,
|
||||
plot,
|
||||
{},
|
||||
"List of metrics that should be exported for plotting (if they are "
|
||||
"available). Example: psnr,ssim,encode_time. To plot all available "
|
||||
" metrics pass 'all' as flag value");
|
||||
|
||||
ABSL_FLAG(
|
||||
std::string,
|
||||
isolated_script_test_perf_output,
|
||||
"",
|
||||
"Path where the perf results should be stored in proto format described "
|
||||
"described by histogram.proto in "
|
||||
"https://chromium.googlesource.com/catapult/.");
|
||||
22
test/test_flags.h
Normal file
22
test/test_flags.h
Normal file
@ -0,0 +1,22 @@
|
||||
/*
|
||||
* Copyright (c) 2022 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
#ifndef TEST_TEST_FLAGS_H_
|
||||
#define TEST_TEST_FLAGS_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "absl/flags/declare.h"
|
||||
|
||||
ABSL_DECLARE_FLAG(std::string, force_fieldtrials);
|
||||
ABSL_DECLARE_FLAG(std::vector<std::string>, plot);
|
||||
ABSL_DECLARE_FLAG(std::string, isolated_script_test_perf_output);
|
||||
|
||||
#endif // TEST_TEST_FLAGS_H_
|
||||
@ -28,6 +28,7 @@
|
||||
#include "system_wrappers/include/metrics.h"
|
||||
#include "test/field_trial.h"
|
||||
#include "test/gtest.h"
|
||||
#include "test/test_flags.h"
|
||||
#include "test/testsupport/perf_test.h"
|
||||
#include "test/testsupport/resources_dir_flag.h"
|
||||
|
||||
@ -64,22 +65,6 @@ ABSL_FLAG(std::string,
|
||||
"",
|
||||
"Path to output an empty JSON file which Chromium infra requires.");
|
||||
|
||||
ABSL_FLAG(
|
||||
std::string,
|
||||
isolated_script_test_perf_output,
|
||||
"",
|
||||
"Path where the perf results should be stored in proto format described "
|
||||
"described by histogram.proto in "
|
||||
"https://chromium.googlesource.com/catapult/.");
|
||||
|
||||
constexpr char kPlotAllMetrics[] = "all";
|
||||
ABSL_FLAG(std::vector<std::string>,
|
||||
plot,
|
||||
{},
|
||||
"List of metrics that should be exported for plotting (if they are "
|
||||
"available). Example: psnr,ssim,encode_time. To plot all available "
|
||||
" metrics pass 'all' as flag value");
|
||||
|
||||
ABSL_FLAG(bool, logs, true, "print logs to stderr");
|
||||
ABSL_FLAG(bool, verbose, false, "verbose logs to stderr");
|
||||
|
||||
@ -89,17 +74,12 @@ ABSL_FLAG(std::string,
|
||||
"Path to collect trace events (json file) for chrome://tracing. "
|
||||
"If not set, events aren't captured.");
|
||||
|
||||
ABSL_FLAG(std::string,
|
||||
force_fieldtrials,
|
||||
"",
|
||||
"Field trials control experimental feature code which can be forced. "
|
||||
"E.g. running with --force_fieldtrials=WebRTC-FooFeature/Enable/"
|
||||
" will assign the group Enable to field trial WebRTC-FooFeature.");
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
namespace {
|
||||
|
||||
constexpr char kPlotAllMetrics[] = "all";
|
||||
|
||||
class TestMainImpl : public TestMain {
|
||||
public:
|
||||
int Init(int* argc, char* argv[]) override { return Init(); }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user