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
-~----------~----~----~----~------~----~------~--~---

Reply via email to