blob: e907c75e7033243b1b1a8677be5c9813338b039e [file] [log] [blame]
senorblanco@chromium.org782f3b42012-10-29 18:06:26 +00001#!/usr/bin/python
2
3'''
4Copyright 2012 Google Inc.
5
6Use of this source code is governed by a BSD-style license that can be
7found in the LICENSE file.
8'''
9
10'''
11Rebaselines a single GM test, on all bots and all configurations.
12Must be run from an SVN checkout of the gm-expected directory.
13'''
14
15import os, subprocess, sys, tempfile
16
17pairs = [
18 ['base-shuttle-win7-intel-float',
19 'Skia_Shuttle_Win7_Intel_Float_Release_32'],
senorblanco@chromium.org5682f212012-10-30 14:34:55 +000020 ['base-shuttle-win7-intel-angle',
21 'Skia_Shuttle_Win7_Intel_Float_ANGLE_Release_32'],
22 ['base-shuttle-win7-intel-directwrite',
23 'Skia_Shuttle_Win7_Intel_Float_DirectWrite_Release_32'],
senorblanco@chromium.org782f3b42012-10-29 18:06:26 +000024 ['base-shuttle_ubuntu12_ati5770',
25 'Skia_Shuttle_Ubuntu12_ATI5770_Float_Release_64'],
26 ['base-macmini',
27 'Skia_Mac_Float_Release_32'],
28 ['base-macmini-lion-float',
29 'Skia_MacMiniLion_Float_Release_32'],
30 ['base-android-galaxy-nexus',
31 'Skia_GalaxyNexus_4-1_Float_Release_32'],
32 ['base-android-nexus-7',
33 'Skia_Nexus7_4-1_Float_Release_32'],
34 ['base-android-nexus-s',
35 'Skia_NexusS_4-1_Float_Release_32'],
36 ['base-android-xoom',
37 'Skia_Xoom_4-1_Float_Release_32'],
38]
39
40if len(sys.argv) != 2:
41 print 'Usage: ' + os.path.basename(sys.argv[0]) + ' <testname>'
42 exit(1)
43
44testname = sys.argv[1]
senorblanco@chromium.org782f3b42012-10-29 18:06:26 +000045
senorblanco@chromium.org79fc6fc2012-11-07 22:32:12 +000046is_svn_checkout = os.path.exists(os.path.join('..', '.svn'))
47is_git_checkout = os.path.exists(os.path.join('..', '.git'))
48
senorblanco@chromium.org782f3b42012-10-29 18:06:26 +000049for pair in pairs:
senorblanco@chromium.org5682f212012-10-30 14:34:55 +000050 if (pair[0] == 'base-shuttle-win7-intel-angle'):
51 testtypes = [ 'angle' ]
52 else:
53 testtypes = [ '4444', '565', '8888', 'gpu', 'pdf' ]
senorblanco@chromium.org782f3b42012-10-29 18:06:26 +000054 print pair[0] + ':'
55 for testtype in testtypes:
56 infilename = testname + '_' + testtype + '.png'
57 print infilename
58
59 url = 'http://skia-autogen.googlecode.com/svn/gm-actual/' + pair[0] + '/' + pair[1] + '/' + pair[0] + '/' + infilename
60 cmd = [ 'curl', '--fail', '--silent', url ]
61 temp = tempfile.NamedTemporaryFile()
62 ret = subprocess.call(cmd, stdout=temp)
63 if ret != 0:
64 print 'Couldn\'t fetch ' + url
65 continue
66 outfilename = os.path.join(pair[0], infilename);
67 cmd = [ 'cp', temp.name, outfilename ]
68 subprocess.call(cmd);
senorblanco@chromium.org79fc6fc2012-11-07 22:32:12 +000069 if is_svn_checkout:
70 cmd = [ 'svn', 'add', '--quiet', outfilename ]
71 subprocess.call(cmd)
72 cmd = [ 'svn', 'propset', '--quiet', 'svn:mime-type', 'image/png', outfilename ];
73 subprocess.call(cmd)
74 elif is_git_checkout:
75 cmd = [ 'git', 'add', outfilename ]
76 subprocess.call(cmd)