Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
dart_vm_unittests.cc
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "flutter/runtime/dart_vm.h"
6
7#include "flutter/runtime/dart_vm_lifecycle.h"
8#include "flutter/testing/fixture_test.h"
9#include "gtest/gtest.h"
10
11namespace flutter {
12namespace testing {
13
15
16TEST_F(DartVMTest, SimpleInitialization) {
17 ASSERT_FALSE(DartVMRef::IsInstanceRunning());
18 auto vm = DartVMRef::Create(CreateSettingsForFixture());
19 ASSERT_TRUE(vm);
20}
21
22TEST_F(DartVMTest, SimpleIsolateNameServer) {
23 ASSERT_FALSE(DartVMRef::IsInstanceRunning());
24 auto vm = DartVMRef::Create(CreateSettingsForFixture());
25 ASSERT_TRUE(vm);
26 ASSERT_TRUE(vm.GetVMData());
27 auto ns = vm->GetIsolateNameServer();
28 ASSERT_EQ(ns->LookupIsolatePortByName("foobar"), ILLEGAL_PORT);
29 ASSERT_FALSE(ns->RemoveIsolateNameMapping("foobar"));
30 ASSERT_TRUE(ns->RegisterIsolatePortWithName(123, "foobar"));
31 ASSERT_FALSE(ns->RegisterIsolatePortWithName(123, "foobar"));
32 ASSERT_EQ(ns->LookupIsolatePortByName("foobar"), 123);
33 ASSERT_TRUE(ns->RemoveIsolateNameMapping("foobar"));
34}
35
36TEST_F(DartVMTest, OldGenHeapSize) {
37 ASSERT_FALSE(DartVMRef::IsInstanceRunning());
38 auto settings = CreateSettingsForFixture();
39 settings.old_gen_heap_size = 1024;
40 auto vm = DartVMRef::Create(settings);
41 // There is no way to introspect on the heap size so we just assert the vm was
42 // created.
43 ASSERT_TRUE(vm);
44}
45
46TEST_F(DartVMTest, DisableTimelineEventHandler) {
47 ASSERT_FALSE(DartVMRef::IsInstanceRunning());
49 auto settings = CreateSettingsForFixture();
50 settings.enable_timeline_event_handler = false;
51 auto vm = DartVMRef::Create(settings);
53}
54
55TEST_F(DartVMTest, TraceGetTimelineMicrosDoesNotGetClockWhenSystraceIsEnabled) {
56 ASSERT_FALSE(DartVMRef::IsInstanceRunning());
57 auto settings = CreateSettingsForFixture();
58 settings.trace_systrace = true;
59 auto vm = DartVMRef::Create(settings);
61}
62
63} // namespace testing
64} // namespace flutter
static DartVMRef Create(const Settings &settings, fml::RefPtr< const DartSnapshot > vm_snapshot=nullptr, fml::RefPtr< const DartSnapshot > isolate_snapshot=nullptr)
static bool IsInstanceRunning()
#define ILLEGAL_PORT
Definition dart_api.h:1530
TEST_F(DisplayListTest, Defaults)
bool TraceHasTimelineEventHandler()
void TraceSetTimelineEventHandler(TimelineEventHandler handler)
int64_t TraceGetTimelineMicros()