Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: client/site_tests/graphics_Piglit/graphics_Piglit.py

Issue 6745001: Add piglit autotest (Closed) Base URL: ssh://gitrw.chromium.org:9222/autotest.git@master
Patch Set: cleanup Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 """
5 Runs the piglit OpenGL suite of tests.
6 """
7
8 import logging, os, re, shutil
9 from autotest_lib.client.bin import utils
10 from autotest_lib.client.common_lib import error
11 from autotest_lib.client.cros import cros_ui, cros_ui_test
12
13 class graphics_Piglit(cros_ui_test.UITest):
14 version = 1
15 preserve_srcdir = True
16
17 def setup(self, tarball='piglit.tar.gz'):
18 tarball_path = os.path.join(self.srcdir, tarball)
19 dst_path = os.path.join(self.bindir, 'piglit')
20 # in-source build, overwrite destination
21 shutil.rmtree(dst_path, ignore_errors=True)
22 utils.extract_tarball_to_dir(tarball_path, dst_path)
23 # patch in a single config file for now
24 shutil.copyfile(os.path.join(self.srcdir, 'cros-driver.tests'),
25 os.path.join(dst_path, 'tests/cros-driver.tests'))
26 os.chdir(dst_path)
27 # we have to tell cmake where to find glut
28 sysroot = os.environ['SYSROOT']
DaleCurtis 2011/04/04 17:51:56 I'm not positive this will work properly on the bu
29 cmd = 'cmake -DCMAKE_FIND_ROOT_PATH=' + sysroot
30 cmd = cmd + ' -DGLUT_INCLUDE_DIR=' + sysroot + '/usr/include'
31 cmd = cmd + ' -DGLUT_glut_LIBRARY=' + sysroot + '/usr/lib/libglut.so'
32 utils.run(cmd)
33 utils.make('-j %d' % utils.count_cpus())
34
35 # hard wiring the cros-driver.test config file for now
36 def run_once(self):
37 # "results/default/graphics_Piglit/cros-driver")
38 results_path = os.path.join(self.outputdir, "cros-driver")
39 os.chdir(os.path.join(self.bindir, 'piglit'))
40 cmd = "python piglit-run.py"
41 cmd = cmd + " tests/cros-driver.tests"
42 cmd = cmd + " " + results_path
43 cmd = cros_ui.xcommand(cmd)
44 utils.run(cmd)
45
46 # count number of pass, fail, warn and skip in the test summary
47 summary_path = os.path.join(results_path, "summary")
48 f = open(summary_path, 'r')
49 summary = f.read()
50 f.close()
51
52 # get passed
53 report = re.findall(r"\nresult: pass", summary)
54 if not report:
55 return error.TestFail('Output missing: pass number unknown!')
56 passed = len(report)
57 # get failed
58 report = re.findall(r"\nresult: fail", summary)
59 if not report:
60 return error.TestFail('Output missing: fail number unknown!')
61 failed = len(report)
62 # get warned
63 report = re.findall(r"\nresult: warn", summary)
64 if not report:
65 return error.TestFail('Output missing: warn number unknown!')
66 warned = len(report)
67 # get skipped
68 report = re.findall(r"\nresult: skip", summary)
69 if not report:
70 return error.TestFail('Output missing: skip number unknown!')
71 skipped = len(report)
72
73 # doesn't seem to send it to the host console
74 logging.info('Piglit: %d pass', passed)
75 logging.info('Piglit: %d fail', failed)
76 logging.info('Piglit: %d warn', warned)
77 logging.info('Piglit: %d skip', skipped)
78
79 # output numbers for plotting by harness
80 keyvals = {}
81 keyvals['count_subtests_pass'] = passed
82 keyvals['count_subtests_fail'] = failed
83 keyvals['count_subtests_warn'] = warned
84 keyvals['count_subtests_skip'] = skipped
85 self.write_perf_keyval(keyvals)
86
87 # generate human friendly html output
88 cmd = "python piglit-summary-html.py"
89 cmd = cmd + " " + os.path.join(results_path, "html")
90 cmd = cmd + " " + results_path
91 utils.run(cmd)
92
OLDNEW
« no previous file with comments | « client/site_tests/graphics_Piglit/control ('k') | client/site_tests/graphics_Piglit/src/README.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698