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
7d62a7fb
Commit
7d62a7fb
authored
Mar 24, 2023
by
Alexander Popov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add the first unit-test draft
parent
b630183a
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
4 deletions
+42
-4
engine_unit-test.yml
.github/workflows/engine_unit-test.yml
+1
-1
test_engine.py
kconfig_hardened_check/test_engine.py
+41
-3
No files found.
.github/workflows/engine_unit-test.yml
View file @
7d62a7fb
...
...
@@ -34,7 +34,7 @@ jobs:
-
name
:
Run unit-tests and collect coverage
run
:
|
coverage run --include=kconfig_hardened_check/engine.py,kconfig_hardened_check/test_engine.py -m unittest -v
coverage run --include=kconfig_hardened_check/engine.py,kconfig_hardened_check/test_engine.py -m unittest -v
-b
coverage xml -i -o coverage_unittest.xml
-
name
:
Handle coverage
...
...
kconfig_hardened_check/test_engine.py
View file @
7d62a7fb
...
...
@@ -11,11 +11,49 @@ This module performs unit-testing of the kconfig-hardened-check engine.
"""
import
unittest
# from .engine import populate_with_data, perform_checks
from
collections
import
OrderedDict
import
json
from
.engine
import
KconfigCheck
,
CmdlineCheck
,
populate_with_data
,
perform_checks
class
TestEngine
(
unittest
.
TestCase
):
def
test_upper
(
self
):
def
test_1
(
self
):
# add checks to 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
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
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
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
()
self
.
assertEqual
(
'foo'
.
upper
(),
'FOO'
)
def
test_
isupper
(
self
):
def
test_
2
(
self
):
self
.
assertTrue
(
'FOO'
.
isupper
())
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