提交 c4bd5773 编写于 作者: C Chinmay Garde 提交者: GitHub

On host targets, add dependencies on host unit test executables. (#3269)

上级 64dcfc67
......@@ -17,6 +17,15 @@ group("flutter") {
"//flutter/snapshotter($host_toolchain)",
]
}
# If on the host, compile all unittests targets.
if (current_toolchain == host_toolchain) {
deps += [
"//flutter/sky/engine/wtf:wtf_unittests",
"//flutter/synchronization:synchronization_unittests",
"//lib/ftl:ftl_unittests",
]
}
}
if (!is_fuchsia) {
......
......@@ -8,7 +8,6 @@ group("sky") {
testonly = true
deps = [
"//flutter/sky/engine/wtf:unittests($host_toolchain)",
"//flutter/sky/packages",
]
......
......@@ -210,9 +210,7 @@ source_set("wtf") {
}
}
executable("unittests") {
output_name = "flutter_wtf_unittests"
executable("wtf_unittests") {
testonly = true
sources = [
......@@ -252,6 +250,8 @@ executable("unittests") {
deps = [
":wtf",
# Does not use //flutter/testing because it needs and provides its own main
# function in RunAllTests.cpp.
"//third_party/gtest",
]
}
......@@ -16,3 +16,14 @@ source_set("synchronization") {
"//lib/ftl",
]
}
executable("synchronization_unittests") {
sources = [
"semaphore_unittest.cc",
]
deps = [
":synchronization",
"//flutter/testing",
]
}
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <thread>
#include "flutter/synchronization/semaphore.h"
#include "gtest/gtest.h"
TEST(SemaphoreTest, SimpleValidity) {
flutter::Semaphore sem(100);
ASSERT_TRUE(sem.IsValid());
}
TEST(SemaphoreTest, WaitOnZero) {
flutter::Semaphore sem(0);
ASSERT_FALSE(sem.TryWait());
}
TEST(SemaphoreTest, WaitOnZeroSignalThenWait) {
flutter::Semaphore sem(0);
ASSERT_FALSE(sem.TryWait());
std::thread thread([&sem]() { sem.Signal(); });
thread.join();
ASSERT_TRUE(sem.TryWait());
ASSERT_FALSE(sem.TryWait());
}
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
source_set("testing") {
sources = [
"//flutter/testing/run_all_unittests.cc",
]
public_deps = [
"//third_party/gtest",
]
}
// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "gtest/gtest.h"
int main(int argc, char** argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册