BUILD.gn 2.7 KB

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