Author: [EMAIL PROTECTED]
Date: Fri Oct 31 06:12:35 2008
New Revision: 672
Modified:
branches/bleeding_edge/SConstruct
branches/bleeding_edge/test/cctest/testcfg.py
branches/bleeding_edge/tools/test.py
branches/bleeding_edge/tools/utils.py
Log:
Change the test status file parser to fail if the line contains unparsed
tokens.
Refactor the platform.system() tests and use macos when running on Mac.
Review URL: http://codereview.chromium.org/8763
Modified: branches/bleeding_edge/SConstruct
==============================================================================
--- branches/bleeding_edge/SConstruct (original)
+++ branches/bleeding_edge/SConstruct Fri Oct 31 06:12:35 2008
@@ -238,25 +238,6 @@
sys.exit(1)
-def GuessOS():
- id = platform.system()
- if id == 'Linux':
- return 'linux'
- elif id == 'Darwin':
- return 'macos'
- elif id == 'Windows':
- return 'win32'
- else:
- return None
-
-
-def GuessWordsize():
- if '64' in platform.machine():
- return '64'
- else:
- return '32'
-
-
def GuessToolchain(os):
tools = Environment()['TOOLS']
if 'gcc' in tools:
@@ -267,10 +248,10 @@
return None
-OS_GUESS = GuessOS()
+OS_GUESS = utils.GuessOS()
TOOLCHAIN_GUESS = GuessToolchain(OS_GUESS)
ARCH_GUESS = utils.GuessArchitecture()
-WORDSIZE_GUESS = GuessWordsize()
+WORDSIZE_GUESS = utils.GuessWordsize()
SIMPLE_OPTIONS = {
Modified: branches/bleeding_edge/test/cctest/testcfg.py
==============================================================================
--- branches/bleeding_edge/test/cctest/testcfg.py (original)
+++ branches/bleeding_edge/test/cctest/testcfg.py Fri Oct 31 06:12:35 2008
@@ -29,7 +29,7 @@
import os
from os.path import join, dirname, exists
import platform
-
+import utils
DEBUG_FLAGS = ['--enable-slow-asserts', '--debug-code', '--verify-heap']
@@ -65,7 +65,7 @@
def ListTests(self, current_path, path, mode):
executable = join('obj', 'test', mode, 'cctest')
- if (platform.system() == 'Windows'):
+ if utils.IsWindows():
executable += '.exe'
output = test.Execute([executable, '--list'], self.context)
if output.exit_code != 0:
Modified: branches/bleeding_edge/tools/test.py
==============================================================================
--- branches/bleeding_edge/tools/test.py (original)
+++ branches/bleeding_edge/tools/test.py Fri Oct 31 06:12:35 2008
@@ -370,7 +370,7 @@
return not outcome in self.test.outcomes
def HasCrashed(self):
- if platform.system() == 'Windows':
+ if utils.IsWindows():
return 0x80000000 & self.output.exit_code and not (0x3FFFFF00 &
self.output.exit_code)
else:
# Timed out tests will have exit_code -signal.SIGTERM.
@@ -388,7 +388,7 @@
def KillProcessWithID(pid):
- if platform.system() == 'Windows':
+ if utils.IsWindows():
os.popen('taskkill /T /F /PID %d' % pid)
else:
os.kill(pid, signal.SIGTERM)
@@ -414,17 +414,17 @@
if context.verbose: print "#", " ".join(args)
popen_args = args
prev_error_mode = SEM_INVALID_VALUE;
- if platform.system() == 'Windows':
+ if utils.IsWindows():
popen_args = '"' + subprocess.list2cmdline(args) + '"'
if context.suppress_dialogs:
# Try to change the error mode to avoid dialogs on fatal errors.
Win32SetErrorMode(SEM_NOGPFAULTERRORBOX)
process = subprocess.Popen(
- shell = (platform.system() == 'Windows'),
+ shell = utils.IsWindows(),
args = popen_args,
**rest
)
- if platform.system() == 'Windows' and context.suppress_dialogs and
prev_error_mode != SEM_INVALID_VALUE:
+ if utils.IsWindows() and context.suppress_dialogs and prev_error_mode !=
SEM_INVALID_VALUE:
Win32SetErrorMode(prev_error_mode)
# Compute the end time - if the process crosses this limit we
# consider it timed out.
@@ -600,7 +600,7 @@
def GetVm(self, mode):
name = self.vm_root + PREFIX[mode]
- if platform.system() == 'Windows':
+ if utils.IsWindows():
return name + '.exe'
else:
return name
@@ -920,6 +920,9 @@
if not ast:
print "Malformed expression: '%s'" % expr
return None
+ if scan.HasMore():
+ print "Malformed expression: '%s'" % expr
+ return None
return ast
@@ -1238,7 +1241,7 @@
for mode in options.mode:
env = {
'mode': mode,
- 'system': platform.system().lower(),
+ 'system': utils.GuessOS(),
'arch': options.arch
}
test_list = root.ListTests([], path, context, mode)
Modified: branches/bleeding_edge/tools/utils.py
==============================================================================
--- branches/bleeding_edge/tools/utils.py (original)
+++ branches/bleeding_edge/tools/utils.py Fri Oct 31 06:12:35 2008
@@ -43,6 +43,20 @@
return list
+def GuessOS():
+ id = platform.system()
+ if id == 'Linux':
+ return 'linux'
+ elif id == 'Darwin':
+ return 'macos'
+ elif id == 'Windows' or id == 'Microsoft':
+ # On Windows Vista platform.system() can return 'Microsoft' with some
+ # versions of Python, see http://bugs.python.org/issue1082
+ return 'win32'
+ else:
+ return None
+
+
def GuessArchitecture():
id = platform.machine()
if id.startswith('arm'):
@@ -51,3 +65,14 @@
return 'ia32'
else:
return None
+
+
+def GuessWordsize():
+ if '64' in platform.machine():
+ return '64'
+ else:
+ return '32'
+
+
+def IsWindows():
+ return GuessOS() == 'win32'
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---