Unreverts revert: Makes it possible to find files used by some unit tests when running them as Chrome native tests.
TBR=andrew@webrtc.org BUG=N/A Review URL: https://webrtc-codereview.appspot.com/1754005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4303 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
1932fe1865
commit
34773d9b6b
2
DEPS
2
DEPS
@ -158,7 +158,7 @@ hooks = [
|
||||
# If a newer version or no current download exists, it will download
|
||||
# the resources and extract them.
|
||||
"pattern": ".",
|
||||
"action": ["python", Var("root_dir") + "/webrtc/tools/update.py"],
|
||||
"action": ["python", Var("root_dir") + "/webrtc/tools/update_resources.py"],
|
||||
},
|
||||
{
|
||||
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
|
||||
|
@ -62,6 +62,8 @@
|
||||
'sources': [
|
||||
'test_suite.cc',
|
||||
'test_suite.h',
|
||||
'testsupport/android/root_path_android.cc',
|
||||
'testsupport/android/root_path_android_chromium.cc',
|
||||
'testsupport/fileutils.cc',
|
||||
'testsupport/fileutils.h',
|
||||
'testsupport/frame_reader.cc',
|
||||
@ -79,6 +81,36 @@
|
||||
'testsupport/trace_to_stderr.cc',
|
||||
'testsupport/trace_to_stderr.h',
|
||||
],
|
||||
'conditions': [
|
||||
# TODO(henrike): remove build_with_chromium==1 when the bots are using
|
||||
# Chromium's buildbots.
|
||||
['build_with_chromium==1 and OS=="android" and gtest_target_type=="shared_library"', {
|
||||
'dependencies': [
|
||||
'<(DEPTH)/base/base.gyp:base',
|
||||
],
|
||||
'sources!': [
|
||||
'testsupport/android/root_path_android.cc',
|
||||
],
|
||||
# WebRTC tests use resource files for testing. These files are not
|
||||
# hosted in WebRTC. The script ensures that the needed resources
|
||||
# are downloaded. In stand alone WebRTC the script is called by
|
||||
# the DEPS file. In Chromium, i.e. here, the files are pulled down
|
||||
# only if tests requiring the resources are being built.
|
||||
'actions': [
|
||||
{
|
||||
'action_name': 'get_resources',
|
||||
'inputs': ['<(webrtc_root)/tools/update_resources.py'],
|
||||
'outputs': ['../../resources'],
|
||||
'action': ['python',
|
||||
'<(webrtc_root)/tools/update_resources.py',
|
||||
'-p ../../../'],
|
||||
}],
|
||||
}, {
|
||||
'sources!': [
|
||||
'testsupport/android/root_path_android_chromium.cc',
|
||||
],
|
||||
}],
|
||||
],
|
||||
},
|
||||
{
|
||||
# Depend on this target when you want to have test_support but also the
|
||||
|
@ -8,6 +8,8 @@
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace webrtc {
|
||||
namespace test {
|
||||
|
||||
|
@ -31,28 +31,33 @@
|
||||
namespace webrtc {
|
||||
namespace test {
|
||||
|
||||
namespace {
|
||||
|
||||
#ifdef WIN32
|
||||
static const char* kPathDelimiter = "\\";
|
||||
const char* kPathDelimiter = "\\";
|
||||
#else
|
||||
static const char* kPathDelimiter = "/";
|
||||
const char* kPathDelimiter = "/";
|
||||
#endif
|
||||
|
||||
#ifdef WEBRTC_ANDROID
|
||||
static const char* kRootDirName = "/sdcard/";
|
||||
static const char* kResourcesDirName = "resources";
|
||||
const char* kResourcesDirName = "resources";
|
||||
#else
|
||||
// The file we're looking for to identify the project root dir.
|
||||
static const char* kProjectRootFileName = "DEPS";
|
||||
static const char* kOutputDirName = "out";
|
||||
static const char* kFallbackPath = "./";
|
||||
static const char* kResourcesDirName = "resources";
|
||||
const char* kProjectRootFileName = "DEPS";
|
||||
const char* kResourcesDirName = "resources";
|
||||
#endif
|
||||
const char* kCannotFindProjectRootDir = "ERROR_CANNOT_FIND_PROJECT_ROOT_DIR";
|
||||
|
||||
namespace {
|
||||
const char* kFallbackPath = "./";
|
||||
const char* kOutputDirName = "out";
|
||||
char relative_dir_path[FILENAME_MAX];
|
||||
bool relative_dir_path_set = false;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
const char* kCannotFindProjectRootDir = "ERROR_CANNOT_FIND_PROJECT_ROOT_DIR";
|
||||
|
||||
std::string OutputPathAndroid();
|
||||
std::string ProjectRoothPathAndroid();
|
||||
|
||||
void SetExecutablePath(const std::string& path) {
|
||||
std::string working_dir = WorkingDir();
|
||||
@ -73,18 +78,30 @@ bool FileExists(std::string& file_name) {
|
||||
return stat(file_name.c_str(), &file_info) == 0;
|
||||
}
|
||||
|
||||
std::string OutputPathImpl() {
|
||||
std::string path = ProjectRootPath();
|
||||
if (path == kCannotFindProjectRootDir) {
|
||||
return kFallbackPath;
|
||||
}
|
||||
path += kOutputDirName;
|
||||
if (!CreateDirectory(path)) {
|
||||
return kFallbackPath;
|
||||
}
|
||||
return path + kPathDelimiter;
|
||||
}
|
||||
|
||||
#ifdef WEBRTC_ANDROID
|
||||
|
||||
std::string ProjectRootPath() {
|
||||
return kRootDirName;
|
||||
return ProjectRoothPathAndroid();
|
||||
}
|
||||
|
||||
std::string OutputPath() {
|
||||
return kRootDirName;
|
||||
return OutputPathAndroid();
|
||||
}
|
||||
|
||||
std::string WorkingDir() {
|
||||
return kRootDirName;
|
||||
return ProjectRootPath();
|
||||
}
|
||||
|
||||
#else // WEBRTC_ANDROID
|
||||
@ -114,15 +131,7 @@ std::string ProjectRootPath() {
|
||||
}
|
||||
|
||||
std::string OutputPath() {
|
||||
std::string path = ProjectRootPath();
|
||||
if (path == kCannotFindProjectRootDir) {
|
||||
return kFallbackPath;
|
||||
}
|
||||
path += kOutputDirName;
|
||||
if (!CreateDirectory(path)) {
|
||||
return kFallbackPath;
|
||||
}
|
||||
return path + kPathDelimiter;
|
||||
return OutputPathImpl();
|
||||
}
|
||||
|
||||
std::string WorkingDir() {
|
||||
|
@ -23,6 +23,7 @@ REMOTE_URL_BASE = 'http://commondatastorage.googleapis.com/webrtc-resources'
|
||||
VERSION_FILENAME = 'webrtc-resources-version'
|
||||
FILENAME_PREFIX = 'webrtc-resources-'
|
||||
EXTENSION = '.tgz'
|
||||
RELATIVE_OUTPUT_PATH = '../../'
|
||||
|
||||
|
||||
def main():
|
||||
@ -41,14 +42,6 @@ def main():
|
||||
print 'Skipping resources download since WEBRTC_SKIP_RESOURCES_DOWNLOAD set'
|
||||
return
|
||||
|
||||
project_root_dir = os.path.normpath(sys.path[0] + '/../../')
|
||||
downloads_dir = os.path.join(project_root_dir, 'resources')
|
||||
current_version_file = os.path.join(downloads_dir, VERSION_FILENAME)
|
||||
|
||||
# Ensure the downloads dir is created.
|
||||
if not os.path.isdir(downloads_dir):
|
||||
os.mkdir(downloads_dir)
|
||||
|
||||
# Define and parse arguments.
|
||||
parser = OptionParser()
|
||||
parser.add_option('-f', '--force', action='store_true', dest='force',
|
||||
@ -56,7 +49,17 @@ def main():
|
||||
parser.add_option('-b', '--base_url', dest='base_url',
|
||||
help= 'Overrides the default Base URL (%s) and uses the '
|
||||
'supplied URL instead.' % REMOTE_URL_BASE)
|
||||
(options, unused_args) = parser.parse_args()
|
||||
parser.add_option('-p', dest='path', help= 'path of resources directory'
|
||||
'relative to this script', default=RELATIVE_OUTPUT_PATH)
|
||||
options = parser.parse_args()[0]
|
||||
|
||||
project_root_dir = os.path.normpath(sys.path[0] + '/' + options.path)
|
||||
downloads_dir = os.path.join(project_root_dir, 'resources')
|
||||
current_version_file = os.path.join(downloads_dir, VERSION_FILENAME)
|
||||
|
||||
# Ensure the downloads dir is created.
|
||||
if not os.path.isdir(downloads_dir):
|
||||
os.mkdir(downloads_dir)
|
||||
|
||||
# Download archive if forced or DEPS version is different than our current.
|
||||
current_version = _get_current_version(current_version_file)
|
Loading…
x
Reference in New Issue
Block a user