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