1# Copyright 2018 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//net/features.gni") 6import("//testing/libfuzzer/fuzzer_test.gni") 7 8static_library("http_server") { 9 public = [] 10 11 # This target is being deprecated. Use //services/network/public/cpp/server 12 # instead. 13 visibility = [ 14 ":net_http_server_fuzzer_deps", 15 ":tests", 16 "//chrome/browser/devtools", 17 "//chrome/test/chromedriver/*", 18 "//content/browser", 19 "//net:net_web_socket_encoder_fuzzer_deps", 20 ] 21 22 friend = [ 23 ":net_http_server_fuzzer", 24 "//net:net_web_socket_encoder_fuzzer", 25 ":tests", 26 "//chrome/browser/devtools", 27 "//chrome/test/chromedriver/*", 28 "//content/browser", 29 ] 30 31 if (enable_websockets) { 32 sources = [ 33 "http_connection.cc", 34 "http_connection.h", 35 "http_server.cc", 36 "http_server.h", 37 "http_server_request_info.cc", 38 "http_server_request_info.h", 39 "http_server_response_info.cc", 40 "http_server_response_info.h", 41 "web_socket.cc", 42 "web_socket.h", 43 "web_socket_encoder.cc", 44 "web_socket_encoder.h", 45 ] 46 configs += [ "//build/config/compiler:wexit_time_destructors" ] 47 deps = [ 48 "//base", 49 "//net", 50 ] 51 } 52} 53 54source_set("tests") { 55 testonly = true 56 if (enable_websockets) { 57 sources = [ 58 "http_connection_unittest.cc", 59 "http_server_response_info_unittest.cc", 60 "http_server_unittest.cc", 61 "web_socket_encoder_unittest.cc", 62 ] 63 deps = [ 64 ":http_server", 65 "//base", 66 "//net", 67 "//net:test_support", 68 "//testing/gtest", 69 ] 70 } 71} 72 73if (enable_websockets && use_fuzzing_engine) { 74 # This is a separate target because //net/server:http_server 75 # wants to limit its visibility to a select number of target, but the 76 # "fuzzer_test" template expands on iOS to many targets that need to 77 # have the "deps" information propagated in order to support "fat" 78 # binaries. 79 source_set("net_http_server_fuzzer_deps") { 80 testonly = true 81 visibility = [ 82 ":net_http_server_fuzzer", 83 ":net_http_server_fuzzer_executable", 84 ":run_net_http_server_fuzzer", 85 ] 86 public_deps = [ 87 ":http_server", 88 "//base", 89 "//net", 90 "//net:net_fuzzer_test_support", 91 "//net:test_support", 92 ] 93 } 94 95 fuzzer_test("net_http_server_fuzzer") { 96 sources = [ "http_server_fuzzer.cc" ] 97 deps = [ ":net_http_server_fuzzer_deps" ] 98 dict = "//net/data/fuzzer_dictionaries/net_http_server_fuzzer.dict" 99 seed_corpus = "//net/data/fuzzer_data/http_server_requests/" 100 } 101} 102