FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
cppcheck/test/options.cpp at main · cppcheck-opensource/cppcheck · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
cppcheck-opensource
/
cppcheck
Public
Notifications
You must be signed in to change notification settings
Fork
1.6k
Star
6.7k
Code
Pull requests
201
Actions
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
cppcheck
/
test
/
options.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
108 lines (95 loc) · 2.8 KB
Breadcrumbs
cppcheck
/
test
/
options.cpp
Copy path
File metadata and controls
108 lines (95 loc) · 2.8 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
//
Cppcheck - A tool for static C/C++ code analysis
//
Copyright (C) 2007-2026 Cppcheck team.
//
//
This program is free software: you can redistribute it and/or modify
//
it under the terms of the GNU General Public License as published by
//
the Free Software Foundation, either version 3 of the License, or
//
(at your option) any later version.
//
//
This program is distributed in the hope that it will be useful,
//
but WITHOUT ANY WARRANTY; without even the implied warranty of
//
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//
GNU General Public License for more details.
//
//
You should have received a copy of the GNU General Public License
//
along with this program. If not, see <http://www.gnu.org/licenses/>.
#
include
"
options.h
"
#
include
"
timer.h
"
options::options
(
int
argc,
const
char
*
const
argv[])
: mExe(argv[
0
])
{
const
std::set<std::string>
args
(argv +
1
, argv + argc);
for
(
const
auto
& arg : args) {
if
(arg.
empty
())
continue
;
//
empty argument
if
(arg[
0
] ==
'
-
'
) {
if
(arg ==
"
-q
"
)
mQuiet
=
true
;
else
if
(arg ==
"
-h
"
|| arg ==
"
--help
"
)
mHelp
=
true
;
else
if
(arg ==
"
-n
"
)
mSummary
=
false
;
else
if
(arg ==
"
-d
"
)
mDryRun
=
true
;
else
if
(arg ==
"
-x
"
)
mExcludeTests
=
true
;
else
if
(arg ==
"
-t
"
)
mTimerResults
.
reset
(
new
TimerResults);
else
mErrors
.
emplace_back
(
"
unknown option '
"
+ arg +
"
'
"
);
continue
;
//
command-line switch
}
const
auto
pos = arg.
find
(
"
::
"
);
if
(pos == std::string::npos) {
mWhichTests
[arg] = {};
//
run whole fixture
continue
;
}
const
std::string fixture = arg.
substr
(
0
, pos);
const
auto
it =
mWhichTests
.
find
(fixture);
if
(it !=
mWhichTests
.
cend
() && it->
second
.
empty
())
continue
;
//
whole fixture is already included
const
std::string test = arg.
substr
(pos+
2
);
mWhichTests
[fixture].
emplace
(test);
//
run individual test
}
}
options::~options
()
{
if
(
mTimerResults
)
mTimerResults
->
showResults
(
10
,
false
);
}
bool
options::quiet
()
const
{
return
mQuiet
;
}
bool
options::help
()
const
{
return
mHelp
;
}
bool
options::summary
()
const
{
return
mSummary
;
}
bool
options::dry_run
()
const
{
return
mDryRun
;
}
const
std::map<std::string, std::set<std::string>>&
options::which_tests
()
const
{
return
mWhichTests
;
}
const
std::string&
options::exe
()
const
{
return
mExe
;
}
bool
options::exclude_tests
()
const
{
return
mExcludeTests
;
}
TimerResultsIntf*
options::timer_results
()
const
{
return
mTimerResults
.
get
();
}
const
std::vector<std::string>&
options::errors
()
const
{
return
mErrors
;
}
Back
|
FazBrowse Home
|
New Git URL