Skip to content

Commit

Permalink
Merge pull request #29395 from smuzaffar/clang-tiday-unittest
Browse files Browse the repository at this point in the history
added unit test to check for clang-tidy changes
  • Loading branch information
cmsbuild committed Apr 6, 2020
2 parents 04d569d + d3be6d7 commit 93821d3
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Utilities/ReleaseScripts/test/BuildFile.xml
@@ -1,4 +1,7 @@
<test name="TestSCRAM" command="run.sh"/>
<test name="test-clang-tidy" command="test-clang-tidy.sh">
<use name="llvm"/>
</test>
<test name="TestValgrind" command="test-valgrind.sh">
<flags PRE_TEST="test-valgrind-memleak"/>
<use name="valgrind"/>
Expand Down
31 changes: 31 additions & 0 deletions Utilities/ReleaseScripts/test/test-clang-tidy.cc
@@ -0,0 +1,31 @@
class BaseClass {
public:
BaseClass(int x) {
m_x = x;
ch = 0;
};
virtual ~BaseClass();
virtual int someMethod();

protected:
int m_x;
char* ch;
};

BaseClass::~BaseClass() {
if (ch != 0) {
delete ch;
ch = 0;
}
}
int BaseClass::someMethod() { return m_x; }

class DrivedClass : public BaseClass {
public:
DrivedClass(int x) : BaseClass(x){};
virtual ~DrivedClass();
virtual int someMethod();
};

DrivedClass::~DrivedClass() {}
int DrivedClass::someMethod() { return m_x * 2; }
62 changes: 62 additions & 0 deletions Utilities/ReleaseScripts/test/test-clang-tidy.cc.yaml
@@ -0,0 +1,62 @@
---
MainSourceFile: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
Diagnostics:
- DiagnosticName: modernize-use-nullptr
DiagnosticMessage:
Message: use nullptr
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
FileOffset: 69
Replacements:
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
Offset: 69
Length: 1
ReplacementText: nullptr
- DiagnosticName: modernize-use-nullptr
DiagnosticMessage:
Message: use nullptr
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
FileOffset: 206
Replacements:
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
Offset: 206
Length: 1
ReplacementText: nullptr
- DiagnosticName: modernize-use-nullptr
DiagnosticMessage:
Message: use nullptr
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
FileOffset: 235
Replacements:
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
Offset: 235
Length: 1
ReplacementText: nullptr
- DiagnosticName: modernize-use-override
DiagnosticMessage:
Message: 'prefer using ''override'' or (rarely) ''final'' instead of ''virtual'''
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
FileOffset: 385
Replacements:
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
Offset: 377
Length: 8
ReplacementText: ''
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
Offset: 399
Length: 0
ReplacementText: ' override'
- DiagnosticName: modernize-use-override
DiagnosticMessage:
Message: 'prefer using ''override'' or (rarely) ''final'' instead of ''virtual'''
FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
FileOffset: 415
Replacements:
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
Offset: 403
Length: 8
ReplacementText: ''
- FilePath: 'Utilities/ReleaseScripts/test/test-clang-tidy.cc'
Offset: 427
Length: 0
ReplacementText: ' override'
...
5 changes: 5 additions & 0 deletions Utilities/ReleaseScripts/test/test-clang-tidy.sh
@@ -0,0 +1,5 @@
#!/bin/bash -ex
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
sed -i -e "s|$CMSSW_BASE/src/||" $CMSSW_BASE/test-clang-tidy.cc.yaml
diff -u $CMSSW_BASE/test-clang-tidy.cc.yaml $CMSSW_BASE/src/Utilities/ReleaseScripts/test/test-clang-tidy.cc.yaml
rm -f $CMSSW_BASE/test-clang-tidy.cc.yaml

0 comments on commit 93821d3

Please sign in to comment.