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

Side by Side Diff: test/cctest/testcfg.py

Issue 7550030: Make GYP build usable for day-to-day work (second attempt) (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 years, 4 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 | « test/cctest/cctest.gyp ('k') | test/preparser/testcfg.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2008 the V8 project authors. All rights reserved. 1 # Copyright 2008 the V8 project authors. All rights reserved.
2 # Redistribution and use in source and binary forms, with or without 2 # Redistribution and use in source and binary forms, with or without
3 # modification, are permitted provided that the following conditions are 3 # modification, are permitted provided that the following conditions are
4 # met: 4 # met:
5 # 5 #
6 # * Redistributions of source code must retain the above copyright 6 # * Redistributions of source code must retain the above copyright
7 # notice, this list of conditions and the following disclaimer. 7 # notice, this list of conditions and the following disclaimer.
8 # * Redistributions in binary form must reproduce the above 8 # * Redistributions in binary form must reproduce the above
9 # copyright notice, this list of conditions and the following 9 # copyright notice, this list of conditions and the following
10 # disclaimer in the documentation and/or other materials provided 10 # disclaimer in the documentation and/or other materials provided
(...skipping 30 matching lines...) Expand all
41 self.dependency = dependency 41 self.dependency = dependency
42 self.variant_flags = variant_flags 42 self.variant_flags = variant_flags
43 43
44 def GetLabel(self): 44 def GetLabel(self):
45 return "%s %s %s" % (self.mode, self.path[-2], self.path[-1]) 45 return "%s %s %s" % (self.mode, self.path[-2], self.path[-1])
46 46
47 def GetName(self): 47 def GetName(self):
48 return self.path[-1] 48 return self.path[-1]
49 49
50 def BuildCommand(self, name): 50 def BuildCommand(self, name):
51 serialization_file = join('obj', 'test', self.mode, 'serdes') 51 serialization_file = ''
52 if exists(join(self.context.buildspace, 'obj', 'test', self.mode)):
53 serialization_file = join('obj', 'test', self.mode, 'serdes')
54 else:
55 serialization_file = join('obj', 'serdes')
52 serialization_file += '_' + self.GetName() 56 serialization_file += '_' + self.GetName()
53 serialization_file = join(self.context.buildspace, serialization_file) 57 serialization_file = join(self.context.buildspace, serialization_file)
54 serialization_file += ''.join(self.variant_flags).replace('-', '_') 58 serialization_file += ''.join(self.variant_flags).replace('-', '_')
55 serialization_option = '--testing_serialization_file=' + serialization_file 59 serialization_option = '--testing_serialization_file=' + serialization_file
56 result = [ self.executable, name, serialization_option ] 60 result = [ self.executable, name, serialization_option ]
57 result += self.context.GetVmFlags(self, self.mode) 61 result += self.context.GetVmFlags(self, self.mode)
58 return result 62 return result
59 63
60 def GetCommand(self): 64 def GetCommand(self):
61 return self.BuildCommand(self.raw_name) 65 return self.BuildCommand(self.raw_name)
62 66
63 def Run(self): 67 def Run(self):
64 if self.dependency != '': 68 if self.dependency != '':
65 dependent_command = self.BuildCommand(self.dependency) 69 dependent_command = self.BuildCommand(self.dependency)
66 output = self.RunCommand(dependent_command) 70 output = self.RunCommand(dependent_command)
67 if output.HasFailed(): 71 if output.HasFailed():
68 return output 72 return output
69 return test.TestCase.Run(self) 73 return test.TestCase.Run(self)
70 74
71 75
72 class CcTestConfiguration(test.TestConfiguration): 76 class CcTestConfiguration(test.TestConfiguration):
73 77
74 def __init__(self, context, root): 78 def __init__(self, context, root):
75 super(CcTestConfiguration, self).__init__(context, root) 79 super(CcTestConfiguration, self).__init__(context, root)
76 80
77 def GetBuildRequirements(self): 81 def GetBuildRequirements(self):
78 return ['cctests'] 82 return ['cctests']
79 83
80 def ListTests(self, current_path, path, mode, variant_flags): 84 def ListTests(self, current_path, path, mode, variant_flags):
81 executable = join('obj', 'test', mode, 'cctest') 85 executable = 'cctest'
82 if utils.IsWindows(): 86 if utils.IsWindows():
83 executable += '.exe' 87 executable += '.exe'
84 executable = join(self.context.buildspace, executable) 88 executable = join(self.context.buildspace, executable)
89 if not exists(executable):
90 executable = join('obj', 'test', mode, 'cctest')
91 if utils.IsWindows():
92 executable += '.exe'
93 executable = join(self.context.buildspace, executable)
85 output = test.Execute([executable, '--list'], self.context) 94 output = test.Execute([executable, '--list'], self.context)
86 if output.exit_code != 0: 95 if output.exit_code != 0:
87 print output.stdout 96 print output.stdout
88 print output.stderr 97 print output.stderr
89 return [] 98 return []
90 result = [] 99 result = []
91 for test_desc in output.stdout.strip().split(): 100 for test_desc in output.stdout.strip().split():
92 raw_test, dependency = test_desc.split('<') 101 raw_test, dependency = test_desc.split('<')
93 relative_path = raw_test.split('/') 102 relative_path = raw_test.split('/')
94 full_path = current_path + relative_path 103 full_path = current_path + relative_path
95 if dependency != '': 104 if dependency != '':
96 dependency = relative_path[0] + '/' + dependency 105 dependency = relative_path[0] + '/' + dependency
97 if self.Contains(path, full_path): 106 if self.Contains(path, full_path):
98 result.append(CcTestCase(full_path, executable, mode, raw_test, dependen cy, self.context, variant_flags)) 107 result.append(CcTestCase(full_path, executable, mode, raw_test, dependen cy, self.context, variant_flags))
99 result.sort() 108 result.sort()
100 return result 109 return result
101 110
102 def GetTestStatus(self, sections, defs): 111 def GetTestStatus(self, sections, defs):
103 status_file = join(self.root, 'cctest.status') 112 status_file = join(self.root, 'cctest.status')
104 if exists(status_file): 113 if exists(status_file):
105 test.ReadConfigurationInto(status_file, sections, defs) 114 test.ReadConfigurationInto(status_file, sections, defs)
106 115
107 116
108 def GetConfiguration(context, root): 117 def GetConfiguration(context, root):
109 return CcTestConfiguration(context, root) 118 return CcTestConfiguration(context, root)
OLDNEW
« no previous file with comments | « test/cctest/cctest.gyp ('k') | test/preparser/testcfg.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698