1load("@rules_cc//cc:defs.bzl", "cc_test") 2load("//:build_defs.bzl", "flatbuffer_cc_library") 3load("//:typescript.bzl", "flatbuffer_ts_library") 4 5package(default_visibility = ["//visibility:private"]) 6 7# Test binary. 8cc_test( 9 name = "flatbuffers_test", 10 testonly = 1, 11 srcs = [ 12 "evolution_test/evolution_v1_generated.h", 13 "evolution_test/evolution_v2_generated.h", 14 "monster_test_bfbs_generated.h", 15 "namespace_test/namespace_test1_generated.h", 16 "namespace_test/namespace_test2_generated.h", 17 "native_type_test_impl.cpp", 18 "native_type_test_impl.h", 19 "optional_scalars_generated.h", 20 "test.cpp", 21 "test_assert.cpp", 22 "test_assert.h", 23 "test_builder.cpp", 24 "test_builder.h", 25 "union_vector/union_vector_generated.h", 26 ], 27 copts = [ 28 "-DFLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE", 29 "-DBAZEL_TEST_DATA_PATH", 30 ], 31 data = [ 32 ":arrays_test.bfbs", 33 ":arrays_test.fbs", 34 ":arrays_test.golden", 35 ":evolution_test/evolution_v1.fbs", 36 ":evolution_test/evolution_v1.json", 37 ":evolution_test/evolution_v2.fbs", 38 ":evolution_test/evolution_v2.json", 39 ":include_test/include_test1.fbs", 40 ":include_test/sub/include_test2.fbs", 41 ":monster_extra.fbs", 42 ":monster_test.bfbs", 43 ":monster_test.fbs", 44 ":monsterdata_extra.json", 45 ":monsterdata_test.golden", 46 ":monsterdata_test.json", 47 ":name_clash_test/invalid_test1.fbs", 48 ":name_clash_test/invalid_test2.fbs", 49 ":name_clash_test/valid_test1.fbs", 50 ":name_clash_test/valid_test2.fbs", 51 ":native_type_test.fbs", 52 ":optional_scalars.fbs", 53 ":optional_scalars.json", 54 ":optional_scalars_defaults.json", 55 ":prototest/imported.proto", 56 ":prototest/test.golden", 57 ":prototest/test.proto", 58 ":prototest/test_include.golden", 59 ":prototest/test_suffix.golden", 60 ":prototest/test_union.golden", 61 ":prototest/test_union_include.golden", 62 ":prototest/test_union_suffix.golden", 63 ":unicode_test.json", 64 ":union_vector/union_vector.fbs", 65 ":union_vector/union_vector.json", 66 ], 67 includes = [ 68 "", 69 "include/", 70 ], 71 deps = [ 72 ":arrays_test_cc_fbs", 73 ":monster_extra_cc_fbs", 74 ":monster_test_cc_fbs", 75 ":native_type_test_cc_fbs", 76 "//:flatbuffers", 77 ], 78) 79 80# Test bzl rules 81 82cc_library( 83 name = "test_assert", 84 srcs = ["test_assert.cpp"], 85 hdrs = ["test_assert.h"], 86 visibility = ["//grpc/tests:__subpackages__"], 87 deps = ["//:flatbuffers"], 88) 89 90cc_library( 91 name = "test_builder", 92 srcs = ["test_builder.cpp"], 93 hdrs = ["test_builder.h"], 94 visibility = ["//grpc/tests:__subpackages__"], 95 deps = [ 96 ":monster_test_grpc", 97 ":test_assert", 98 "//:flatbuffers", 99 ], 100) 101 102cc_library( 103 name = "monster_test_grpc", 104 srcs = [ 105 "monster_test.grpc.fb.cc", 106 "monster_test.grpc.fb.h", 107 "monster_test_generated.h", 108 ], 109 hdrs = [ 110 "monster_test.grpc.fb.h", 111 "monster_test_generated.h", 112 ], 113 includes = ["."], 114 visibility = ["//grpc/tests:__subpackages__"], 115 deps = [ 116 "//:flatbuffers", 117 "@com_github_grpc_grpc//:grpc++", 118 ], 119) 120 121flatbuffer_cc_library( 122 name = "include_test_fbs", 123 srcs = [ 124 "include_test/include_test1.fbs", 125 "include_test/sub/include_test2.fbs", 126 ], 127 include_paths = ["tests/include_test"], 128) 129 130flatbuffer_cc_library( 131 name = "monster_test_cc_fbs", 132 srcs = ["monster_test.fbs"], 133 include_paths = ["tests/include_test"], 134 visibility = ["//grpc/tests:__subpackages__"], 135 deps = [":include_test_fbs"], 136) 137 138# Test that running without --no-includes works properly (monster_test doesn't 139# work cleanly due to the circular dependency in the include_tests/ files). 140include_test_args = [ 141 "--gen-object-api", 142 "--gen-compare", 143 "--gen-mutable", 144 "--reflect-names", 145 "--cpp-ptr-type flatbuffers::unique_ptr", 146 "--force-empty", 147] 148 149flatbuffer_cc_library( 150 name = "included_test_fbs", 151 srcs = ["included_test.fbs"], 152 flatc_args = include_test_args, 153) 154 155flatbuffer_cc_library( 156 name = "includer_test_fbs", 157 srcs = ["includer_test.fbs"], 158 flatc_args = include_test_args, 159 deps = [":included_test_fbs"], 160) 161 162cc_library( 163 name = "include_build_test", 164 srcs = ["include_build_test.cc"], 165 deps = [":includer_test_fbs"], 166) 167 168flatbuffer_cc_library( 169 name = "monster_extra_cc_fbs", 170 srcs = ["monster_extra.fbs"], 171) 172 173flatbuffer_cc_library( 174 name = "arrays_test_cc_fbs", 175 srcs = ["arrays_test.fbs"], 176 flatc_args = [ 177 "--gen-object-api", 178 "--gen-compare", 179 "--no-includes", 180 "--gen-mutable", 181 "--reflect-names", 182 "--cpp-ptr-type flatbuffers::unique_ptr", 183 "--scoped-enums", 184 ], 185) 186 187flatbuffer_cc_library( 188 name = "native_type_test_cc_fbs", 189 srcs = ["native_type_test.fbs"], 190 flatc_args = [ 191 "--gen-object-api", 192 "--gen-mutable", 193 "--cpp-ptr-type flatbuffers::unique_ptr", 194 ], 195) 196 197flatbuffer_ts_library( 198 name = "typescript_ts_fbs", 199 srcs = ["typescript_keywords.fbs"], 200 deps = [ 201 "//tests/test_dir:include_ts_fbs", 202 "//tests/test_dir:typescript_transitive_ts_fbs", 203 ], 204) 205