Adding the argv[0] path to the working directory to make it possible find the project root even when the test is executed from outside the project dir (like it is on some buildbots).
Removed tests that moves into directories since they no longer work with this approach. The new functionality have been verified by manual tests of the following cases, example with a checkout root dir called webrtc/:
Working dir: Command line:
webrtc trunk/out/Debug/test
webrtc/trunk out/Debug/test
webrtc/trunk/out Debug/test
webrtc/trunk/out ./Debug/test
webrtc/trunk/out/Debug ./test
webrtc/trunk/out/Debug/subdir ../test
webrtc/trunk/out/Debug/subdir ./../test
I also made another program with its own main method (only links with 'test_support', not 'test_support_main') and made sure that it was still possible to use as before (i.e. works within the project tree but not above it):
#include "testsupport/fileutils.h"
int main(int argc, char** argv) {
printf("Working dir: %s\n", webrtc::test::WorkingDir().c_str());
printf("Project root: %s\n", webrtc::test::ProjectRootPath().c_str());
printf("Output path: %s\n", webrtc::test::OutputPath().c_str());
}
BUG=Existing implementation cannot handle when the working directory is outside the project checkout.
TEST=test_support_unittests and manual tests with video_codecs_test_framework_integration_tests + passing all trybots + memcheck tool
Review URL: https://webrtc-codereview.appspot.com/858014
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2927 4adac7df-926f-26a2-2b94-8c16560cd09d