| OLD | NEW | 
|---|
| 1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef VM_UNIT_TEST_H_ | 5 #ifndef VM_UNIT_TEST_H_ | 
| 6 #define VM_UNIT_TEST_H_ | 6 #define VM_UNIT_TEST_H_ | 
| 7 | 7 | 
| 8 #include "include/dart_native_api.h" | 8 #include "include/dart_native_api.h" | 
| 9 | 9 | 
| 10 #include "platform/globals.h" | 10 #include "platform/globals.h" | 
| 11 | 11 | 
| 12 #include "vm/ast.h" | 12 #include "vm/ast.h" | 
| 13 #include "vm/dart.h" | 13 #include "vm/dart.h" | 
| 14 #include "vm/dart_api_impl.h" |  | 
| 15 #include "vm/globals.h" | 14 #include "vm/globals.h" | 
| 16 #include "vm/heap.h" | 15 #include "vm/heap.h" | 
| 17 #include "vm/isolate.h" | 16 #include "vm/isolate.h" | 
| 18 #include "vm/longjump.h" | 17 #include "vm/longjump.h" | 
| 19 #include "vm/object.h" | 18 #include "vm/object.h" | 
| 20 #include "vm/object_store.h" | 19 #include "vm/object_store.h" | 
| 21 #include "vm/simulator.h" | 20 #include "vm/simulator.h" | 
| 22 #include "vm/zone.h" | 21 #include "vm/zone.h" | 
| 23 | 22 | 
| 24 // The UNIT_TEST_CASE macro is used for tests that do not need any | 23 // The UNIT_TEST_CASE macro is used for tests that do not need any | 
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 281                                      Dart_Handle url); | 280                                      Dart_Handle url); | 
| 282   static char* BigintToHexValue(Dart_CObject* bigint); | 281   static char* BigintToHexValue(Dart_CObject* bigint); | 
| 283 | 282 | 
| 284   virtual void Run(); | 283   virtual void Run(); | 
| 285 | 284 | 
| 286  private: | 285  private: | 
| 287   static Dart_Isolate CreateIsolate(const uint8_t* buffer, | 286   static Dart_Isolate CreateIsolate(const uint8_t* buffer, | 
| 288                                     const char* name) { | 287                                     const char* name) { | 
| 289     char* err; | 288     char* err; | 
| 290     Dart_Isolate isolate = Dart_CreateIsolate(name, NULL, buffer, NULL, &err); | 289     Dart_Isolate isolate = Dart_CreateIsolate(name, NULL, buffer, NULL, &err); | 
| 291     if (isolate == DART_ILLEGAL_ISOLATE) { | 290     if (isolate == NULL) { | 
| 292       OS::Print("Creation of isolate failed '%s'\n", err); | 291       OS::Print("Creation of isolate failed '%s'\n", err); | 
| 293       free(err); | 292       free(err); | 
| 294     } | 293     } | 
| 295     EXPECT(isolate != DART_ILLEGAL_ISOLATE); | 294     EXPECT(isolate != NULL); | 
| 296     return isolate; | 295     return isolate; | 
| 297   } | 296   } | 
| 298 | 297 | 
| 299   RunEntry* const run_; | 298   RunEntry* const run_; | 
| 300 }; | 299 }; | 
| 301 | 300 | 
| 302 | 301 | 
| 303 class TestIsolateScope { | 302 class TestIsolateScope { | 
| 304  public: | 303  public: | 
| 305   TestIsolateScope() { | 304   TestIsolateScope() { | 
| 306     isolate_ = TestCase::CreateTestIsolate(); | 305     isolate_ = reinterpret_cast<Isolate*>(TestCase::CreateTestIsolate()); | 
| 307     Dart_EnterScope();  // Create a Dart API scope for unit tests. | 306     Dart_EnterScope();  // Create a Dart API scope for unit tests. | 
| 308   } | 307   } | 
| 309   ~TestIsolateScope() { | 308   ~TestIsolateScope() { | 
| 310     Dart_ExitScope();  // Exit the Dart API scope created for unit tests. | 309     Dart_ExitScope();  // Exit the Dart API scope created for unit tests. | 
| 311     ASSERT(isolate_ == Api::CastIsolate(Isolate::Current())); | 310     ASSERT(isolate_ == Isolate::Current()); | 
| 312     Dart_ShutdownIsolate(); | 311     Dart_ShutdownIsolate(); | 
| 313     isolate_ = DART_ILLEGAL_ISOLATE; | 312     isolate_ = NULL; | 
| 314   } | 313   } | 
| 315   Isolate* isolate() const { return Api::CastIsolate(isolate_); } | 314   Isolate* isolate() const { return isolate_; } | 
| 316 | 315 | 
| 317  private: | 316  private: | 
| 318   Dart_Isolate isolate_; | 317   Isolate* isolate_; | 
| 319 | 318 | 
| 320   DISALLOW_COPY_AND_ASSIGN(TestIsolateScope); | 319   DISALLOW_COPY_AND_ASSIGN(TestIsolateScope); | 
| 321 }; | 320 }; | 
| 322 | 321 | 
| 323 | 322 | 
| 324 class AssemblerTest { | 323 class AssemblerTest { | 
| 325  public: | 324  public: | 
| 326   AssemblerTest(const char* name, Assembler* assembler) | 325   AssemblerTest(const char* name, Assembler* assembler) | 
| 327       : name_(name), | 326       : name_(name), | 
| 328         assembler_(assembler), | 327         assembler_(assembler), | 
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 424       }                                                                        \ | 423       }                                                                        \ | 
| 425     } else {                                                                   \ | 424     } else {                                                                   \ | 
| 426       dart::Expect(__FILE__, __LINE__).Fail("expected True, but was '%s'\n",   \ | 425       dart::Expect(__FILE__, __LINE__).Fail("expected True, but was '%s'\n",   \ | 
| 427           #handle);                                                            \ | 426           #handle);                                                            \ | 
| 428     }                                                                          \ | 427     }                                                                          \ | 
| 429   } while (0) | 428   } while (0) | 
| 430 | 429 | 
| 431 }  // namespace dart | 430 }  // namespace dart | 
| 432 | 431 | 
| 433 #endif  // VM_UNIT_TEST_H_ | 432 #endif  // VM_UNIT_TEST_H_ | 
| OLD | NEW | 
|---|