summaryrefslogtreecommitdiff
path: root/chromium/testing/libfuzzer/tests/BUILD.gn
blob: 83e024db0e7e3f22e0479673af8f8a540fb182f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Copyright 2015 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.
#
# Fuzzing Infrastructure Tests

import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")

# TODO(crbug.com/906751): Get the tests working on Windows. Disable them for now
# because they cause the Windows clang ToT builder to fail.
if (!is_win) {
  test("libfuzzer_tests") {
    sources = [ "fuzzer_launcher_test.cc" ]
    deps = [
      ":test_config_and_dict",
      ":test_config_and_seed_corpus",
      ":test_config_and_seed_corpuses",
      ":test_config_only",
      ":test_dict_from_subdir",
      ":test_dict_only",
      "//base",
      "//testing/gmock",
      "//testing/gtest",
      "//testing/gtest:gtest_main",
    ]
    data_deps = [
      ":check_fuzzer_config",
      ":check_seed_corpus_archive",
    ]
  }
}

fuzzer_test("test_dict_only") {
  sources = [ "../fuzzers/empty_fuzzer.cc" ]
  dict = "test.dict"
  additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
}

fuzzer_test("test_config_only") {
  sources = [ "../fuzzers/empty_fuzzer.cc" ]
  libfuzzer_options = [
    "some_test_option=test_value",
    "max_len=1024",
  ]
  additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
}

fuzzer_test("test_config_and_dict") {
  sources = [ "../fuzzers/empty_fuzzer.cc" ]
  dict = "test.dict"
  libfuzzer_options = [
    "max_len=random(1337, 31337)",
    "timeout   =   666",
    "use_traces=1",
  ]
  additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
}

fuzzer_test("test_config_and_seed_corpus") {
  sources = [ "../fuzzers/empty_fuzzer.cc" ]
  seed_corpus = "test_corpus"
  libfuzzer_options = [
    "some_test_option=test_value",
    "max_len=1024",
  ]
  additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
}

fuzzer_test("test_config_and_seed_corpuses") {
  sources = [ "../fuzzers/empty_fuzzer.cc" ]
  seed_corpuses = [
    "test_corpus",
    "test_corpus_2",
  ]
  libfuzzer_options = [
    "some_test_option=another_test_value",
    "max_len=1337",
  ]
  additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
}

fuzzer_test("test_dict_from_subdir") {
  sources = [ "../fuzzers/empty_fuzzer.cc" ]
  dict = "dicts_subdir/test_subdir.dict"
  additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
}

copy("check_fuzzer_config") {
  sources = [ "check_fuzzer_config.py" ]
  outputs = [ "$root_build_dir/check_fuzzer_config.py" ]
}

copy("check_seed_corpus_archive") {
  sources = [ "check_seed_corpus_archive.py" ]
  outputs = [ "$root_build_dir/check_seed_corpus_archive.py" ]
}