From: Tomas Krizek Date: Thu, 21 Feb 2019 13:11:33 +0000 (+0100) Subject: gitlabci: fix lint:tidy X-Git-Tag: v4.0.0~24^2~74 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a5497f6691bfd18f887b09a3fc75dee0e716553;p=thirdparty%2Fknot-resolver.git gitlabci: fix lint:tidy --- diff --git a/.clang-tidy b/.clang-tidy index fa191ddfd..b496044c4 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,5 +1,5 @@ --- -Checks: 'bugprone-*,cert-*,-clang-analyzer-unix.Malloc,-clang-analyzer-deadcode.DeadStores,-clang-analyzer-valist.Uninitialized,readability-*,-readability-braces-*,-readability-else-after-return,-readability-redundant-declaration,-readability-non-const-parameter,google-readability-casting,misc-*,-misc-macro-parentheses,-misc-unused-parameters' +Checks: 'bugprone-*,cert-*,-cert-dcl03-c,-clang-analyzer-unix.Malloc,-clang-analyzer-deadcode.DeadStores,-clang-analyzer-valist.Uninitialized,readability-*,-readability-braces-*,-readability-else-after-return,-readability-redundant-declaration,-readability-non-const-parameter,google-readability-casting,misc-*,-misc-static-assert,-misc-macro-parentheses,-misc-unused-parameters' WarningsAsErrors: 'cert-*,misc-*,readability-*,clang-analyzer-*,-readability-non-const-parameter' HeaderFilterRegex: 'contrib/ucw/*.h' CheckOptions: @@ -8,4 +8,4 @@ CheckOptions: - key: readability-function-size.StatementThreshold value: '400' - key: readability-function-size.LineThreshold - value: '500' \ No newline at end of file + value: '500' diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e69bc3592..6f6b1627b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -131,6 +131,14 @@ kres-gen: tags: - docker +lint:tidy: + <<: *test + before_script: [] + tags: + - docker + script: + - ninja -C build_ci* tidy + lint:pedantic: <<: *test_nodep tags: @@ -155,16 +163,6 @@ lint:lua: tags: - docker -lint:c: - stage: test - except: - - master - dependencies: [] # do not download build artifacts - script: - - make lint-c CLANG_TIDY="clang-tidy -quiet" - tags: - - docker - lint:clang-scan-build: stage: test except: diff --git a/bench/meson.build b/bench/meson.build index 2d466ab01..b542d2196 100644 --- a/bench/meson.build +++ b/bench/meson.build @@ -1,8 +1,8 @@ # bench -bench_lru_src = [ +bench_lru_src = files([ 'bench_lru.c', -] +]) cc = meson.get_compiler('c') m_dep = cc.find_library('m', required : false) diff --git a/client/meson.build b/client/meson.build index cbbabf677..9d39a9505 100644 --- a/client/meson.build +++ b/client/meson.build @@ -1,8 +1,9 @@ # client -kresc_src = [ +kresc_src = files([ 'kresc.c', -] +]) +c_src_lint += kresc_src build_client = false if not get_option('client').disabled() diff --git a/contrib/meson.build b/contrib/meson.build index 0c7aeb1ca..4c420e07d 100644 --- a/contrib/meson.build +++ b/contrib/meson.build @@ -1,6 +1,6 @@ # contrib -contrib_src = [ +contrib_src = files([ 'ccan/asprintf/asprintf.c', 'ccan/ilog/ilog.c', 'ccan/json/json.c', @@ -9,7 +9,7 @@ contrib_src = [ 'murmurhash3/murmurhash3.c', 'base32hex.c', 'base64.c' -] +]) contrib_inc = include_directories('.') diff --git a/daemon/meson.build b/daemon/meson.build index 902f11494..4b9805275 100644 --- a/daemon/meson.build +++ b/daemon/meson.build @@ -1,6 +1,6 @@ # daemon -kresd_src = [ +kresd_src = files([ 'bindings/cache.c', 'bindings/event.c', 'bindings/impl.c', @@ -18,7 +18,8 @@ kresd_src = [ 'tls_session_ticket-srv.c', 'worker.c', 'zimport.c', -] +]) +c_src_lint += kresd_src config_tests += [ ['cache.clear', files('cache.test/clear.test.lua')], diff --git a/lib/dnssec/signature.c b/lib/dnssec/signature.c index 356bf1400..f5d7182ab 100644 --- a/lib/dnssec/signature.c +++ b/lib/dnssec/signature.c @@ -90,8 +90,8 @@ int kr_authenticate_referral(const knot_rrset_t *ref, const dnssec_key_t *key) static int adjust_wire_ttl(uint8_t *wire, size_t wire_size, uint32_t new_ttl) { assert(wire); - assert(sizeof(uint16_t) == 2); - assert(sizeof(uint32_t) == 4); + static_assert(sizeof(uint16_t) == 2, "uint16_t must be exactly 2 bytes"); + static_assert(sizeof(uint32_t) == 4, "uint32_t) must be exactly 4 bytes"); uint16_t rdlen; int ret; diff --git a/lib/meson.build b/lib/meson.build index 20d97bed5..0101fb3ac 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -1,6 +1,6 @@ # libkres -libkres_src = [ +libkres_src = files([ 'cache/api.c', 'cache/cdb_lmdb.c', 'cache/entry_list.c', @@ -28,9 +28,10 @@ libkres_src = [ 'rplan.c', 'utils.c', 'zonecut.c', -] +]) +c_src_lint += libkres_src -libkres_headers = [ +libkres_headers = files([ 'cache/api.h', 'cache/cdb_api.h', 'cache/cdb_lmdb.h', @@ -55,7 +56,7 @@ libkres_headers = [ 'rplan.h', 'utils.h', 'zonecut.h', -] +]) unit_tests += [ ['array', files('generic/test_array.c')], diff --git a/meson.build b/meson.build index a7bfec917..114c66250 100644 --- a/meson.build +++ b/meson.build @@ -96,6 +96,9 @@ add_project_arguments( language: 'c', ) +# Files for clang-tidy lint +c_src_lint = files() + # Lists of tests # These lists are added to from subdir() and finally used in tests/* @@ -151,6 +154,21 @@ if get_option('bench').enabled() endif +# Lint +message('--- lint dependencies ---') +clangtidy = find_program('clang-tidy', required: false) +message('-------------------------') +if clangtidy.found() + run_target( + 'tidy', + command: [ + clangtidy, + '-quiet', + '-p', meson.build_root(), + ] + c_src_lint + ) +endif + # Tests subdir('tests') diff --git a/modules/bogus_log/meson.build b/modules/bogus_log/meson.build index 08419b1e3..8fc93f365 100644 --- a/modules/bogus_log/meson.build +++ b/modules/bogus_log/meson.build @@ -1,8 +1,9 @@ # C module: bogus_log -bogus_log_src = [ +bogus_log_src = files([ 'bogus_log.c', -] +]) +c_src_lint += bogus_log_src bogus_log_mod = shared_module( 'bogus_log', diff --git a/modules/dnstap/meson.build b/modules/dnstap/meson.build index 2db216c35..ce1fd85a4 100644 --- a/modules/dnstap/meson.build +++ b/modules/dnstap/meson.build @@ -1,8 +1,8 @@ # C module: dnstap -dnstap_src = [ +dnstap_src = files([ 'dnstap.c', -] +]) ## dnstap dependencies message('--- dnstap module dependencies ---') @@ -14,6 +14,8 @@ message('----------------------------------') # build dnstap if deps are found if libprotobuf_c.found() and libfstrm.found() and protoc_c.found() + c_src_lint += dnstap_src + # generate protobuf-c sources using protoc-c dnstap_pb = custom_target( 'dnstap_pb', diff --git a/modules/edns_keepalive/meson.build b/modules/edns_keepalive/meson.build index f94c0cc59..94ce98ba8 100644 --- a/modules/edns_keepalive/meson.build +++ b/modules/edns_keepalive/meson.build @@ -1,8 +1,9 @@ # C module: edns_keepalive -edns_keepalive_src = [ +edns_keepalive_src = files([ 'edns_keepalive.c', -] +]) +c_src_lint += edns_keepalive_src edns_keepalive_mod = shared_module( 'edns_keepalive', diff --git a/modules/hints/meson.build b/modules/hints/meson.build index 41fa0c3d7..d87587a99 100644 --- a/modules/hints/meson.build +++ b/modules/hints/meson.build @@ -1,8 +1,9 @@ # C module: hints -hints_src = [ +hints_src = files([ 'hints.c', -] +]) +c_src_lint += hints_src hints_mod = shared_module( 'hints', diff --git a/modules/nsid/meson.build b/modules/nsid/meson.build index 1b796bb03..114a8b37f 100644 --- a/modules/nsid/meson.build +++ b/modules/nsid/meson.build @@ -1,8 +1,9 @@ # C module: nsid -nsid_src = [ +nsid_src = files([ 'nsid.c', -] +]) +c_src_lint += nsid_src nsid_mod = shared_module( 'nsid', diff --git a/modules/policy/meson.build b/modules/policy/meson.build index cea0f20a4..4f324e04e 100644 --- a/modules/policy/meson.build +++ b/modules/policy/meson.build @@ -22,11 +22,11 @@ if lua_ac_submodule.returncode() != 0 endif # compile bundled lua-aho-corasick lib -lua_ac_src = [ +lua_ac_src = files([ 'lua-aho-corasick/ac_fast.cxx', 'lua-aho-corasick/ac_lua.cxx', 'lua-aho-corasick/ac_slow.cxx', -] +]) lua_ac_lib = shared_module( 'ahocorasick', diff --git a/modules/stats/meson.build b/modules/stats/meson.build index 4cea87219..908638ead 100644 --- a/modules/stats/meson.build +++ b/modules/stats/meson.build @@ -1,8 +1,9 @@ # C module: stats -stats_src = [ +stats_src = files([ 'stats.c', -] +]) +c_src_lint += stats_src integr_tests += [ ['stats', join_paths(meson.current_source_dir(), 'test.integr')], diff --git a/tests/pytests/meson.build b/tests/pytests/meson.build index 96ccb22ea..faef8f5e9 100644 --- a/tests/pytests/meson.build +++ b/tests/pytests/meson.build @@ -10,10 +10,10 @@ py3_deps += [ ] # compile tlsproxy -tlsproxy_src = [ +tlsproxy_src = files([ 'proxy/tlsproxy.c', 'proxy/tls-proxy.c', -] +]) tlsproxy = executable( 'tlsproxy', tlsproxy_src, diff --git a/tests/unit/meson.build b/tests/unit/meson.build index 43ca76750..a78f3f7bc 100644 --- a/tests/unit/meson.build +++ b/tests/unit/meson.build @@ -1,9 +1,9 @@ # tests: unit # mock module for test_module -mock_cmodule_src = [ +mock_cmodule_src = files([ 'mock_cmodule.c', -] +]) mock_cmodule_lib = shared_library( 'mock_cmodule',