Reviewers: Kasper Lund, Description: Enabling a few tests when using snapshots.
Some of the tests that were disabled when using snapshot has been modified and reenabled. Please review this at http://codereview.chromium.org/1937 Affected files: M test/cctest/test-api.cc M test/mjsunit/debug-script.js Index: test/cctest/test-api.cc =================================================================== --- test/cctest/test-api.cc (revision 268) +++ test/cctest/test-api.cc (working copy) @@ -4697,7 +4697,7 @@ } -static void EnsureNoSurvivingGlobalObjects() { +static int GetSurvivingGlobalObjectsCount() { int count = 0; v8::internal::Heap::CollectAllGarbage(); v8::internal::HeapIterator it; @@ -4710,38 +4710,34 @@ #ifdef DEBUG if (count > 0) v8::internal::Heap::TracePathToGlobal(); #endif - CHECK_EQ(0, count); + return count; } -// This test assumes that there are zero global objects when the -// test starts. This is not going to be true if we are using the -// API fuzzer. TEST(DontLeakGlobalObjects) { // Regression test for issues 1139850 and 1174891. - v8::internal::V8::Initialize(NULL); - if (v8::internal::Snapshot::IsEnabled()) return; + v8::V8::Initialize(); - EnsureNoSurvivingGlobalObjects(); + int count = GetSurvivingGlobalObjectsCount(); for (int i = 0; i < 5; i++) { { v8::HandleScope scope; LocalContext context; } - EnsureNoSurvivingGlobalObjects(); + CHECK_EQ(count, GetSurvivingGlobalObjectsCount()); { v8::HandleScope scope; LocalContext context; v8_compile("Date")->Run(); } - EnsureNoSurvivingGlobalObjects(); + CHECK_EQ(count, GetSurvivingGlobalObjectsCount()); { v8::HandleScope scope; LocalContext context; v8_compile("/aaa/")->Run(); } - EnsureNoSurvivingGlobalObjects(); + CHECK_EQ(count, GetSurvivingGlobalObjectsCount()); { v8::HandleScope scope; const char* extension_list[] = { "v8/gc" }; @@ -4749,7 +4745,7 @@ LocalContext context(&extensions); v8_compile("gc();")->Run(); } - EnsureNoSurvivingGlobalObjects(); + CHECK_EQ(count, GetSurvivingGlobalObjectsCount()); { v8::HandleScope scope; const char* extension_list[] = { "v8/print" }; @@ -4757,14 +4753,13 @@ LocalContext context(&extensions); v8_compile("print('hest');")->Run(); } - EnsureNoSurvivingGlobalObjects(); + CHECK_EQ(count, GetSurvivingGlobalObjectsCount()); } } THREADED_TEST(CheckForCrossContextObjectLiterals) { - v8::internal::V8::Initialize(NULL); - if (v8::internal::Snapshot::IsEnabled()) return; + v8::V8::Initialize(); const int nof = 2; const char* sources[nof] = { Index: test/mjsunit/debug-script.js =================================================================== --- test/mjsunit/debug-script.js (revision 268) +++ test/mjsunit/debug-script.js (working copy) @@ -55,6 +55,9 @@ // This has to be updated if the number of native scripts change. assertEquals(12, native_count); +// If no snapshot is used, only the 'gc' extension is loaded. +// If snapshot is used, all extensions are cached in the snapshot. +assertTrue(extension_count == 1 || extension_count == 5); assertEquals(2, normal_count); // This script and mjsunit.js. // Test a builtins script. --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
