Skip to content

Commit 21db0b9

Browse files
authored
donate-cpu: small LibraryIncludes regular expression improvements / fixed/improved tests (#4473)
* test_donate_cpu_lib.py: added more tests * test_donate_cpu_lib.py: fixed non-working assert * donate_cpu_lib.py: use `\t` in `LibraryIncludes` regular expressions instead of an actual TAB character * donate_cpu_lib.py: bumped version * donate_cpu_lib.py: use non-capturing group in `LibraryIncludes` regular expressions
1 parent 8978260 commit 21db0b9

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

tools/donate_cpu_lib.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# Version scheme (MAJOR.MINOR.PATCH) should orientate on "Semantic Versioning" https://semver.org/
1616
# Every change in this script should result in increasing the version number accordingly (exceptions may be cosmetic
1717
# changes)
18-
CLIENT_VERSION = "1.3.35"
18+
CLIENT_VERSION = "1.3.36"
1919

2020
# Timeout for analysis with Cppcheck in seconds
2121
CPPCHECK_TIMEOUT = 30 * 60
@@ -672,7 +672,7 @@ def __init__(self):
672672

673673
for library, includes in include_mappings.items():
674674
re_includes = [re.escape(inc) for inc in includes]
675-
re_expr = '^[ \t]*#[ \t]*include[ \t]*(' + '|'.join(re_includes) + ')'
675+
re_expr = '^[ \\t]*#[ \\t]*include[ \\t]*(?:' + '|'.join(re_includes) + ')'
676676
re_obj = re.compile(re_expr, re.MULTILINE)
677677
self.__library_includes_re[library] = re_obj
678678

tools/test_donate_cpu_lib.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,31 @@ def _test_library_includes(tmpdir, libs, content):
2424
src_file = os.path.join(str(tmpdir), "file.cpp")
2525
with open(src_file, 'w') as f:
2626
f.write(content)
27-
assert libs.sort() == library_includes.get_libraries(str(tmpdir)).sort()
27+
libs.sort()
28+
libs_found = library_includes.get_libraries(str(tmpdir))
29+
libs_found.sort()
30+
assert libs == libs_found
2831

2932
def test_library_includes(tmpdir):
3033
_test_library_includes(tmpdir, ['posix', 'gnu'], '')
3134
_test_library_includes(tmpdir, ['posix', 'gnu'], '#include <stdio.h>')
3235
_test_library_includes(tmpdir, ['posix', 'gnu', 'boost'], '#include <boost/regex.hpp>')
3336
_test_library_includes(tmpdir, ['posix', 'gnu', 'python'], '#include "Python.h"')
34-
_test_library_includes(tmpdir, ['posix', 'gnu', 'lua', 'opengl', 'qt'], '#include <QApplication>\n#include <GL/gl.h>\n#include "lua.h"')
37+
_test_library_includes(tmpdir, ['posix', 'gnu', 'libcerror', 'lua', 'opengl', 'qt'], '#include <QApplication>\n#include <GL/gl.h>\r#include "lua.h"\r\n#include <libcerror.h>')
38+
_test_library_includes(tmpdir, ['posix', 'gnu', 'microsoft_sal'], ' #include <sal.h>')
39+
_test_library_includes(tmpdir, ['posix', 'gnu', 'googletest'], '\t#include <gtest/gtest.h>')
40+
_test_library_includes(tmpdir, ['posix', 'gnu', 'microsoft_atl'], ' \t #include <atlbase.h>')
41+
_test_library_includes(tmpdir, ['posix', 'gnu', 'cairo'], '\t #include <cairo.h>')
42+
_test_library_includes(tmpdir, ['posix', 'gnu', 'gtk'], ' \t#include <glib-object.h>')
43+
_test_library_includes(tmpdir, ['posix', 'gnu', 'bsd'], '#include <sys/uio.h>\r\n')
44+
_test_library_includes(tmpdir, ['posix', 'gnu', 'libcurl'], '#include <curl/curl.h>\r')
45+
_test_library_includes(tmpdir, ['posix', 'gnu', 'sqlite3'], '#include <sqlite3.h>\n')
46+
_test_library_includes(tmpdir, ['posix', 'gnu', 'openmp'], '# include <omp.h>')
47+
_test_library_includes(tmpdir, ['posix', 'gnu', 'mfc'], '#\tinclude <afxwin.h>')
48+
_test_library_includes(tmpdir, ['posix', 'gnu', 'ruby'], '# \tinclude "ruby.h"')
49+
_test_library_includes(tmpdir, ['posix', 'gnu', 'zlib'], '#\t include <zlib.h>')
50+
_test_library_includes(tmpdir, ['posix', 'gnu', 'pcre'], '#include<pcre.h>')
51+
_test_library_includes(tmpdir, ['posix', 'gnu', 'pcre'], '#include "pcre.h"')
52+
_test_library_includes(tmpdir, ['posix', 'gnu', 'opengl'], '#include\t <GL/glut.h>')
53+
_test_library_includes(tmpdir, ['posix', 'gnu', 'nspr'], '#include\t"prtypes.h"')
54+
_test_library_includes(tmpdir, ['posix', 'gnu', 'lua'], '#include \t<lua.h>')

0 commit comments

Comments
 (0)