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

Unified Diff: tools/testrunner/local/statusfile.py

Issue 11035053: Rollback trunk to bleeding_edge revision 12525 (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/testrunner/local/progress.py ('k') | tools/testrunner/local/testsuite.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/testrunner/local/statusfile.py
diff --git a/tools/testrunner/local/statusfile.py b/tools/testrunner/local/statusfile.py
deleted file mode 100644
index bf1de45f66f5bc938caef6f95668a7c3581a3e73..0000000000000000000000000000000000000000
--- a/tools/testrunner/local/statusfile.py
+++ /dev/null
@@ -1,145 +0,0 @@
-# Copyright 2012 the V8 project authors. All rights reserved.
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-# These imports are required for the on-demand conversion from
-# old to new status file format.
-from os.path import exists
-from os.path import getmtime
-
-from . import old_statusfile
-
-
-# These outcomes can occur in a TestCase's outcomes list:
-SKIP = "SKIP"
-FAIL = "FAIL"
-PASS = "PASS"
-OKAY = "OKAY"
-TIMEOUT = "TIMEOUT"
-CRASH = "CRASH"
-SLOW = "SLOW"
-# These are just for the status files and are mapped below in DEFS:
-FAIL_OK = "FAIL_OK"
-PASS_OR_FAIL = "PASS_OR_FAIL"
-
-ALWAYS = "ALWAYS"
-
-KEYWORDS = {}
-for key in [SKIP, FAIL, PASS, OKAY, TIMEOUT, CRASH, SLOW, FAIL_OK,
- PASS_OR_FAIL, ALWAYS]:
- KEYWORDS[key] = key
-
-DEFS = {FAIL_OK: [FAIL, OKAY],
- PASS_OR_FAIL: [PASS, FAIL]}
-
-# Support arches, modes to be written as keywords instead of strings.
-VARIABLES = {ALWAYS: True}
-for var in ["debug", "release", "android_arm", "android_ia32", "arm", "ia32",
- "mipsel", "x64"]:
- VARIABLES[var] = var
-
-
-def DoSkip(outcomes):
- return SKIP in outcomes or SLOW in outcomes
-
-
-def IsFlaky(outcomes):
- return ((PASS in outcomes) and (FAIL in outcomes) and
- (not CRASH in outcomes) and (not OKAY in outcomes))
-
-
-def IsFailOk(outcomes):
- return (FAIL in outcomes) and (OKAY in outcomes)
-
-
-def _AddOutcome(result, new):
- global DEFS
- if new in DEFS:
- mapped = DEFS[new]
- if type(mapped) == list:
- for m in mapped:
- _AddOutcome(result, m)
- elif type(mapped) == str:
- _AddOutcome(result, mapped)
- else:
- result.add(new)
-
-
-def _ParseOutcomeList(rule, outcomes, target_dict, variables):
- result = set([])
- if type(outcomes) == str:
- outcomes = [outcomes]
- for item in outcomes:
- if type(item) == str:
- _AddOutcome(result, item)
- elif type(item) == list:
- if not eval(item[0], variables): continue
- for outcome in item[1:]:
- assert type(outcome) == str
- _AddOutcome(result, outcome)
- else:
- assert False
- if len(result) == 0: return
- if rule in target_dict:
- target_dict[rule] |= result
- else:
- target_dict[rule] = result
-
-
-def ReadStatusFile(path, variables):
- # As long as the old-format .status files are authoritative, just
- # create the converted version on demand and cache it to speed up
- # subsequent runs.
- if path.endswith(".status"):
- newpath = path + "2"
- if not exists(newpath) or getmtime(newpath) < getmtime(path):
- print "Converting status file."
- converted = old_statusfile.ConvertNotation(path).GetOutput()
- with open(newpath, 'w') as f:
- f.write(converted)
- path = newpath
-
- with open(path) as f:
- global KEYWORDS
- contents = eval(f.read(), KEYWORDS)
-
- rules = {}
- wildcards = {}
- variables.update(VARIABLES)
- for section in contents:
- assert type(section) == list
- assert len(section) == 2
- if not eval(section[0], variables): continue
- section = section[1]
- assert type(section) == dict
- for rule in section:
- assert type(rule) == str
- if rule[-1] == '*':
- _ParseOutcomeList(rule, section[rule], wildcards, variables)
- else:
- _ParseOutcomeList(rule, section[rule], rules, variables)
- return rules, wildcards
« no previous file with comments | « tools/testrunner/local/progress.py ('k') | tools/testrunner/local/testsuite.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698