aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/.clang-tidy3
-rw-r--r--test/atom_test_utils.c20
-rw-r--r--test/cpp/.clang-tidy5
-rw-r--r--test/cpp/test_build.cpp60
-rw-r--r--test/headers/.clang-tidy4
-rw-r--r--test/headers/meson.build4
-rw-r--r--test/headers/test_headers.c60
-rw-r--r--test/meson.build83
-rw-r--r--test/test_atom.c18
-rw-r--r--test/test_build.c60
-rw-r--r--test/test_forge_overflow.c14
11 files changed, 182 insertions, 149 deletions
diff --git a/test/.clang-tidy b/test/.clang-tidy
index f6fe1d6..ef4d61f 100644
--- a/test/.clang-tidy
+++ b/test/.clang-tidy
@@ -1,9 +1,10 @@
-# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# Copyright 2020-2025 David Robillard <d@drobilla.net>
# SPDX-License-Identifier: 0BSD OR ISC
Checks: >
-*-else-after-return,
-bugprone-easily-swappable-parameters,
+ -bugprone-multi-level-implicit-pointer-conversion,
-bugprone-suspicious-include,
-cert-err33-c,
-clang-diagnostic-unused-parameter,
diff --git a/test/atom_test_utils.c b/test/atom_test_utils.c
index e7d45d0..5c313a5 100644
--- a/test/atom_test_utils.c
+++ b/test/atom_test_utils.c
@@ -1,12 +1,15 @@
// Copyright 2012-2018 David Robillard <d@drobilla.net>
// SPDX-License-Identifier: ISC
-#include "lv2/atom/atom.h"
-#include "lv2/atom/forge.h"
-#include "lv2/atom/util.h"
-#include "lv2/log/log.h"
-#include "lv2/urid/urid.h"
+#undef NDEBUG
+#include <lv2/atom/atom.h>
+#include <lv2/atom/forge.h>
+#include <lv2/atom/util.h>
+#include <lv2/log/log.h>
+#include <lv2/urid/urid.h>
+
+#include <assert.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
@@ -32,8 +35,11 @@ urid_map(LV2_URID_Map_Handle handle, const char* uri)
}
}
- uris = (char**)realloc(uris, ++n_uris * sizeof(char*));
- uris[n_uris - 1] = copy_string(uri);
+ char** const new_uris = (char**)realloc(uris, (n_uris + 1) * sizeof(char*));
+ assert(new_uris);
+
+ uris = new_uris;
+ uris[n_uris++] = copy_string(uri);
return n_uris;
}
diff --git a/test/cpp/.clang-tidy b/test/cpp/.clang-tidy
index 02d730c..1fe1f27 100644
--- a/test/cpp/.clang-tidy
+++ b/test/cpp/.clang-tidy
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# Copyright 2020-2025 David Robillard <d@drobilla.net>
# SPDX-License-Identifier: 0BSD OR ISC
Checks: >
@@ -17,10 +17,11 @@ Checks: >
-cppcoreguidelines-pro-type-cstyle-cast,
-cppcoreguidelines-pro-type-vararg,
-hicpp-no-array-decay,
+ -hicpp-use-nullptr,
-hicpp-vararg,
-llvmlibc-callee-namespace,
-modernize-use-nullptr,
-modernize-use-using,
+ -performance-enum-size,
-readability-implicit-bool-conversion,
InheritParentConfig: true
-
diff --git a/test/cpp/test_build.cpp b/test/cpp/test_build.cpp
index c8b2ca0..73868a4 100644
--- a/test/cpp/test_build.cpp
+++ b/test/cpp/test_build.cpp
@@ -10,36 +10,36 @@ _Pragma("GCC diagnostic push")
_Pragma("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
#endif
-#include "lv2/atom/atom.h" // IWYU pragma: keep
-#include "lv2/atom/forge.h" // IWYU pragma: keep
-#include "lv2/atom/util.h" // IWYU pragma: keep
-#include "lv2/buf-size/buf-size.h" // IWYU pragma: keep
-#include "lv2/core/attributes.h" // IWYU pragma: keep
-#include "lv2/core/lv2.h" // IWYU pragma: keep
-#include "lv2/core/lv2_util.h" // IWYU pragma: keep
-#include "lv2/data-access/data-access.h" // IWYU pragma: keep
-#include "lv2/dynmanifest/dynmanifest.h" // IWYU pragma: keep
-#include "lv2/event/event-helpers.h" // IWYU pragma: keep
-#include "lv2/event/event.h" // IWYU pragma: keep
-#include "lv2/instance-access/instance-access.h" // IWYU pragma: keep
-#include "lv2/log/log.h" // IWYU pragma: keep
-#include "lv2/log/logger.h" // IWYU pragma: keep
-#include "lv2/midi/midi.h" // IWYU pragma: keep
-#include "lv2/morph/morph.h" // IWYU pragma: keep
-#include "lv2/options/options.h" // IWYU pragma: keep
-#include "lv2/parameters/parameters.h" // IWYU pragma: keep
-#include "lv2/patch/patch.h" // IWYU pragma: keep
-#include "lv2/port-groups/port-groups.h" // IWYU pragma: keep
-#include "lv2/port-props/port-props.h" // IWYU pragma: keep
-#include "lv2/presets/presets.h" // IWYU pragma: keep
-#include "lv2/resize-port/resize-port.h" // IWYU pragma: keep
-#include "lv2/state/state.h" // IWYU pragma: keep
-#include "lv2/time/time.h" // IWYU pragma: keep
-#include "lv2/ui/ui.h" // IWYU pragma: keep
-#include "lv2/units/units.h" // IWYU pragma: keep
-#include "lv2/uri-map/uri-map.h" // IWYU pragma: keep
-#include "lv2/urid/urid.h" // IWYU pragma: keep
-#include "lv2/worker/worker.h" // IWYU pragma: keep
+#include <lv2/atom/atom.h> // IWYU pragma: keep
+#include <lv2/atom/forge.h> // IWYU pragma: keep
+#include <lv2/atom/util.h> // IWYU pragma: keep
+#include <lv2/buf-size/buf-size.h> // IWYU pragma: keep
+#include <lv2/core/attributes.h> // IWYU pragma: keep
+#include <lv2/core/lv2.h> // IWYU pragma: keep
+#include <lv2/core/lv2_util.h> // IWYU pragma: keep
+#include <lv2/data-access/data-access.h> // IWYU pragma: keep
+#include <lv2/dynmanifest/dynmanifest.h> // IWYU pragma: keep
+#include <lv2/event/event-helpers.h> // IWYU pragma: keep
+#include <lv2/event/event.h> // IWYU pragma: keep
+#include <lv2/instance-access/instance-access.h> // IWYU pragma: keep
+#include <lv2/log/log.h> // IWYU pragma: keep
+#include <lv2/log/logger.h> // IWYU pragma: keep
+#include <lv2/midi/midi.h> // IWYU pragma: keep
+#include <lv2/morph/morph.h> // IWYU pragma: keep
+#include <lv2/options/options.h> // IWYU pragma: keep
+#include <lv2/parameters/parameters.h> // IWYU pragma: keep
+#include <lv2/patch/patch.h> // IWYU pragma: keep
+#include <lv2/port-groups/port-groups.h> // IWYU pragma: keep
+#include <lv2/port-props/port-props.h> // IWYU pragma: keep
+#include <lv2/presets/presets.h> // IWYU pragma: keep
+#include <lv2/resize-port/resize-port.h> // IWYU pragma: keep
+#include <lv2/state/state.h> // IWYU pragma: keep
+#include <lv2/time/time.h> // IWYU pragma: keep
+#include <lv2/ui/ui.h> // IWYU pragma: keep
+#include <lv2/units/units.h> // IWYU pragma: keep
+#include <lv2/uri-map/uri-map.h> // IWYU pragma: keep
+#include <lv2/urid/urid.h> // IWYU pragma: keep
+#include <lv2/worker/worker.h> // IWYU pragma: keep
int
main()
diff --git a/test/headers/.clang-tidy b/test/headers/.clang-tidy
index dd0b95f..bf971cc 100644
--- a/test/headers/.clang-tidy
+++ b/test/headers/.clang-tidy
@@ -1,15 +1,15 @@
-# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# Copyright 2020-2024 David Robillard <d@drobilla.net>
# SPDX-License-Identifier: 0BSD OR ISC
Checks: >
*,
+ -*-macro-to-enum,
-*-magic-numbers,
-altera-*,
-bugprone-assignment-in-if-condition,
-bugprone-easily-swappable-parameters,
-bugprone-macro-parentheses,
-llvmlibc-restrict-system-libc-headers,
- -modernize-macro-to-enum,
-performance-no-int-to-ptr,
-readability-identifier-length,
CheckOptions:
diff --git a/test/headers/meson.build b/test/headers/meson.build
index 6e9ac7a..89ee4b8 100644
--- a/test/headers/meson.build
+++ b/test/headers/meson.build
@@ -10,6 +10,7 @@ if get_option('warning_level') == 'everything'
'-Wno-cast-qual',
'-Wno-declaration-after-statement',
'-Wno-padded',
+ '-Wno-unsafe-buffer-usage',
]
if not meson.is_cross_build()
@@ -53,6 +54,8 @@ if cc.get_id() == 'clang'
]
endif
+header_c_suppressions = cc.get_supported_arguments(header_c_suppressions)
+
test(
'headers',
executable(
@@ -60,6 +63,7 @@ test(
files('test_headers.c'),
c_args: header_c_suppressions,
dependencies: [lv2_dep],
+ implicit_include_directories: false,
),
suite: 'unit',
)
diff --git a/test/headers/test_headers.c b/test/headers/test_headers.c
index 5736b44..d62b000 100644
--- a/test/headers/test_headers.c
+++ b/test/headers/test_headers.c
@@ -1,36 +1,36 @@
// Copyright 2022 David Robillard <d@drobilla.net>
// SPDX-License-Identifier: ISC
-#include "lv2/atom/atom.h" // IWYU pragma: keep
-#include "lv2/atom/forge.h" // IWYU pragma: keep
-#include "lv2/atom/util.h" // IWYU pragma: keep
-#include "lv2/buf-size/buf-size.h" // IWYU pragma: keep
-#include "lv2/core/attributes.h" // IWYU pragma: keep
-#include "lv2/core/lv2.h" // IWYU pragma: keep
-#include "lv2/core/lv2_util.h" // IWYU pragma: keep
-#include "lv2/data-access/data-access.h" // IWYU pragma: keep
-#include "lv2/dynmanifest/dynmanifest.h" // IWYU pragma: keep
-#include "lv2/event/event-helpers.h" // IWYU pragma: keep
-#include "lv2/event/event.h" // IWYU pragma: keep
-#include "lv2/instance-access/instance-access.h" // IWYU pragma: keep
-#include "lv2/log/log.h" // IWYU pragma: keep
-#include "lv2/log/logger.h" // IWYU pragma: keep
-#include "lv2/midi/midi.h" // IWYU pragma: keep
-#include "lv2/morph/morph.h" // IWYU pragma: keep
-#include "lv2/options/options.h" // IWYU pragma: keep
-#include "lv2/parameters/parameters.h" // IWYU pragma: keep
-#include "lv2/patch/patch.h" // IWYU pragma: keep
-#include "lv2/port-groups/port-groups.h" // IWYU pragma: keep
-#include "lv2/port-props/port-props.h" // IWYU pragma: keep
-#include "lv2/presets/presets.h" // IWYU pragma: keep
-#include "lv2/resize-port/resize-port.h" // IWYU pragma: keep
-#include "lv2/state/state.h" // IWYU pragma: keep
-#include "lv2/time/time.h" // IWYU pragma: keep
-#include "lv2/ui/ui.h" // IWYU pragma: keep
-#include "lv2/units/units.h" // IWYU pragma: keep
-#include "lv2/uri-map/uri-map.h" // IWYU pragma: keep
-#include "lv2/urid/urid.h" // IWYU pragma: keep
-#include "lv2/worker/worker.h" // IWYU pragma: keep
+#include <lv2/atom/atom.h> // IWYU pragma: keep
+#include <lv2/atom/forge.h> // IWYU pragma: keep
+#include <lv2/atom/util.h> // IWYU pragma: keep
+#include <lv2/buf-size/buf-size.h> // IWYU pragma: keep
+#include <lv2/core/attributes.h> // IWYU pragma: keep
+#include <lv2/core/lv2.h> // IWYU pragma: keep
+#include <lv2/core/lv2_util.h> // IWYU pragma: keep
+#include <lv2/data-access/data-access.h> // IWYU pragma: keep
+#include <lv2/dynmanifest/dynmanifest.h> // IWYU pragma: keep
+#include <lv2/event/event-helpers.h> // IWYU pragma: keep
+#include <lv2/event/event.h> // IWYU pragma: keep
+#include <lv2/instance-access/instance-access.h> // IWYU pragma: keep
+#include <lv2/log/log.h> // IWYU pragma: keep
+#include <lv2/log/logger.h> // IWYU pragma: keep
+#include <lv2/midi/midi.h> // IWYU pragma: keep
+#include <lv2/morph/morph.h> // IWYU pragma: keep
+#include <lv2/options/options.h> // IWYU pragma: keep
+#include <lv2/parameters/parameters.h> // IWYU pragma: keep
+#include <lv2/patch/patch.h> // IWYU pragma: keep
+#include <lv2/port-groups/port-groups.h> // IWYU pragma: keep
+#include <lv2/port-props/port-props.h> // IWYU pragma: keep
+#include <lv2/presets/presets.h> // IWYU pragma: keep
+#include <lv2/resize-port/resize-port.h> // IWYU pragma: keep
+#include <lv2/state/state.h> // IWYU pragma: keep
+#include <lv2/time/time.h> // IWYU pragma: keep
+#include <lv2/ui/ui.h> // IWYU pragma: keep
+#include <lv2/units/units.h> // IWYU pragma: keep
+#include <lv2/uri-map/uri-map.h> // IWYU pragma: keep
+#include <lv2/urid/urid.h> // IWYU pragma: keep
+#include <lv2/worker/worker.h> // IWYU pragma: keep
#ifdef __GNUC__
__attribute__((const))
diff --git a/test/meson.build b/test/meson.build
index 2919735..cddb05a 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -20,8 +20,8 @@ if get_option('lint')
codespell,
args: [
'-d',
- '-q', '3',
- '-S', ','.join(ignore),
+ ['-q', '3'],
+ ['-S', ','.join(ignore)],
lv2_source_root / 'doc',
lv2_source_root / 'lv2',
lv2_source_root / 'lv2specgen',
@@ -36,25 +36,29 @@ if get_option('lint')
serdi = find_program(
'serdi',
required: get_option('tests'),
- version: '>= 0.31.5',
+ version: '>= 0.32.0',
+ )
+ native_build = (
+ not meson.is_cross_build()
+ and host_machine.system() != 'windows'
)
- native_build = not meson.is_cross_build() and host_machine.system() != 'windows'
if serdi.found() and native_build
- lv2_check_syntax = files(lv2_source_root / 'scripts' / 'lv2_check_syntax.py')
+ lv2_check_syntax = files(
+ lv2_source_root / 'scripts' / 'lv2_check_syntax.py',
+ )
- test('syntax',
- lv2_check_syntax,
- args: ['--serdi', serdi.full_path()] + spec_files + schema_data,
- suite: 'data')
+ test(
+ 'syntax',
+ lv2_check_syntax,
+ args: ['--serdi', serdi.full_path()] + spec_files + schema_data,
+ suite: 'data',
+ )
endif
# Check that specification data validates
sord_validate = find_program('sord_validate', required: get_option('tests'))
if sord_validate.found()
- test('valid',
- sord_validate,
- args: spec_files + schema_data,
- suite: 'data')
+ test('valid', sord_validate, args: spec_files + schema_data, suite: 'data')
endif
endif
@@ -63,25 +67,31 @@ endif
########
# Check that all the headers compile cleanly in C
-test('c',
- executable(
- 'test_build_c',
- files('test_build.c'),
- c_args: c_suppressions,
- dependencies: [lv2_dep],
- ),
- suite: 'build')
+test(
+ 'c',
+ executable(
+ 'test_build_c',
+ files('test_build.c'),
+ c_args: c_suppressions,
+ dependencies: [lv2_dep],
+ implicit_include_directories: false,
+ ),
+ suite: 'build',
+)
# Check that all the headers compile cleanly in C++
if is_variable('cpp')
- test('cpp',
- executable(
- 'test_build_cpp',
- files('cpp/test_build.cpp'),
- cpp_args: cpp_suppressions,
- dependencies: [lv2_dep],
- ),
- suite: 'build')
+ test(
+ 'cpp',
+ executable(
+ 'test_build_cpp',
+ files('cpp/test_build.cpp'),
+ cpp_args: cpp_suppressions,
+ dependencies: [lv2_dep],
+ implicit_include_directories: false,
+ ),
+ suite: 'build',
+ )
endif
##########
@@ -104,7 +114,12 @@ if get_option('lint')
black = find_program('black', required: get_option('tests'))
if black.found()
black_opts = ['-l', '79', '-q', '--check']
- test('black', black, args: black_opts + all_python_scripts, suite: 'scripts')
+ test(
+ 'black',
+ black,
+ args: black_opts + all_python_scripts,
+ suite: 'scripts',
+ )
endif
# Check scripts for errors with flake8
@@ -144,6 +159,11 @@ test_names = [
'forge_overflow',
]
+atom_test_suppressions = []
+if cc.get_id() == 'gcc'
+ atom_test_suppressions += ['-Wno-stringop-overflow']
+endif
+
# Build and run tests
foreach test_name : test_names
test(
@@ -151,8 +171,9 @@ foreach test_name : test_names
executable(
test_name,
files('test_@0@.c'.format(test_name)),
- c_args: c_suppressions,
+ c_args: c_suppressions + atom_test_suppressions,
dependencies: [lv2_dep],
+ implicit_include_directories: false,
),
suite: 'unit',
)
diff --git a/test/test_atom.c b/test/test_atom.c
index beac05c..f88c4c7 100644
--- a/test/test_atom.c
+++ b/test/test_atom.c
@@ -3,10 +3,10 @@
#include "atom_test_utils.c"
-#include "lv2/atom/atom.h"
-#include "lv2/atom/forge.h"
-#include "lv2/atom/util.h"
-#include "lv2/urid/urid.h"
+#include <lv2/atom/atom.h>
+#include <lv2/atom/forge.h>
+#include <lv2/atom/util.h>
+#include <lv2/urid/urid.h>
#include <stdbool.h>
#include <stdint.h>
@@ -101,7 +101,7 @@ main(void)
lv2_atom_forge_key(&forge, eg_path);
LV2_Atom_String* path = (LV2_Atom_String*)lv2_atom_forge_deref(
&forge, lv2_atom_forge_uri(&forge, pstr, pstr_len));
- char* pbody = (char*)LV2_ATOM_BODY(path);
+ char* pbody = (char*)&path[1];
if (!!strcmp(pbody, pstr)) {
return test_fail("%s != \"%s\"\n", pbody, pstr);
}
@@ -112,7 +112,7 @@ main(void)
lv2_atom_forge_key(&forge, eg_uri);
LV2_Atom_String* uri = (LV2_Atom_String*)lv2_atom_forge_deref(
&forge, lv2_atom_forge_uri(&forge, ustr, ustr_len));
- char* ubody = (char*)LV2_ATOM_BODY(uri);
+ char* ubody = (char*)&uri[1];
if (!!strcmp(ubody, ustr)) {
return test_fail("%s != \"%s\"\n", ubody, ustr);
}
@@ -130,7 +130,7 @@ main(void)
lv2_atom_forge_key(&forge, eg_string);
LV2_Atom_String* string = (LV2_Atom_String*)lv2_atom_forge_deref(
&forge, lv2_atom_forge_string(&forge, "hello", strlen("hello")));
- char* sbody = (char*)LV2_ATOM_BODY(string);
+ char* sbody = (char*)&string[1];
if (!!strcmp(sbody, "hello")) {
return test_fail("%s != \"hello\"\n", sbody);
}
@@ -144,7 +144,7 @@ main(void)
strlen("bonjour"),
0,
urid_map(NULL, "http://lexvo.org/id/term/fr")));
- char* lbody = (char*)LV2_ATOM_CONTENTS(LV2_Atom_Literal, literal);
+ char* lbody = (char*)&literal[1];
if (!!strcmp(lbody, "bonjour")) {
return test_fail("%s != \"bonjour\"\n", lbody);
}
@@ -186,7 +186,7 @@ main(void)
LV2_Atom_Vector* vector = (LV2_Atom_Vector*)lv2_atom_forge_deref(
&forge,
lv2_atom_forge_vector(&forge, sizeof(int32_t), forge.Int, 4, elems));
- void* vec_body = LV2_ATOM_CONTENTS(LV2_Atom_Vector, vector);
+ const void* vec_body = LV2_ATOM_CONTENTS_CONST(LV2_Atom_Vector, vector);
if (!!memcmp(elems, vec_body, sizeof(elems))) {
return test_fail("Corrupt vector\n");
}
diff --git a/test/test_build.c b/test/test_build.c
index bdc47f6..83a69df 100644
--- a/test/test_build.c
+++ b/test/test_build.c
@@ -1,36 +1,36 @@
// Copyright 2022 David Robillard <d@drobilla.net>
// SPDX-License-Identifier: ISC
-#include "lv2/atom/atom.h" // IWYU pragma: keep
-#include "lv2/atom/forge.h" // IWYU pragma: keep
-#include "lv2/atom/util.h" // IWYU pragma: keep
-#include "lv2/buf-size/buf-size.h" // IWYU pragma: keep
-#include "lv2/core/attributes.h" // IWYU pragma: keep
-#include "lv2/core/lv2.h" // IWYU pragma: keep
-#include "lv2/core/lv2_util.h" // IWYU pragma: keep
-#include "lv2/data-access/data-access.h" // IWYU pragma: keep
-#include "lv2/dynmanifest/dynmanifest.h" // IWYU pragma: keep
-#include "lv2/event/event-helpers.h" // IWYU pragma: keep
-#include "lv2/event/event.h" // IWYU pragma: keep
-#include "lv2/instance-access/instance-access.h" // IWYU pragma: keep
-#include "lv2/log/log.h" // IWYU pragma: keep
-#include "lv2/log/logger.h" // IWYU pragma: keep
-#include "lv2/midi/midi.h" // IWYU pragma: keep
-#include "lv2/morph/morph.h" // IWYU pragma: keep
-#include "lv2/options/options.h" // IWYU pragma: keep
-#include "lv2/parameters/parameters.h" // IWYU pragma: keep
-#include "lv2/patch/patch.h" // IWYU pragma: keep
-#include "lv2/port-groups/port-groups.h" // IWYU pragma: keep
-#include "lv2/port-props/port-props.h" // IWYU pragma: keep
-#include "lv2/presets/presets.h" // IWYU pragma: keep
-#include "lv2/resize-port/resize-port.h" // IWYU pragma: keep
-#include "lv2/state/state.h" // IWYU pragma: keep
-#include "lv2/time/time.h" // IWYU pragma: keep
-#include "lv2/ui/ui.h" // IWYU pragma: keep
-#include "lv2/units/units.h" // IWYU pragma: keep
-#include "lv2/uri-map/uri-map.h" // IWYU pragma: keep
-#include "lv2/urid/urid.h" // IWYU pragma: keep
-#include "lv2/worker/worker.h" // IWYU pragma: keep
+#include <lv2/atom/atom.h> // IWYU pragma: keep
+#include <lv2/atom/forge.h> // IWYU pragma: keep
+#include <lv2/atom/util.h> // IWYU pragma: keep
+#include <lv2/buf-size/buf-size.h> // IWYU pragma: keep
+#include <lv2/core/attributes.h> // IWYU pragma: keep
+#include <lv2/core/lv2.h> // IWYU pragma: keep
+#include <lv2/core/lv2_util.h> // IWYU pragma: keep
+#include <lv2/data-access/data-access.h> // IWYU pragma: keep
+#include <lv2/dynmanifest/dynmanifest.h> // IWYU pragma: keep
+#include <lv2/event/event-helpers.h> // IWYU pragma: keep
+#include <lv2/event/event.h> // IWYU pragma: keep
+#include <lv2/instance-access/instance-access.h> // IWYU pragma: keep
+#include <lv2/log/log.h> // IWYU pragma: keep
+#include <lv2/log/logger.h> // IWYU pragma: keep
+#include <lv2/midi/midi.h> // IWYU pragma: keep
+#include <lv2/morph/morph.h> // IWYU pragma: keep
+#include <lv2/options/options.h> // IWYU pragma: keep
+#include <lv2/parameters/parameters.h> // IWYU pragma: keep
+#include <lv2/patch/patch.h> // IWYU pragma: keep
+#include <lv2/port-groups/port-groups.h> // IWYU pragma: keep
+#include <lv2/port-props/port-props.h> // IWYU pragma: keep
+#include <lv2/presets/presets.h> // IWYU pragma: keep
+#include <lv2/resize-port/resize-port.h> // IWYU pragma: keep
+#include <lv2/state/state.h> // IWYU pragma: keep
+#include <lv2/time/time.h> // IWYU pragma: keep
+#include <lv2/ui/ui.h> // IWYU pragma: keep
+#include <lv2/units/units.h> // IWYU pragma: keep
+#include <lv2/uri-map/uri-map.h> // IWYU pragma: keep
+#include <lv2/urid/urid.h> // IWYU pragma: keep
+#include <lv2/worker/worker.h> // IWYU pragma: keep
int
main(void)
diff --git a/test/test_forge_overflow.c b/test/test_forge_overflow.c
index 95e9b87..7e97ae4 100644
--- a/test/test_forge_overflow.c
+++ b/test/test_forge_overflow.c
@@ -3,9 +3,9 @@
#include "atom_test_utils.c"
-#include "lv2/atom/atom.h"
-#include "lv2/atom/forge.h"
-#include "lv2/urid/urid.h"
+#include <lv2/atom/atom.h>
+#include <lv2/atom/forge.h>
+#include <lv2/urid/urid.h>
#include <assert.h>
#include <stdint.h>
@@ -90,7 +90,7 @@ test_literal_overflow(void)
static int
test_sequence_overflow(void)
{
- static const size_t size = sizeof(LV2_Atom_Sequence) + 6 * sizeof(LV2_Atom);
+ static const size_t size = sizeof(LV2_Atom_Sequence) + (6 * sizeof(LV2_Atom));
LV2_URID_Map map = {NULL, urid_map};
// Test over a range that fails in the sequence header and event components
@@ -121,7 +121,7 @@ test_sequence_overflow(void)
static int
test_vector_head_overflow(void)
{
- static const size_t size = sizeof(LV2_Atom_Vector) + 3 * sizeof(LV2_Atom);
+ static const size_t size = sizeof(LV2_Atom_Vector) + (3 * sizeof(LV2_Atom));
LV2_URID_Map map = {NULL, urid_map};
// Test over a range that fails in the vector header and elements
@@ -154,7 +154,7 @@ test_vector_head_overflow(void)
static int
test_vector_overflow(void)
{
- static const size_t size = sizeof(LV2_Atom_Vector) + 3 * sizeof(LV2_Atom);
+ static const size_t size = sizeof(LV2_Atom_Vector) + (3 * sizeof(LV2_Atom));
static const int32_t vec[] = {1, 2, 3};
LV2_URID_Map map = {NULL, urid_map};
@@ -181,7 +181,7 @@ test_vector_overflow(void)
static int
test_tuple_overflow(void)
{
- static const size_t size = sizeof(LV2_Atom_Tuple) + 3 * sizeof(LV2_Atom);
+ static const size_t size = sizeof(LV2_Atom_Tuple) + (3 * sizeof(LV2_Atom));
LV2_URID_Map map = {NULL, urid_map};
// Test over a range that fails in the tuple header and elements