blob: 3ee88a3c2131de2e7d97714ba182bb47e5655cf7 [file] [log] [blame]
Minos Galanakis6aab5b72024-07-25 14:24:37 +01001# components-basic-checks.sh
2#
3# Copyright The Mbed TLS Contributors
4# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
5
Minos Galanakis609f7492024-07-31 16:39:28 +01006# This file contains test components that are executed by all.sh
Minos Galanakis6aab5b72024-07-25 14:24:37 +01007
8################################################################
9#### Basic checks
10################################################################
11
Minos Galanakis85c78f52024-07-26 14:11:08 +010012component_check_recursion () {
13 msg "Check: recursion.pl" # < 1s
Valerio Setti976b53f2024-12-10 10:49:14 +010014 ./framework/scripts/recursion.pl library/*.c
15 ./framework/scripts/recursion.pl ${PSA_CORE_PATH}/*.c
16 ./framework/scripts/recursion.pl ${BUILTIN_SRC_PATH}/*.c
Minos Galanakis85c78f52024-07-26 14:11:08 +010017}
18
19component_check_generated_files () {
20 msg "Check: check-generated-files, files generated with make" # 2s
21 make generated_files
22 tests/scripts/check-generated-files.sh
23
24 msg "Check: check-generated-files -u, files present" # 2s
25 tests/scripts/check-generated-files.sh -u
26 # Check that the generated files are considered up to date.
27 tests/scripts/check-generated-files.sh
28
29 msg "Check: check-generated-files -u, files absent" # 2s
30 command make neat
31 tests/scripts/check-generated-files.sh -u
32 # Check that the generated files are considered up to date.
33 tests/scripts/check-generated-files.sh
34
35 # This component ends with the generated files present in the source tree.
36 # This is necessary for subsequent components!
37}
38
39component_check_doxy_blocks () {
40 msg "Check: doxygen markup outside doxygen blocks" # < 1s
Valerio Setti976b53f2024-12-10 10:49:14 +010041 ./framework/scripts/check-doxy-blocks.pl
Minos Galanakis85c78f52024-07-26 14:11:08 +010042}
43
44component_check_files () {
45 msg "Check: file sanity checks (permissions, encodings)" # < 1s
Elena Uziunaite59fbed82024-11-25 12:25:30 +000046 framework/scripts/check_files.py
Minos Galanakis85c78f52024-07-26 14:11:08 +010047}
48
49component_check_changelog () {
50 msg "Check: changelog entries" # < 1s
51 rm -f ChangeLog.new
Valerio Setti976b53f2024-12-10 10:49:14 +010052 ./framework/scripts/assemble_changelog.py -o ChangeLog.new
Minos Galanakis85c78f52024-07-26 14:11:08 +010053 if [ -e ChangeLog.new ]; then
54 # Show the diff for information. It isn't an error if the diff is
55 # non-empty.
56 diff -u ChangeLog ChangeLog.new || true
57 rm ChangeLog.new
58 fi
59}
60
61component_check_names () {
62 msg "Check: declared and exported names (builds the library)" # < 3s
Valerio Settic9e32b42024-12-13 17:26:16 +010063 framework/scripts/check_names.py -v
Minos Galanakis85c78f52024-07-26 14:11:08 +010064}
65
66component_check_test_cases () {
67 msg "Check: test case descriptions" # < 1s
68 if [ $QUIET -eq 1 ]; then
69 opt='--quiet'
70 else
71 opt=''
72 fi
Gilles Peskine31467722024-10-03 18:52:58 +020073 framework/scripts/check_test_cases.py -q $opt
Minos Galanakis85c78f52024-07-26 14:11:08 +010074 unset opt
75}
76
Minos Galanakis85c78f52024-07-26 14:11:08 +010077component_check_doxygen_warnings () {
78 msg "Check: doxygen warnings (builds the documentation)" # ~ 3s
Valerio Setti976b53f2024-12-10 10:49:14 +010079 ./framework/scripts/doxygen.sh
Minos Galanakis85c78f52024-07-26 14:11:08 +010080}
81
82component_check_code_style () {
83 msg "Check C code style"
Elena Uziunaitee0d3ffe2024-12-10 15:22:34 +000084 ./framework/scripts/code_style.py
Minos Galanakis85c78f52024-07-26 14:11:08 +010085}
86
Minos Galanakisf78447f2024-07-26 20:49:51 +010087support_check_code_style () {
Minos Galanakis85c78f52024-07-26 14:11:08 +010088 case $(uncrustify --version) in
89 *0.75.1*) true;;
90 *) false;;
91 esac
92}
93
94component_check_python_files () {
95 msg "Lint: Python scripts"
Valerio Setti976b53f2024-12-10 10:49:14 +010096 ./framework/scripts/check-python-files.sh
Minos Galanakis85c78f52024-07-26 14:11:08 +010097}
98
99component_check_test_helpers () {
100 msg "unit test: generate_test_code.py"
101 # unittest writes out mundane stuff like number or tests run on stderr.
102 # Our convention is to reserve stderr for actual errors, and write
103 # harmless info on stdout so it can be suppress with --quiet.
104 ./framework/scripts/test_generate_test_code.py 2>&1
105
106 msg "unit test: translate_ciphers.py"
Elena Uziunaite9669eea2024-10-08 16:41:15 +0100107 python3 -m unittest framework/scripts/translate_ciphers.py 2>&1
Minos Galanakis85c78f52024-07-26 14:11:08 +0100108}