Skip to content

Commit 31ea300

Browse files
authored
Merge pull request #47203 from smuzaffar/improve-scram-clang-tidy-test
Update clang-tidy test to make sure it process header file too
2 parents 1ce8e9b + c3aef8f commit 31ea300

File tree

7 files changed

+107
-23
lines changed

7 files changed

+107
-23
lines changed

Utilities/ReleaseScripts/test/ref/test-clang-tidy.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
class BaseClass {
1+
#include "test-clang-tidy.h"
2+
class BaseClass : public BaseClass2 {
23
public:
34
BaseClass(int x) {
45
m_x = x;
56
ch = nullptr;
67
};
7-
virtual ~BaseClass();
8+
void override_func() override {}
9+
~BaseClass() override;
810
virtual int someMethod();
911

1012
protected:
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class BaseClass1 {
2+
public:
3+
BaseClass1() {}
4+
virtual void override_func() = 0;
5+
virtual ~BaseClass1() {}
6+
};
7+
8+
class BaseClass2 : public BaseClass1 {
9+
public:
10+
BaseClass2() {}
11+
void override_func() override {}
12+
~BaseClass2() override {}
13+
};

Utilities/ReleaseScripts/test/test-clang-tidy.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
class BaseClass {
1+
#include "test-clang-tidy.h"
2+
class BaseClass : public BaseClass2 {
23
public:
34
BaseClass(int x) {
45
m_x = x;
56
ch = 0;
67
};
8+
void override_func() {}
79
virtual ~BaseClass();
810
virtual int someMethod();
911

Utilities/ReleaseScripts/test/test-clang-tidy.cc.yaml

Lines changed: 60 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,58 +5,106 @@ Diagnostics:
55
DiagnosticMessage:
66
Message: use nullptr
77
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
8-
FileOffset: 69
8+
FileOffset: 118
99
Replacements:
1010
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
11-
Offset: 69
11+
Offset: 118
1212
Length: 1
1313
ReplacementText: nullptr
14+
- DiagnosticName: modernize-use-override
15+
DiagnosticMessage:
16+
Message: 'annotate this function with ''override'' or (rarely) ''final'''
17+
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
18+
FileOffset: 133
19+
Replacements:
20+
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
21+
Offset: 148
22+
Length: 0
23+
ReplacementText: ' override'
24+
- DiagnosticName: modernize-use-override
25+
DiagnosticMessage:
26+
Message: 'prefer using ''override'' or (rarely) ''final'' instead of ''virtual'''
27+
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
28+
FileOffset: 162
29+
Replacements:
30+
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
31+
Offset: 154
32+
Length: 8
33+
ReplacementText: ''
34+
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
35+
Offset: 174
36+
Length: 0
37+
ReplacementText: ' override'
1438
- DiagnosticName: modernize-use-nullptr
1539
DiagnosticMessage:
1640
Message: use nullptr
1741
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
18-
FileOffset: 206
42+
FileOffset: 281
1943
Replacements:
2044
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
21-
Offset: 206
45+
Offset: 281
2246
Length: 1
2347
ReplacementText: nullptr
2448
- DiagnosticName: modernize-use-nullptr
2549
DiagnosticMessage:
2650
Message: use nullptr
2751
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
28-
FileOffset: 235
52+
FileOffset: 310
2953
Replacements:
3054
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
31-
Offset: 235
55+
Offset: 310
3256
Length: 1
3357
ReplacementText: nullptr
3458
- DiagnosticName: modernize-use-override
3559
DiagnosticMessage:
3660
Message: 'prefer using ''override'' or (rarely) ''final'' instead of ''virtual'''
3761
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
38-
FileOffset: 386
62+
FileOffset: 461
3963
Replacements:
4064
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
41-
Offset: 378
65+
Offset: 453
4266
Length: 8
4367
ReplacementText: ''
4468
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
45-
Offset: 400
69+
Offset: 475
4670
Length: 0
4771
ReplacementText: ' override'
4872
- DiagnosticName: modernize-use-override
4973
DiagnosticMessage:
5074
Message: 'prefer using ''override'' or (rarely) ''final'' instead of ''virtual'''
5175
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
52-
FileOffset: 416
76+
FileOffset: 491
5377
Replacements:
5478
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
55-
Offset: 404
79+
Offset: 479
5680
Length: 8
5781
ReplacementText: ''
5882
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
59-
Offset: 428
83+
Offset: 503
84+
Length: 0
85+
ReplacementText: ' override'
86+
- DiagnosticName: modernize-use-override
87+
DiagnosticMessage:
88+
Message: 'annotate this function with ''override'' or (rarely) ''final'''
89+
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.h'
90+
FileOffset: 184
91+
Replacements:
92+
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.h'
93+
Offset: 199
94+
Length: 0
95+
ReplacementText: ' override'
96+
- DiagnosticName: modernize-use-override
97+
DiagnosticMessage:
98+
Message: 'prefer using ''override'' or (rarely) ''final'' instead of ''virtual'''
99+
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.h'
100+
FileOffset: 213
101+
Replacements:
102+
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.h'
103+
Offset: 205
104+
Length: 8
105+
ReplacementText: ''
106+
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.h'
107+
Offset: 226
60108
Length: 0
61109
ReplacementText: ' override'
62110
...
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class BaseClass1 {
2+
public:
3+
BaseClass1() {}
4+
virtual void override_func() = 0;
5+
virtual ~BaseClass1() {}
6+
};
7+
8+
class BaseClass2 : public BaseClass1 {
9+
public:
10+
BaseClass2() {}
11+
void override_func() {}
12+
virtual ~BaseClass2() {}
13+
};
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/bash -ex
2-
clang-tidy -export-fixes $CMSSW_BASE/test-clang-tidy.cc.yaml -header-filter "$CMSSW_BASE/src/.*" $CMSSW_BASE/src/Utilities/ReleaseScripts/test/test-clang-tidy.cc
3-
sed -i -e "s|$CMSSW_BASE/src/||" $CMSSW_BASE/test-clang-tidy.cc.yaml
4-
sed -i -e '/^\s\s*BuildDirectory/d;/^\s\s*Level:/d' $CMSSW_BASE/test-clang-tidy.cc.yaml
5-
diff -u $CMSSW_BASE/test-clang-tidy.cc.yaml $CMSSW_BASE/src/Utilities/ReleaseScripts/test/test-clang-tidy.cc.yaml
6-
rm -f $CMSSW_BASE/test-clang-tidy.cc.yaml
2+
clang-tidy -export-fixes test-clang-tidy.cc.yaml -header-filter "src/.*" $CMSSW_BASE/src/Utilities/ReleaseScripts/test/test-clang-tidy.cc
3+
sed -i -e "s|$CMSSW_BASE/src/||" test-clang-tidy.cc.yaml
4+
sed -i -e '/^\s\s*BuildDirectory/d;/^\s\s*Level:/d' test-clang-tidy.cc.yaml
5+
diff -u test-clang-tidy.cc.yaml $CMSSW_BASE/src/Utilities/ReleaseScripts/test/test-clang-tidy.cc.yaml

Utilities/ReleaseScripts/test/test-scram-code-checks.sh

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,20 @@ chmod a-x config/SCRAM/hooks/runtime/50-remove-release-external-lib
2626

2727
#Test clang-tidy
2828
cp $ORIG_TEST_PATH/test-clang-tidy.cc src/FWCore/Version/src
29-
USER_CODE_CHECKS_FILES=src/FWCore/Version/src/test-clang-tidy.cc scram b code-checks
29+
cp $ORIG_TEST_PATH/test-clang-tidy.h src/FWCore/Version/src
30+
FILES="src/FWCore/Version/src/test-clang-tidy.cc src/FWCore/Version/src/test-clang-tidy.h"
31+
USER_CODE_CHECKS_FILES="${FILES}" scram b code-checks
32+
3033
diff -u src/FWCore/Version/src/test-clang-tidy.cc $ORIG_TEST_PATH/ref/test-clang-tidy.cc
34+
diff -u src/FWCore/Version/src/test-clang-tidy.h $ORIG_TEST_PATH/ref/test-clang-tidy.h
3135
cp $ORIG_TEST_PATH/test-clang-tidy.cc src/FWCore/Version/src
3236
scram b code-checks-all
3337
diff -u src/FWCore/Version/src/test-clang-tidy.cc $ORIG_TEST_PATH/ref/test-clang-tidy.cc
38+
diff -u src/FWCore/Version/src/test-clang-tidy.h $ORIG_TEST_PATH/ref/test-clang-tidy.h
3439

3540
#Test clang-format
36-
sed -i -e 's|int m_x| int m_x |' src/FWCore/Version/src/test-clang-tidy.cc
37-
USER_CODE_FORMAT_FILES=src/FWCore/Version/src/test-clang-tidy.cc scram b code-format
41+
sed -i -e 's|int m_x| int m_x |' src/FWCore/Version/src/test-clang-tidy.cc
42+
sed -i -e 's|override_func| override_func |' src/FWCore/Version/src/test-clang-tidy.h
43+
USER_CODE_FORMAT_FILES="${FILES}" scram b code-format
3844
diff -u src/FWCore/Version/src/test-clang-tidy.cc $ORIG_TEST_PATH/ref/test-clang-tidy.cc
45+
diff -u src/FWCore/Version/src/test-clang-tidy.h $ORIG_TEST_PATH/ref/test-clang-tidy.h

0 commit comments

Comments
 (0)