Revision: 20129
Author: [email protected]
Date: Thu Mar 20 14:12:06 2014 UTC
Log: Remove outdated OOM tests.
[email protected]
Review URL: https://codereview.chromium.org/206373003
http://code.google.com/p/v8/source/detail?r=20129
Modified:
/branches/bleeding_edge/test/cctest/cctest.status
/branches/bleeding_edge/test/cctest/test-api.cc
=======================================
--- /branches/bleeding_edge/test/cctest/cctest.status Wed Mar 19 11:31:43
2014 UTC
+++ /branches/bleeding_edge/test/cctest/cctest.status Thu Mar 20 14:12:06
2014 UTC
@@ -81,10 +81,6 @@
# BUG(v8:2999).
'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL],
- # Runs out of memory in debug mode.
- 'test-api/OutOfMemory': [PASS, ['mode == debug', FAIL]],
- 'test-api/OutOfMemoryNested': [PASS, ['mode == debug', FAIL]],
-
# BUG(v8:3154).
'test-heap/ReleaseOverReservedPages': [PASS, ['mode == debug', FAIL]],
@@ -151,12 +147,6 @@
##############################################################################
['arch == arm', {
- # We cannot assume that we can throw OutOfMemory exceptions in all
situations.
- # Apparently our ARM box is in such a state. Skip the test as it also
runs for
- # a long time.
- 'test-api/OutOfMemory': [SKIP],
- 'test-api/OutOfMemoryNested': [SKIP],
-
# BUG(355): Test crashes on ARM.
'test-log/ProfLazyMode': [SKIP],
=======================================
--- /branches/bleeding_edge/test/cctest/test-api.cc Thu Mar 20 12:22:13
2014 UTC
+++ /branches/bleeding_edge/test/cctest/test-api.cc Thu Mar 20 14:12:06
2014 UTC
@@ -4477,109 +4477,6 @@
Local<v8::Value> r10 = ReturnThisStrict->Call(v8::True(isolate), 0,
NULL);
CHECK(r10->StrictEquals(v8::True(isolate)));
}
-
-
-static const char* js_code_causing_out_of_memory =
- "var a = new Array(); while(true) a.push(a);";
-
-
-// These tests run for a long time and prevent us from running tests
-// that come after them so they cannot run in parallel.
-TEST(OutOfMemory) {
- // It's not possible to read a snapshot into a heap with different
dimensions.
- if (i::Snapshot::IsEnabled()) return;
- // Set heap limits.
- static const int K = 1024;
- v8::ResourceConstraints constraints;
- constraints.set_max_young_space_size(256 * K);
- constraints.set_max_old_space_size(5 * K * K);
- v8::SetResourceConstraints(CcTest::isolate(), &constraints);
-
- // Execute a script that causes out of memory.
- LocalContext context;
- v8::HandleScope scope(context->GetIsolate());
- v8::V8::IgnoreOutOfMemoryException();
- Local<Value> result = CompileRun(js_code_causing_out_of_memory);
-
- // Check for out of memory state.
- CHECK(result.IsEmpty());
- CHECK(context->HasOutOfMemoryException());
-}
-
-
-void ProvokeOutOfMemory(const v8::FunctionCallbackInfo<v8::Value>& args) {
- ApiTestFuzzer::Fuzz();
-
- LocalContext context;
- v8::HandleScope scope(context->GetIsolate());
- Local<Value> result = CompileRun(js_code_causing_out_of_memory);
-
- // Check for out of memory state.
- CHECK(result.IsEmpty());
- CHECK(context->HasOutOfMemoryException());
-
- args.GetReturnValue().Set(result);
-}
-
-
-TEST(OutOfMemoryNested) {
- // It's not possible to read a snapshot into a heap with different
dimensions.
- if (i::Snapshot::IsEnabled()) return;
- // Set heap limits.
- static const int K = 1024;
- v8::ResourceConstraints constraints;
- constraints.set_max_young_space_size(256 * K);
- constraints.set_max_old_space_size(5 * K * K);
- v8::Isolate* isolate = CcTest::isolate();
- v8::SetResourceConstraints(isolate, &constraints);
-
- v8::HandleScope scope(isolate);
- Local<ObjectTemplate> templ = ObjectTemplate::New(isolate);
- templ->Set(v8_str("ProvokeOutOfMemory"),
- v8::FunctionTemplate::New(isolate, ProvokeOutOfMemory));
- LocalContext context(0, templ);
- v8::V8::IgnoreOutOfMemoryException();
- Local<Value> result = CompileRun(
- "var thrown = false;"
- "try {"
- " ProvokeOutOfMemory();"
- "} catch (e) {"
- " thrown = true;"
- "}");
- // Check for out of memory state.
- CHECK(result.IsEmpty());
- CHECK(context->HasOutOfMemoryException());
-}
-
-
-void OOMCallback(const char* location, const char* message) {
- exit(0);
-}
-
-
-TEST(HugeConsStringOutOfMemory) {
- // It's not possible to read a snapshot into a heap with different
dimensions.
- if (i::Snapshot::IsEnabled()) return;
- // Set heap limits.
- static const int K = 1024;
- v8::ResourceConstraints constraints;
- constraints.set_max_young_space_size(256 * K);
- constraints.set_max_old_space_size(4 * K * K);
- v8::SetResourceConstraints(CcTest::isolate(), &constraints);
-
- // Execute a script that causes out of memory.
- v8::V8::SetFatalErrorHandler(OOMCallback);
-
- LocalContext context;
- v8::HandleScope scope(context->GetIsolate());
-
- // Build huge string. This should fail with out of memory exception.
- CompileRun(
- "var str = Array.prototype.join.call({length: 513},
\"A\").toUpperCase();"
- "for (var i = 0; i < 22; i++) { str = str + str; }");
-
- CHECK(false); // Should not return.
-}
THREADED_TEST(ConstructCall) {
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.