| # Copyright 2021 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. |
| |
| import("//build/components.gni") |
| import("//build/test.gni") |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":default-tests", |
| ":fatal-tests", |
| ] |
| } |
| |
| test("unittests_bin") { |
| output_name = "component_fuzzing_framework_unittests" |
| visibility = [ ":*" ] |
| testonly = true |
| deps = [ |
| "adapters:unittests", |
| "coverage:unittests", |
| "engine:unittests", |
| "target:unittests", |
| "//src/lib/fxl/test:gtest_main", |
| ] |
| } |
| |
| test("fatal_unittests_bin") { |
| output_name = "component_fuzzing_framework_fatal_unittests" |
| visibility = [ "../*" ] |
| testonly = true |
| deps = [ |
| "engine:fatal-unittests", |
| "//src/lib/fxl/test:gtest_main", |
| ] |
| } |
| |
| fuchsia_test_component("unittests") { |
| manifest = "meta/unittests.cml" |
| deps = [ |
| ":unittests_bin", |
| "testing/data:corpus", |
| ] |
| } |
| |
| fuchsia_test_component("fatal-unittests") { |
| manifest = "meta/fatal-unittests.cml" |
| deps = [ ":fatal_unittests_bin" ] |
| } |
| |
| fuchsia_test_component("test-engine") { |
| manifest = "meta/test-engine.cml" |
| deps = [ "testing:engine" ] |
| } |
| |
| fuchsia_test_component("integration-tests") { |
| visibility = [ ":*" ] |
| manifest = "meta/integration-tests.cml" |
| deps = [ |
| "tests:framework-integration-tests", |
| "//src/sys/fuzzing/framework/engine:engine-bin", |
| ] |
| } |
| |
| fuchsia_test_component("test-fuzzer") { |
| manifest = "meta/test-fuzzer.cml" |
| deps = [ |
| "testing/data:corpus", |
| "tests:fuzzer", |
| ] |
| } |
| |
| fuchsia_test_component("test-fuzzer-uninstrumented") { |
| manifest = "meta/test-fuzzer-uninstrumented.cml" |
| deps = [ |
| "testing/data:corpus", |
| "tests:fuzzer-uninstrumented", |
| ] |
| } |
| |
| # This component contains an integration test that uses the "real" fuzzing engine that generates |
| # inputs to drive a simple test fuzzer, thereby imitating a real fuzzer. |
| fuchsia_test_component("fuzzer-realm") { |
| manifest = "meta/fuzzer-realm.cml" |
| deps = [ |
| ":integration-tests", |
| ":test-fuzzer", |
| "//src/sys/fuzzing/framework/coverage", |
| ] |
| } |
| |
| # This component contains an integration test that uses a test "engine" that uses fixed inputs to |
| # drive a simple test fuzzer, thereby imitating the auto-generated fuzzer tests that run in CQ. |
| fuchsia_test_component("fuzzer-test-realm") { |
| manifest = "meta/fuzzer-test-realm.cml" |
| deps = [ |
| ":test-engine", |
| ":test-fuzzer-uninstrumented", |
| "//src/sys/fuzzing/framework/coverage", |
| ] |
| } |
| |
| fuchsia_test_package("default-tests") { |
| package_name = "component-fuzzing-framework-tests" |
| test_components = [ |
| ":unittests", |
| ":fuzzer-realm", |
| ":fuzzer-test-realm", |
| ] |
| } |
| |
| fuchsia_test_package("fatal-tests") { |
| package_name = "component-fuzzing-framework-fatal-tests" |
| |
| # Some tests involve handling intentional crashes. |
| test_specs = { |
| log_settings = { |
| max_severity = "FATAL" |
| } |
| } |
| test_components = [ ":fatal-unittests" ] |
| } |