summaryrefslogtreecommitdiffstats
path: root/webkit/tools/layout_tests/rebaseline.py
diff options
context:
space:
mode:
authordpranke@google.com <dpranke@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-21 00:43:03 +0000
committerdpranke@google.com <dpranke@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-21 00:43:03 +0000
commit2112999ec51a6a514cc66f5609a79eb735e14cb3 (patch)
treef0b94513b228d0a65dec3609b5e303c99791229d /webkit/tools/layout_tests/rebaseline.py
parent6641bf667244ed108b2d300766896f6fa84a6f4e (diff)
downloadchromium_src-2112999ec51a6a514cc66f5609a79eb735e14cb3.zip
chromium_src-2112999ec51a6a514cc66f5609a79eb735e14cb3.tar.gz
chromium_src-2112999ec51a6a514cc66f5609a79eb735e14cb3.tar.bz2
Reverting 23924 - several builds broke
BUG=none R=tony@chromium.org TEST=none Review URL: http://codereview.chromium.org/174207 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23928 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/tools/layout_tests/rebaseline.py')
-rw-r--r--webkit/tools/layout_tests/rebaseline.py38
1 files changed, 29 insertions, 9 deletions
diff --git a/webkit/tools/layout_tests/rebaseline.py b/webkit/tools/layout_tests/rebaseline.py
index f49c072..2261933 100644
--- a/webkit/tools/layout_tests/rebaseline.py
+++ b/webkit/tools/layout_tests/rebaseline.py
@@ -30,7 +30,12 @@ import urllib
import webbrowser
import zipfile
+import google.path_utils
+
from layout_package import path_utils
+from layout_package import platform_utils_linux
+from layout_package import platform_utils_mac
+from layout_package import platform_utils_win
from layout_package import test_expectations
BASELINE_SUFFIXES = ['.txt', '.png', '.checksum']
@@ -289,6 +294,18 @@ class Rebaseliner(object):
logging.info('Archive downloaded and saved to file: "%s"', fn)
return fn
+ def _GetPlatformNewResultsDir(self):
+ """Get the dir name to extract new baselines for the given platform."""
+
+ if self._platform == 'win':
+ return platform_utils_win.PlatformUtility(None).PlatformNewResultsDir()
+ elif self._platform == 'mac':
+ return platform_utils_mac.PlatformUtility(None).PlatformNewResultsDir()
+ elif self._platform == 'linux':
+ return platform_utils_linux.PlatformUtility(None).PlatformNewResultsDir()
+
+ return None
+
def _ExtractAndAddNewBaselines(self, archive_file):
"""Extract new baselines from archive and add them to SVN repository.
@@ -307,8 +324,13 @@ class Rebaseliner(object):
for name in zip_namelist:
logging.debug(' ' + name)
- platform = path_utils.PlatformName(self._platform)
- logging.debug('Platform dir: "%s"', platform)
+ platform_dir = self._GetPlatformNewResultsDir()
+ if not platform_dir:
+ logging.error('Invalid platform new results dir, platform: "%s"',
+ self._platform)
+ return None
+
+ logging.debug('Platform new results dir: "%s"', platform_dir)
test_no = 1
self._rebaselined_tests = []
@@ -332,14 +354,16 @@ class Rebaseliner(object):
expected_filename = '%s-expected%s' % (test_basename, suffix)
expected_fullpath = os.path.join(
- path_utils.ChromiumBaselinePath(platform), expected_filename)
+ path_utils.ChromiumPlatformResultsEnclosingDir(),
+ platform_dir,
+ expected_filename)
expected_fullpath = os.path.normpath(expected_fullpath)
logging.debug(' Expected file full path: "%s"', expected_fullpath)
data = zip_file.read(archive_test_name)
# Create the new baseline directory if it doesn't already exist.
- path_utils.MaybeMakeDirectory(os.path.dirname(expected_fullpath))
+ google.path_utils.MaybeMakeDirectory(os.path.dirname(expected_fullpath))
f = open(expected_fullpath, 'wb')
f.write(data)
@@ -764,11 +788,6 @@ def main():
logging.error('Invalid "platforms" option. --platforms must be specified '
'in order to rebaseline.')
sys.exit(1)
- platforms = [p.strip().lower() for p in options.platforms.split(',')]
- for platform in platforms:
- if not TestExpectationsFile.ToTestPlatformName(platform):
- logging.error('Invalid platform platform: "%s"' % (platform))
- sys.exit(1)
if not options.no_html_results:
options.html_directory = SetupHtmlDirectory(options.html_directory,
@@ -776,6 +795,7 @@ def main():
rebaselining_tests = set()
backup = options.backup
+ platforms = [p.strip().lower() for p in options.platforms.split(',')]
for platform in platforms:
rebaseliner = Rebaseliner(platform, options)