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

Side by Side Diff: tools/tests/skimage/self_test.py

Issue 14969007: Create a self test for skimage. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years, 7 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
scroggo 2013/05/09 15:50:43 I noticed that gm's self test has a note that it s
epoger 2013/05/09 16:35:50 Yes, good idea to do it that way in the first plac
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5
6 # Self-test for skimage.
7
8 import os
9 import subprocess
10
11 # Use the directory of this file as the out directory
epoger 2013/05/09 16:35:50 I think it would be better to write test files int
scroggo 2013/05/09 19:05:59 Done.
12 out_dir = os.path.dirname(__file__)
13 out_dir = os.path.abspath(out_dir)
14
15 # Move up to trunk
16 old_working_dir = os.getcwd()
17 os.chdir(out_dir)
18 os.chdir('../../../')
19
20 # Find the binary
21 skimage_binary = None
22 xcode_path = "xcodebuild/Debug/skimage"
23 gcc_path = "out/Debug/skimage"
scroggo 2013/05/09 15:50:43 It looks like gm's self test assumes you have alre
epoger 2013/05/09 16:35:50 Yeah, it's a tough call, because individual develo
24
25 if (os.path.exists(gcc_path)):
epoger 2013/05/09 16:35:50 Good idea to go looking for the binary in differen
scroggo 2013/05/09 19:05:59 I have added a function to find the binary. I also
26 skimage_binary = gcc_path
27 elif (os.path.exists(xcode_path)):
28 skimage_binary = xcode_path
29
30 resultsFile = None
31
32 if (skimage_binary != None):
33 try:
34 # Run skimage twice, first to create an expectations file, and then
35 # comparing to it.
36 # Both commands will run the binary, reading from resources.
37 cmd_line = [skimage_binary]
38 cmd_line.extend(["-r", "resources/CMYK.jpg", "resources/plane.png"])
epoger 2013/05/09 16:35:50 Alternatively, you could assemble these paths as a
scroggo 2013/05/09 19:05:59 Done.
39 # Create the expectations file
40 create_expectations_cmd = cmd_line + ["--createExpectationsPath", out_di r]
41 subprocess.check_call(create_expectations_cmd)
scroggo 2013/05/09 15:57:29 There are some commands for calling programs more
epoger 2013/05/09 16:35:50 Unfortunately, no. Most developers will have chec
scroggo 2013/05/09 19:05:59 That sounds reasonable to me. Probably outside of
epoger 2013/05/09 19:19:39 Definitely outside the scope of this CL. Please c
42 # Now read from the expectations file
43 resultsFile = os.path.join(out_dir, "results.json")
44 check_expectations_cmd = cmd_line + ["--readExpectationsPath", resultsFi le]
epoger 2013/05/09 16:35:50 Great! This is definitely a good start... but, if
scroggo 2013/05/09 19:05:59 Definitely the long term plan is to compare agains
epoger 2013/05/09 19:19:39 To some extent, we may be able to have expectation
45 subprocess.check_call(check_expectations_cmd)
46 print "Self tests succeeded!"
47 except subprocess.CalledProcessError as e:
48 print skimage_binary + " failed with error code " + str(e.returncode)
49 print "Self tests failed!"
epoger 2013/05/09 16:35:50 It would be better if the process exited with a no
scroggo 2013/05/09 19:05:59 Done.
50 else:
51 print "Could not find skimage binary!"
52 print "Did you forget to build tools project?"
53 print "Self tests failed"
54
55 # Delete the results file, which is no longer needed.
56 if (resultsFile != None and os.path.exists(resultsFile)):
57 os.remove(resultsFile)
58
59 # Return to the original working directory.
60 os.chdir(old_working_dir)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698