blob: 367349cc04c8607feb0109387ee8c37f8444cd79 [file] [log] [blame]
[email protected]e2504c82014-05-15 19:39:141# Copyright 2014 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
piman5adadcfc2016-07-14 23:52:355import("//testing/libfuzzer/fuzzer_test.gni")
qsrfb5251d12015-01-21 15:57:226import("//testing/test.gni")
dprankedb5527d72015-03-08 04:22:477import("//build/config/ui.gni")
qsrfb5251d12015-01-21 15:57:228
brettw8f2fd172015-03-16 22:14:189config("gpu_implementation") {
10 defines = [ "GPU_IMPLEMENTATION" ]
11}
12
[email protected]d05751a22014-05-29 20:54:2413component("gpu") {
brettw7dab582e2014-09-20 01:44:1114 public_deps = [
brettw542f7532015-04-06 22:35:4515 "//gpu/command_buffer/client:client_sources",
[email protected]fc39a282014-07-29 09:14:0216 "//gpu/command_buffer/client:gles2_cmd_helper_sources",
brettw542f7532015-04-06 22:35:4517 "//gpu/command_buffer/common:common_sources",
18 "//gpu/command_buffer/service:service_sources",
19 "//gpu/config:config_sources",
penghuang346a46f92016-03-31 21:37:5220 "//gpu/ipc/client:ipc_client_sources",
markdittmercbf36ce2016-03-02 16:08:2921 "//gpu/ipc/common:ipc_common_sources",
markdittmerd88b8352016-04-08 15:28:4522 "//gpu/ipc/service:ipc_service_sources",
[email protected]d05751a22014-05-29 20:54:2423 ]
24}
25
hendrikw68d2c332015-09-03 23:02:1826shared_library("command_buffer_gles2") {
27 sources = [
28 # TODO(hendrikw): Move egl out of gles2_conform_support.
29 "gles2_conform_support/egl/config.cc",
30 "gles2_conform_support/egl/config.h",
kkinnunen4b0a5f722016-05-11 12:43:1731 "gles2_conform_support/egl/context.cc",
32 "gles2_conform_support/egl/context.h",
hendrikw68d2c332015-09-03 23:02:1833 "gles2_conform_support/egl/display.cc",
34 "gles2_conform_support/egl/display.h",
35 "gles2_conform_support/egl/egl.cc",
36 "gles2_conform_support/egl/surface.cc",
37 "gles2_conform_support/egl/surface.h",
kkinnunen6aceb552016-02-15 08:04:3538 "gles2_conform_support/egl/test_support.cc",
39 "gles2_conform_support/egl/test_support.h",
kkinnunen4b0a5f722016-05-11 12:43:1740 "gles2_conform_support/egl/thread_state.cc",
41 "gles2_conform_support/egl/thread_state.h",
hendrikw68d2c332015-09-03 23:02:1842 ]
43
44 deps = [
thakis709d0def2015-12-21 20:25:2445 ":gpu",
hendrikw68d2c332015-09-03 23:02:1846 "//base",
47 "//gpu/command_buffer/client:gles2_c_lib",
48 "//gpu/command_buffer/client:gles2_implementation",
kkinnunen4b0a5f722016-05-11 12:43:1749 "//gpu/command_buffer/common:gles2_utils",
hendrikw68d2c332015-09-03 23:02:1850 "//ui/gl:gl",
51 ]
52
hendrikw68d2c332015-09-03 23:02:1853 defines = [
54 "COMMAND_BUFFER_GLES_LIB_SUPPORT_ONLY",
55 "EGLAPIENTRY=",
56 ]
57 if (current_os == "win") {
58 defines += [ "EGLAPI=__declspec(dllexport)" ]
59 } else {
60 defines += [ "EGLAPI=__attribute__((visibility(\"default\")))" ]
61 }
62}
63
kkinnunen6aceb552016-02-15 08:04:3564test("command_buffer_gles2_tests") {
65 sources = [
66 "command_buffer/tests/command_buffer_gles2_tests_main.cc",
67 "command_buffer/tests/egl_test.cc",
68 ]
69
70 deps = [
71 ":command_buffer_gles2",
72 "//base",
73 "//base/test:test_support",
74 "//base/third_party/dynamic_annotations",
75 "//testing/gmock",
76 "//testing/gtest",
77 ]
78
79 defines = [
80 "COMMAND_BUFFER_GLES_LIB_SUPPORT_ONLY",
81 "EGLAPIENTRY=",
82 ]
83 if (current_os == "win") {
84 defines += [ "EGLAPI=__declspec(dllimport)" ]
85 } else {
86 defines += [ "EGLAPI=" ]
87 }
88
89 libs = []
90
91 if (is_android) {
92 libs += [ "android" ]
93 deps += [ "//ui/android:ui_java" ]
94 }
brucedawson4b964372016-04-19 02:06:0195 if (is_linux && !is_component_build) {
kkinnunen6aceb552016-02-15 08:04:3596 configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
97 }
98}
99
brettw3871f522016-07-14 22:08:34100static_library("test_support") {
Brett Wilson0c8745a2014-09-08 22:59:49101 testonly = true
[email protected]d05751a22014-05-29 20:54:24102 sources = [
[email protected]d05751a22014-05-29 20:54:24103 "command_buffer/client/gles2_interface_stub.cc",
104 "command_buffer/client/gles2_interface_stub.h",
satoruxc5bd7a32015-02-18 01:54:52105 "command_buffer/service/error_state_mock.cc",
106 "command_buffer/service/gles2_cmd_decoder_mock.cc",
[email protected]d05751a22014-05-29 20:54:24107 ]
108
brettw7dab582e2014-09-20 01:44:11109 public_deps = [
[email protected]d05751a22014-05-29 20:54:24110 ":gpu",
jbromancba3d2fe2014-09-16 01:04:24111 "//gpu/command_buffer/client:gles2_interface",
brettw7dab582e2014-09-20 01:44:11112 ]
113 deps = [
[email protected]d05751a22014-05-29 20:54:24114 "//testing/gmock",
115 "//testing/gtest",
116 "//ui/gl:gl_unittest_utils",
117 ]
118}
119
brettw4897a612015-03-02 23:13:15120test("gl_tests") {
121 sources = [
122 "command_buffer/tests/compressed_texture_test.cc",
kkinnunen631033e2015-09-23 06:39:04123 "command_buffer/tests/es3_misc_functions_unittest.cc",
dongseong.hwange727a7e72016-10-25 21:18:40124 "command_buffer/tests/gl_apply_screen_space_antialiasing_CHROMIUM_unittest.cc",
junov0c614142016-07-21 18:56:02125 "command_buffer/tests/gl_bgra_mipmap_unittest.cc",
brettw4897a612015-03-02 23:13:15126 "command_buffer/tests/gl_bind_uniform_location_unittest.cc",
kkinnunena9d27e72015-12-21 17:23:44127 "command_buffer/tests/gl_chromium_framebuffer_mixed_samples_unittest.cc",
brettw4897a612015-03-02 23:13:15128 "command_buffer/tests/gl_chromium_framebuffer_multisample_unittest.cc",
129 "command_buffer/tests/gl_chromium_path_rendering_unittest.cc",
130 "command_buffer/tests/gl_clear_framebuffer_unittest.cc",
christiank83120092015-06-17 11:40:10131 "command_buffer/tests/gl_compressed_copy_texture_CHROMIUM_unittest.cc",
erikchen38cbbce2016-03-16 17:45:44132 "command_buffer/tests/gl_copy_tex_image_2d_workaround_unittest.cc",
brettw4897a612015-03-02 23:13:15133 "command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc",
dongseong.hwang9e8922b2015-09-01 11:04:49134 "command_buffer/tests/gl_cube_map_texture_unittest.cc",
brettw4897a612015-03-02 23:13:15135 "command_buffer/tests/gl_depth_texture_unittest.cc",
erikchen13338b62016-06-01 03:58:18136 "command_buffer/tests/gl_deschedule_unittest.cc",
jinsukkim25219612016-01-20 23:24:07137 "command_buffer/tests/gl_dynamic_config_unittest.cc",
kkinnunen8cefb232015-12-04 09:36:31138 "command_buffer/tests/gl_ext_blend_func_extended_unittest.cc",
kkinnunenf26d7382015-12-01 13:34:14139 "command_buffer/tests/gl_ext_multisample_compatibility_unittest.cc",
kkinnunen0c2dee72015-11-09 11:13:58140 "command_buffer/tests/gl_ext_srgb_unittest.cc",
dyen5c38a032015-10-07 18:58:31141 "command_buffer/tests/gl_fence_sync_unittest.cc",
brettw4897a612015-03-02 23:13:15142 "command_buffer/tests/gl_gpu_memory_buffer_unittest.cc",
erikchen2acd56012016-03-22 00:58:26143 "command_buffer/tests/gl_iosurface_readback_workaround_unittest.cc",
brettw4897a612015-03-02 23:13:15144 "command_buffer/tests/gl_lose_context_chromium_unittest.cc",
145 "command_buffer/tests/gl_manager.cc",
146 "command_buffer/tests/gl_manager.h",
zmo444e085e2016-10-12 01:19:32147 "command_buffer/tests/gl_map_buffer_range_unittest.cc",
erikchen7ea46082016-06-28 03:37:08148 "command_buffer/tests/gl_native_gmb_backbuffer_unittest.cc",
brettw4897a612015-03-02 23:13:15149 "command_buffer/tests/gl_pointcoord_unittest.cc",
150 "command_buffer/tests/gl_program_unittest.cc",
151 "command_buffer/tests/gl_query_unittest.cc",
152 "command_buffer/tests/gl_readback_unittest.cc",
kkinnunen5d3785f2016-02-19 16:59:37153 "command_buffer/tests/gl_request_extension_unittest.cc",
brettw4897a612015-03-02 23:13:15154 "command_buffer/tests/gl_shared_resources_unittest.cc",
155 "command_buffer/tests/gl_stream_draw_unittest.cc",
156 "command_buffer/tests/gl_test_utils.cc",
157 "command_buffer/tests/gl_test_utils.h",
158 "command_buffer/tests/gl_tests_main.cc",
159 "command_buffer/tests/gl_texture_mailbox_unittest.cc",
160 "command_buffer/tests/gl_texture_storage_unittest.cc",
161 "command_buffer/tests/gl_unittest.cc",
162 "command_buffer/tests/gl_unittests_android.cc",
163 "command_buffer/tests/gl_virtual_contexts_unittest.cc",
164 "command_buffer/tests/occlusion_query_unittest.cc",
erikchen7ea46082016-06-28 03:37:08165 "command_buffer/tests/texture_image_factory.cc",
166 "command_buffer/tests/texture_image_factory.h",
penghuangc9c73f482016-04-26 18:52:17167 "ipc/client/gpu_context_tests.h",
168 "ipc/client/gpu_in_process_context_tests.cc",
brettw4897a612015-03-02 23:13:15169 ]
[email protected]d05751a22014-05-29 20:54:24170
brettw4897a612015-03-02 23:13:15171 defines = [ "GL_GLEXT_PROTOTYPES" ]
[email protected]d05751a22014-05-29 20:54:24172
brettw4897a612015-03-02 23:13:15173 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
dpranke8ec93a3a2015-02-20 23:36:08174
brettw4897a612015-03-02 23:13:15175 deps = [
176 ":gpu",
177 ":test_support",
178 "//base",
179 "//base/test:test_support",
180 "//base/third_party/dynamic_annotations",
penghuangc9c73f482016-04-26 18:52:17181 "//gpu/command_buffer/client:gl_in_process_context",
agrieved7a71c882015-11-20 19:53:28182 "//gpu/command_buffer/client:gles2_c_lib",
183 "//gpu/command_buffer/client:gles2_implementation",
184 "//gpu/command_buffer/common:gles2_utils",
brettw4897a612015-03-02 23:13:15185 "//testing/gmock",
186 "//testing/gtest",
187 "//third_party/angle:translator",
188 "//ui/gfx",
189 "//ui/gfx:test_support",
190 "//ui/gfx/geometry",
191 "//ui/gl",
brettw4897a612015-03-02 23:13:15192 ]
[email protected]d05751a22014-05-29 20:54:24193
brettw4897a612015-03-02 23:13:15194 libs = []
cjhopman09981a92014-10-27 17:11:18195
brettw4897a612015-03-02 23:13:15196 if (is_android) {
brettw4897a612015-03-02 23:13:15197 libs += [ "android" ]
agrieve97176362015-12-01 16:36:19198 deps += [ "//ui/android:ui_java" ]
thakis85138c42016-05-13 23:16:40199 } else if (is_mac) {
200 libs += [ "IOSurface.framework" ]
cjhopman09981a92014-10-27 17:11:18201 }
brettw4897a612015-03-02 23:13:15202}
[email protected]d05751a22014-05-29 20:54:24203
brettw4897a612015-03-02 23:13:15204test("gpu_unittests") {
205 sources = [
206 "command_buffer/client/buffer_tracker_unittest.cc",
207 "command_buffer/client/client_test_helper.cc",
208 "command_buffer/client/client_test_helper.h",
209 "command_buffer/client/cmd_buffer_helper_test.cc",
210 "command_buffer/client/fenced_allocator_test.cc",
211 "command_buffer/client/gles2_implementation_unittest.cc",
212 "command_buffer/client/mapped_memory_unittest.cc",
213 "command_buffer/client/program_info_manager_unittest.cc",
214 "command_buffer/client/query_tracker_unittest.cc",
215 "command_buffer/client/ring_buffer_test.cc",
216 "command_buffer/client/transfer_buffer_unittest.cc",
217 "command_buffer/client/vertex_array_object_manager_unittest.cc",
218 "command_buffer/common/bitfield_helpers_test.cc",
219 "command_buffer/common/command_buffer_mock.cc",
220 "command_buffer/common/command_buffer_mock.h",
221 "command_buffer/common/command_buffer_shared_test.cc",
222 "command_buffer/common/debug_marker_manager_unittest.cc",
223 "command_buffer/common/gles2_cmd_format_test.cc",
224 "command_buffer/common/gles2_cmd_format_test_autogen.h",
225 "command_buffer/common/gles2_cmd_utils_unittest.cc",
226 "command_buffer/common/id_allocator_test.cc",
lukasza2573ce7d2016-02-16 19:17:22227 "command_buffer/common/id_type_unittest.cc",
brettw4897a612015-03-02 23:13:15228 "command_buffer/common/unittest_main.cc",
brettw4897a612015-03-02 23:13:15229 "command_buffer/service/buffer_manager_unittest.cc",
230 "command_buffer/service/cmd_parser_test.cc",
231 "command_buffer/service/command_buffer_service_unittest.cc",
sunnypsd6bb1c02016-03-12 04:48:31232 "command_buffer/service/command_executor_unittest.cc",
brettw4897a612015-03-02 23:13:15233 "command_buffer/service/common_decoder_unittest.cc",
234 "command_buffer/service/context_group_unittest.cc",
zmo5ee097e2015-05-14 19:13:52235 "command_buffer/service/context_state_unittest.cc",
brettw4897a612015-03-02 23:13:15236 "command_buffer/service/feature_info_unittest.cc",
237 "command_buffer/service/framebuffer_manager_unittest.cc",
sieversfbaa5dc2015-04-28 00:45:31238 "command_buffer/service/gl_context_mock.cc",
239 "command_buffer/service/gl_context_mock.h",
piman39f67692016-05-12 03:25:14240 "command_buffer/service/gl_context_virtual_unittest.cc",
brettw4897a612015-03-02 23:13:15241 "command_buffer/service/gl_surface_mock.cc",
242 "command_buffer/service/gl_surface_mock.h",
243 "command_buffer/service/gles2_cmd_decoder_unittest.cc",
244 "command_buffer/service/gles2_cmd_decoder_unittest.h",
245 "command_buffer/service/gles2_cmd_decoder_unittest_0_autogen.h",
246 "command_buffer/service/gles2_cmd_decoder_unittest_1.cc",
247 "command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h",
248 "command_buffer/service/gles2_cmd_decoder_unittest_2.cc",
249 "command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h",
250 "command_buffer/service/gles2_cmd_decoder_unittest_3.cc",
251 "command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h",
brettw4897a612015-03-02 23:13:15252 "command_buffer/service/gles2_cmd_decoder_unittest_attribs.cc",
253 "command_buffer/service/gles2_cmd_decoder_unittest_base.cc",
254 "command_buffer/service/gles2_cmd_decoder_unittest_base.h",
zmoa06b9882015-03-10 20:50:34255 "command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc",
sieversfbaa5dc2015-04-28 00:45:31256 "command_buffer/service/gles2_cmd_decoder_unittest_context_lost.cc",
brettw4897a612015-03-02 23:13:15257 "command_buffer/service/gles2_cmd_decoder_unittest_context_state.cc",
258 "command_buffer/service/gles2_cmd_decoder_unittest_drawing.cc",
259 "command_buffer/service/gles2_cmd_decoder_unittest_extensions.cc",
260 "command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc",
261 "command_buffer/service/gles2_cmd_decoder_unittest_programs.cc",
262 "command_buffer/service/gles2_cmd_decoder_unittest_textures.cc",
brettw4897a612015-03-02 23:13:15263 "command_buffer/service/gpu_service_test.cc",
264 "command_buffer/service/gpu_service_test.h",
265 "command_buffer/service/gpu_tracer_unittest.cc",
266 "command_buffer/service/id_manager_unittest.cc",
zmo6c468ba2016-05-04 20:00:51267 "command_buffer/service/indexed_buffer_binding_host_unittest.cc",
brettw4897a612015-03-02 23:13:15268 "command_buffer/service/mailbox_manager_unittest.cc",
269 "command_buffer/service/memory_program_cache_unittest.cc",
270 "command_buffer/service/mocks.cc",
271 "command_buffer/service/mocks.h",
kkinnunenb959a8462015-07-14 11:08:34272 "command_buffer/service/path_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15273 "command_buffer/service/program_cache_unittest.cc",
274 "command_buffer/service/program_manager_unittest.cc",
275 "command_buffer/service/query_manager_unittest.cc",
276 "command_buffer/service/renderbuffer_manager_unittest.cc",
277 "command_buffer/service/shader_manager_unittest.cc",
278 "command_buffer/service/shader_translator_cache_unittest.cc",
279 "command_buffer/service/shader_translator_unittest.cc",
dyen5c38a032015-10-07 18:58:31280 "command_buffer/service/sync_point_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15281 "command_buffer/service/test_helper.cc",
282 "command_buffer/service/test_helper.h",
283 "command_buffer/service/texture_manager_unittest.cc",
284 "command_buffer/service/transfer_buffer_manager_unittest.cc",
zmo6c468ba2016-05-04 20:00:51285 "command_buffer/service/transform_feedback_manager_unittest.cc",
brettw4897a612015-03-02 23:13:15286 "command_buffer/service/vertex_array_manager_unittest.cc",
287 "command_buffer/service/vertex_attrib_manager_unittest.cc",
288 "config/gpu_blacklist_unittest.cc",
289 "config/gpu_control_list_entry_unittest.cc",
290 "config/gpu_control_list_number_info_unittest.cc",
291 "config/gpu_control_list_os_info_unittest.cc",
292 "config/gpu_control_list_unittest.cc",
293 "config/gpu_control_list_version_info_unittest.cc",
294 "config/gpu_driver_bug_list_unittest.cc",
295 "config/gpu_info_collector_unittest.cc",
296 "config/gpu_info_unittest.cc",
297 "config/gpu_test_config_unittest.cc",
298 "config/gpu_test_expectations_parser_unittest.cc",
299 "config/gpu_util_unittest.cc",
penghuang346a46f92016-03-31 21:37:52300 "ipc/client/gpu_memory_buffer_impl_shared_memory_unittest.cc",
301 "ipc/client/gpu_memory_buffer_impl_test_template.h",
fsamuel3de22242016-06-01 05:37:04302 "ipc/common/struct_traits_unittest.cc",
brettw4897a612015-03-02 23:13:15303 ]
penghuangc9c73f482016-04-26 18:52:17304
penghuang346a46f92016-03-31 21:37:52305 if (is_mac) {
306 sources += [ "ipc/client/gpu_memory_buffer_impl_io_surface_unittest.cc" ]
307 }
dpranke8ec93a3a2015-02-20 23:36:08308
brettwbc8b2a22015-07-28 18:24:42309 configs += [
310 "//build/config:precompiled_headers",
311
312 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
313 "//build/config/compiler:no_size_t_to_int_warning",
314 ]
[email protected]d5ba08c2014-06-18 07:01:08315
brettw4897a612015-03-02 23:13:15316 deps = [
317 ":gpu",
318 ":test_support",
319 "//base",
320 "//base/test:test_support",
321 "//base/third_party/dynamic_annotations",
penghuang346a46f92016-03-31 21:37:52322 "//gpu/command_buffer/client:gl_in_process_context",
agrieved7a71c882015-11-20 19:53:28323 "//gpu/command_buffer/client:gles2_c_lib",
324 "//gpu/command_buffer/client:gles2_implementation",
325 "//gpu/command_buffer/common:gles2_utils",
fsamuel3de22242016-06-01 05:37:04326 "//gpu/ipc/common:test_interfaces",
327 "//mojo/edk/system",
328 "//mojo/public/cpp/bindings",
brettw4897a612015-03-02 23:13:15329 "//testing/gmock",
330 "//testing/gtest",
331 "//third_party/angle:translator",
332 "//ui/gfx",
tfarinaf89722432015-05-15 19:30:19333 "//ui/gfx:test_support",
agrieved7a71c882015-11-20 19:53:28334 "//ui/gfx/geometry",
brettw4897a612015-03-02 23:13:15335 "//ui/gl",
tfarinaf89722432015-05-15 19:30:19336 "//ui/gl:gl_unittest_utils",
sadrulba162cd2015-07-20 22:34:26337 "//ui/gl:test_support",
brettw4897a612015-03-02 23:13:15338 ]
dongseong.hwangd4a00dd72016-04-08 07:09:00339
penghuangc9c73f482016-04-26 18:52:17340 if (is_android) {
341 deps += [
342 "//ui/android:ui_java",
343 "//ui/gl:gl_jni_headers",
344 ]
345 }
346
dongseong.hwangd4a00dd72016-04-08 07:09:00347 if (use_ozone) {
348 deps += [ "//ui/ozone" ]
349 sources +=
350 [ "ipc/client/gpu_memory_buffer_impl_ozone_native_pixmap_unittest.cc" ]
351 }
brettw4897a612015-03-02 23:13:15352}
[email protected]c7990dbf2014-07-23 22:35:10353
brettw4897a612015-03-02 23:13:15354test("gpu_perftests") {
355 sources = [
356 "perftests/measurements.cc",
357 "perftests/run_all_tests.cc",
358 "perftests/texture_upload_perftest.cc",
359 ]
dcastagna3e60aaa92015-01-29 19:23:45360
brettw4897a612015-03-02 23:13:15361 deps = [
362 "//base",
363 "//base/test:test_support",
364 "//gpu/command_buffer/service",
dcastagnaac138e52015-03-10 00:22:09365 "//testing/gmock",
brettw4897a612015-03-02 23:13:15366 "//testing/gtest",
367 "//testing/perf",
368 "//ui/gfx/geometry",
369 "//ui/gl",
kylechar5b9dec12016-05-16 15:40:57370 "//ui/gl/init",
brettw4897a612015-03-02 23:13:15371 ]
krasinca63e412016-05-12 02:53:25372
373 # This target should not require the Chrome executable to run.
374 assert_no_deps = [ "//chrome" ]
brettw4897a612015-03-02 23:13:15375}
piman5adadcfc2016-07-14 23:52:35376
377fuzzer_test("gpu_fuzzer") {
378 sources = [
379 "command_buffer/tests/fuzzer_main.cc",
380 ]
381
382 deps = [
383 ":gpu",
384 "//base",
385 "//base/third_party/dynamic_annotations",
386 "//gpu/command_buffer/common:gles2_utils",
387 "//ui/gfx/geometry",
388 "//ui/gl",
389 "//ui/gl:test_support",
390 ]
391
392 libfuzzer_options = [
393 "max_len=16384",
394 "use_traces=1",
395 ]
396}