Imported Upstream version 3.4.0
[platform/upstream/harfbuzz.git] / test / fuzzing / meson.build
index 712b97d..3aba9eb 100644 (file)
@@ -6,12 +6,23 @@ tests = [
 ]
 
 foreach file_name : tests
-  test_name = file_name.split('.')[0].underscorify()
+  test_name = file_name.split('.')[0]
 
-  exe = executable(test_name, [file_name, 'main.cc'],
-    cpp_args: cpp_args,
+  sources = [file_name]
+  fuzzer_ldflags = []
+  extra_cpp_args = []
+
+  if get_option('fuzzer_ldflags') == ''
+    sources += 'main.cc'
+  else
+    fuzzer_ldflags += get_option('fuzzer_ldflags').split()
+    extra_cpp_args += '-DHB_IS_IN_FUZZER'
+  endif
+
+  exe = executable(test_name, sources,
+    cpp_args: cpp_args + extra_cpp_args,
     include_directories: [incconfig, incsrc],
-    dependencies: deps,
+    link_args: fuzzer_ldflags,
     link_with: [libharfbuzz, libharfbuzz_subset],
     install: false,
   )
@@ -20,16 +31,16 @@ endforeach
 
 env = environment()
 env.set('srcdir', meson.current_source_dir())
-env.set('HB_TEST_SUBSET_FUZZER_TIMEOUT', '36')
 
 test('shape_fuzzer', find_program('run-shape-fuzzer-tests.py'),
   args: [
     hb_shape_fuzzer_exe,
   ],
+  timeout: 300,
   depends: [hb_shape_fuzzer_exe, libharfbuzz, libharfbuzz_subset],
   workdir: meson.current_build_dir() / '..' / '..',
   env: env,
-  suite: ['fuzzing'],
+  suite: ['fuzzing', 'slow'],
 )
 
 test('subset_fuzzer', find_program('run-subset-fuzzer-tests.py'),
@@ -41,7 +52,7 @@ test('subset_fuzzer', find_program('run-subset-fuzzer-tests.py'),
   timeout: 300,
   workdir: meson.current_build_dir() / '..' / '..',
   env: env,
-  suite: ['fuzzing'],
+  suite: ['fuzzing', 'slow'],
 )
 
 test('draw_fuzzer', find_program('run-draw-fuzzer-tests.py'),