22# python3 -m pytest test-qml.py
33
44import os
5- import pytest
65from testutils import cppcheck
76
87__script_dir = os .path .dirname (os .path .abspath (__file__ ))
98
9+ # there are unused functions. But fillSampleData is not unused because that is referenced from main.qml
1010PROJECT_DIR = os .path .join (__script_dir , 'QML-Samples-TableView' )
1111
1212
1313def test_unused_functions ():
1414 ret , stdout , stderr = cppcheck (['-q' , '--template=simple' , '--library=qt' , '--enable=unusedFunction' , PROJECT_DIR ])
1515 # there are unused functions. But fillSampleData is not unused because that is referenced from main.qml
16+ assert stdout .splitlines () == []
1617 assert stderr .splitlines () == [
1718 "{}/samplemodel.cpp:9:0: style: The function 'rowCount' is never used. [unusedFunction]" .format (PROJECT_DIR ),
1819 "{}/samplemodel.cpp:15:0: style: The function 'data' is never used. [unusedFunction]" .format (PROJECT_DIR ),
@@ -21,16 +22,41 @@ def test_unused_functions():
2122 assert ret == 0 , stdout
2223
2324
24- @pytest .mark .xfail
25- def test_unused_functions_j (tmpdir ):
25+ def test_unused_functions_j ():
26+ ret , stdout , stderr = cppcheck (['-q' , '--template=simple' , '--library=qt' , '--enable=unusedFunction' , '-j2' , PROJECT_DIR ])
27+ assert stdout .splitlines () == [
28+ "cppcheck: unusedFunction check can't be used with '-j' option. Disabling unusedFunction check."
29+ ]
30+ assert stderr .splitlines () == []
31+ assert ret == 0 , stdout # TODO: abil out on this
32+
33+
34+ # TODO: fillSampleData is not unused
35+ def test_unused_functions_builddir (tmpdir ):
2636 build_dir = os .path .join (tmpdir , 'b1' )
2737 os .mkdir (build_dir )
28- ret , stdout , stderr = cppcheck (['-- template=simple' , '--library=qt' , '--enable=unusedFunction' , '-j2 ' , '--cppcheck-build-dir={}' .format (build_dir ), PROJECT_DIR ])
29- # there are unused functions. But fillSampleData is not unused because that is referenced from main.qml
38+ ret , stdout , stderr = cppcheck (['-q' , '-- template=simple' , '--library=qt' , '--enable=unusedFunction' , '--cppcheck-build-dir={}' .format (build_dir ), PROJECT_DIR ])
39+ assert stdout . splitlines () == []
3040 assert stderr .splitlines () == [
41+ "{}/samplemodel.cpp:15:0: style: The function 'data' is never used. [unusedFunction]" .format (PROJECT_DIR ),
42+ "{}/samplemodel.cpp:47:0: style: The function 'fillSampleData' is never used. [unusedFunction]" .format (PROJECT_DIR ),
43+ "{}/samplemodel.cpp:38:0: style: The function 'roleNames' is never used. [unusedFunction]" .format (PROJECT_DIR ),
3144 "{}/samplemodel.cpp:9:0: style: The function 'rowCount' is never used. [unusedFunction]" .format (PROJECT_DIR ),
45+ ]
46+ assert ret == 0 , stdout
47+
48+
49+ # TODO: fillSampleData is not unused
50+ def test_unused_functions_builddir_j (tmpdir ):
51+ build_dir = os .path .join (tmpdir , 'b1' )
52+ os .mkdir (build_dir )
53+ ret , stdout , stderr = cppcheck (['-q' , '--template=simple' , '--library=qt' , '--enable=unusedFunction' , '-j2' , '--cppcheck-build-dir={}' .format (build_dir ), PROJECT_DIR ])
54+ assert stdout .splitlines () == []
55+ assert stderr .splitlines () == [
3256 "{}/samplemodel.cpp:15:0: style: The function 'data' is never used. [unusedFunction]" .format (PROJECT_DIR ),
33- "{}/samplemodel.cpp:38:0: style: The function 'roleNames' is never used. [unusedFunction]" .format (PROJECT_DIR )
57+ "{}/samplemodel.cpp:47:0: style: The function 'fillSampleData' is never used. [unusedFunction]" .format (PROJECT_DIR ),
58+ "{}/samplemodel.cpp:38:0: style: The function 'roleNames' is never used. [unusedFunction]" .format (PROJECT_DIR ),
59+ "{}/samplemodel.cpp:9:0: style: The function 'rowCount' is never used. [unusedFunction]" .format (PROJECT_DIR ),
3460 ]
3561 assert ret == 0 , stdout
3662
0 commit comments