Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added unit test to check for clang-tidy changes #29395

Merged
merged 3 commits into from Apr 6, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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