mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-14 06:10:40 +01:00

We needed a hack in test_main_lib.cc to ensure fileutils were always linked with test binaries downstream. When I removed the hack, it broke the binaries that were _not_ using fileutils because a certain bazel rule expects to be able to pass the flag to all test binaries. The solution is to move the flag to test_main_lib.cc. This is the right place for it since it's apparently in the contract of a WebRTC test binary to support this flag. We then have to pass the value down to the override, which is why I add a new function for that. I leave the flag unimplemented in OSS because no one is using it here anyway. It will be implemented downstream. Bug: webrtc:9792 Change-Id: I21b3deb43bf0cd56d6aa2622dc5519370a0307a9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156568 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Patrik Höglund <phoglund@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29474}
64 lines
2.5 KiB
C++
64 lines
2.5 KiB
C++
/*
|
|
* Copyright (c) 2018 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 <string>
|
|
|
|
#ifndef TEST_TESTSUPPORT_FILE_UTILS_OVERRIDE_H_
|
|
#define TEST_TESTSUPPORT_FILE_UTILS_OVERRIDE_H_
|
|
|
|
namespace webrtc {
|
|
namespace test {
|
|
namespace internal {
|
|
|
|
// Returns the absolute path to the output directory where log files and other
|
|
// test artifacts should be put. The output directory is generally a directory
|
|
// named "out" at the project root. This root is assumed to be two levels above
|
|
// where the test binary is located; this is because tests execute in a dir
|
|
// out/Whatever relative to the project root. This convention is also followed
|
|
// in Chromium.
|
|
//
|
|
// The exception is Android where we use /sdcard/ instead.
|
|
//
|
|
// If symbolic links occur in the path they will be resolved and the actual
|
|
// directory will be returned.
|
|
//
|
|
// Returns the path WITH a trailing path delimiter. If the project root is not
|
|
// found, the current working directory ("./") is returned as a fallback.
|
|
std::string OutputPath();
|
|
|
|
// Gets the current working directory for the executing program.
|
|
// Returns "./" if for some reason it is not possible to find the working
|
|
// directory.
|
|
std::string WorkingDir();
|
|
|
|
// Returns a full path to a resource file in the resources_dir dir.
|
|
//
|
|
// Arguments:
|
|
// name - Name of the resource file. If a plain filename (no directory path)
|
|
// is supplied, the file is assumed to be located in resources/
|
|
// If a directory path is prepended to the filename, a subdirectory
|
|
// hierarchy reflecting that path is assumed to be present.
|
|
// extension - File extension, without the dot, i.e. "bmp" or "yuv".
|
|
std::string ResourcePath(const std::string& name, const std::string& extension);
|
|
|
|
// Overrides the root resource dir. See ResourcePath for more information.
|
|
//
|
|
// This is not necessary in most cases, but it can be if we're running on
|
|
// phones and copy over resources to some custom location.
|
|
//
|
|
// Arguments:
|
|
// resources_dir - Where resources are located.
|
|
void OverrideResourcesDir(const std::string& resources_dir);
|
|
|
|
} // namespace internal
|
|
} // namespace test
|
|
} // namespace webrtc
|
|
|
|
#endif // TEST_TESTSUPPORT_FILE_UTILS_OVERRIDE_H_
|