Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kernel-hardening-checker
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fact-depend
kernel-hardening-checker
Commits
453618bc
Commit
453618bc
authored
Mar 24, 2023
by
Alexander Popov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Create the run_engine() helper
parent
7d62a7fb
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
23 deletions
+30
-23
test_engine.py
kconfig_hardened_check/test_engine.py
+30
-23
No files found.
kconfig_hardened_check/test_engine.py
View file @
453618bc
...
...
@@ -16,43 +16,50 @@ import json
from
.engine
import
KconfigCheck
,
CmdlineCheck
,
populate_with_data
,
perform_checks
class
TestEngine
(
unittest
.
TestCase
):
def
run_engine
(
self
,
checklist
,
parsed_kconfig_options
,
parsed_cmdline_options
,
kernel_version
):
# populate the checklist with data
populate_with_data
(
checklist
,
parsed_kconfig_options
,
'kconfig'
)
populate_with_data
(
checklist
,
parsed_cmdline_options
,
'cmdline'
)
populate_with_data
(
checklist
,
kernel_version
,
'version'
)
# now everything is ready, perform the checks
perform_checks
(
checklist
)
# print the results in JSON
output
=
[]
print
(
'JSON:'
)
for
opt
in
checklist
:
output
.
append
(
opt
.
json_dump
(
True
))
# with_results
print
(
json
.
dumps
(
output
))
# print the table with the results
print
(
'TABLE:'
)
for
opt
in
checklist
:
opt
.
table_print
(
None
,
True
)
# default mode, with_results
print
()
print
()
def
test_1
(
self
):
#
add checks to
the checklist
#
1. prepare
the checklist
config_checklist
=
[]
config_checklist
+=
[
KconfigCheck
(
'reason_1'
,
'decision_1'
,
'KCONFIG_NAME'
,
'expected_1'
)]
config_checklist
+=
[
CmdlineCheck
(
'reason_2'
,
'decision_2'
,
'cmdline_name'
,
'expected_2'
)]
#
populate the checklist with the parsed kconfig data
#
2. prepare the parsed kconfig options
parsed_kconfig_options
=
OrderedDict
()
parsed_kconfig_options
[
'CONFIG_KCONFIG_NAME'
]
=
'UNexpected_1'
populate_with_data
(
config_checklist
,
parsed_kconfig_options
,
'kconfig'
)
#
populate the checklist with the parsed cmdline data
#
3. prepare the parsed cmdline options
parsed_cmdline_options
=
OrderedDict
()
parsed_cmdline_options
[
'cmdline_name'
]
=
'expected_2'
populate_with_data
(
config_checklist
,
parsed_cmdline_options
,
'cmdline'
)
#
populate the checklist with the kernel version data
#
4. prepare the kernel version
kernel_version
=
(
42
,
43
)
populate_with_data
(
config_checklist
,
kernel_version
,
'version'
)
# now everything is ready, perform the checks
perform_checks
(
config_checklist
)
# print the results in json
output
=
[]
print
(
'JSON:'
)
for
opt
in
config_checklist
:
output
.
append
(
opt
.
json_dump
(
True
))
print
(
json
.
dumps
(
output
))
# print the results
print
(
'TABLE:'
)
for
opt
in
config_checklist
:
opt
.
table_print
(
None
,
True
)
print
()
print
()
# 5. run the engine
self
.
run_engine
(
config_checklist
,
parsed_kconfig_options
,
parsed_cmdline_options
,
kernel_version
)
# 6. check that the results are correct
self
.
assertEqual
(
'foo'
.
upper
(),
'FOO'
)
def
test_2
(
self
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment