Fix bug that meant that dependent tests were never reported as
failing (though they could still crash). (Cache the result of the test in the output object, not in the test object which is reused from the prerequisite to the dependent.) Review URL: http://codereview.chromium.org/321001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
38e2b5c97b
commit
d50fbb634e
@ -33,6 +33,17 @@ test-debug/DebuggerAgent: PASS, (PASS || FAIL) if $system == linux
|
||||
# BUG(382): Weird test. Can't guarantee that it never times out.
|
||||
test-api/ApplyInterruption: PASS || TIMEOUT
|
||||
|
||||
# This is about to go away anyway since new snapshot code is on the way.
|
||||
test-serialize/Deserialize: FAIL
|
||||
test-serialize/DeserializeAndRunScript: FAIL
|
||||
test-serialize/DeserializeNatives: FAIL
|
||||
test-serialize/DeserializeExtensions: FAIL
|
||||
|
||||
# These tests always fail. They are here to test test.py. If
|
||||
# they don't fail then test.py has failed.
|
||||
test-serialize/TestThatAlwaysFails: FAIL
|
||||
test-serialize/DependentTestThatAlwaysFails: FAIL
|
||||
|
||||
|
||||
[ $arch == arm ]
|
||||
|
||||
|
@ -286,3 +286,22 @@ DEPENDENT_TEST(DeserializeExtensions, Serialize) {
|
||||
v8::Local<v8::Value> value = script->Run();
|
||||
CHECK(value->IsUndefined());
|
||||
}
|
||||
|
||||
|
||||
extern "C" void V8_Fatal(const char* file, int line, const char* format, ...);
|
||||
|
||||
|
||||
TEST(TestThatAlwaysSucceeds) {
|
||||
}
|
||||
|
||||
|
||||
TEST(TestThatAlwaysFails) {
|
||||
bool ArtificialFailure = false;
|
||||
CHECK(ArtificialFailure);
|
||||
}
|
||||
|
||||
|
||||
DEPENDENT_TEST(DependentTestThatAlwaysFails, TestThatAlwaysSucceeds) {
|
||||
bool ArtificialFailure2 = false;
|
||||
CHECK(ArtificialFailure2);
|
||||
}
|
||||
|
@ -326,6 +326,7 @@ class CommandOutput(object):
|
||||
self.timed_out = timed_out
|
||||
self.stdout = stdout
|
||||
self.stderr = stderr
|
||||
self.failed = None
|
||||
|
||||
|
||||
class TestCase(object):
|
||||
@ -333,7 +334,6 @@ class TestCase(object):
|
||||
def __init__(self, context, path):
|
||||
self.path = path
|
||||
self.context = context
|
||||
self.failed = None
|
||||
self.duration = None
|
||||
|
||||
def IsNegative(self):
|
||||
@ -343,9 +343,9 @@ class TestCase(object):
|
||||
return cmp(other.duration, self.duration)
|
||||
|
||||
def DidFail(self, output):
|
||||
if self.failed is None:
|
||||
self.failed = self.IsFailureOutput(output)
|
||||
return self.failed
|
||||
if output.failed is None:
|
||||
output.failed = self.IsFailureOutput(output)
|
||||
return output.failed
|
||||
|
||||
def IsFailureOutput(self, output):
|
||||
return output.exit_code != 0
|
||||
|
Loading…
Reference in New Issue
Block a user