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

Fuzzing on PyLoxone at Uni-Ulm #292

Open
wants to merge 266 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
266 commits
Select commit Hold shift + click to select a range
fc02ea9
update uml and readme
ThorbenCarl May 22, 2024
aedb167
UML update
ThorbenCarl May 23, 2024
97a7662
all_values_pool verbessert
jonathanheitzmann May 23, 2024
2511dff
dummy
jonathanheitzmann May 23, 2024
b0bcd9d
Merge pull request #4 from ThorbenCarl/fuzzing/value_pools
ThorbenCarl May 23, 2024
f23d947
returns list of lists without combination
jonathanheitzmann May 23, 2024
faaadb7
fixed ValuePoolFuzzer to generate full param_set
ThorbenCarl May 23, 2024
d91e9d1
add testcases for all functions in helper.py
ThorbenCarl May 23, 2024
a1cd636
update docs
ThorbenCarl May 23, 2024
daea2d1
Merge pull request #2 from ThorbenCarl/fuzzing/value_pool__value_pool…
ThorbenCarl May 23, 2024
f364c56
Merge pull request #3 from ThorbenCarl/fuzzing/value_pools
ThorbenCarl May 23, 2024
7bbf16a
Update UML
ThorbenCarl May 24, 2024
50ec586
update TODOs in readme
ThorbenCarl May 24, 2024
45e3cf0
add grammar fuzzer base
May 27, 2024
fabfa64
Merge branch 'refs/heads/master' into fuzzing/grammars
May 27, 2024
886efea
Add Dummy test case for grammars
ThorbenCarl May 27, 2024
208507e
Merge pull request #5 from ThorbenCarl/fuzzing/general
ThorbenCarl May 28, 2024
d92d952
Merge remote-tracking branch 'origin/master' into fuzzing/grammars
ThorbenCarl May 28, 2024
95060cd
update TODOs in readme
ThorbenCarl May 28, 2024
1cc4f9a
UML update
ThorbenCarl May 28, 2024
a3a4c84
Merge branch 'fuzzing/grammars' into fuzzing/general
ThorbenCarl May 28, 2024
0502ccd
implemented parameter combination
jonathanheitzmann May 28, 2024
ce83571
update TODO in readme
ThorbenCarl May 29, 2024
be7fdec
update UML,
ThorbenCarl May 29, 2024
25d699d
updated documentation, removed doubled for loop, set different param_…
jonathanheitzmann May 30, 2024
ff02d9d
change inline docstring comments to normal comments,
ThorbenCarl May 30, 2024
06c5276
Add method limit_param_set to ValuePoolFuzzer class
May 30, 2024
df9b195
Add method limit_param_set to ValuePoolFuzzer class
May 30, 2024
1cdbd03
Add method limit_param_set to ValuePoolFuzzer class
May 30, 2024
d5ecf44
fixed return list of lists, made methods private
jonathanheitzmann May 30, 2024
1ca3624
removed itertools
jonathanheitzmann May 30, 2024
09081f6
Move limit_param_set from VPFuzzer to ParamRunner
May 30, 2024
0305815
Adaptation of uml
May 30, 2024
c37fd6b
now it return lists of the length of param_nr
jonathanheitzmann May 30, 2024
b78b12a
Merge pull request #7 from ThorbenCarl/fuzzing/value_pools-limit_param
hoegma May 30, 2024
df3e1f9
Merge branch 'master' into param_combi
ThorbenCarl May 31, 2024
10a98b4
auto formatter
ThorbenCarl May 31, 2024
f7890e4
fixed __int__ to __init__
ThorbenCarl May 31, 2024
3a7ebd1
more int to init
ThorbenCarl May 31, 2024
7d02b5a
replace __int__ to __init__ in UML
ThorbenCarl May 31, 2024
9edf42b
Merge pull request #6 from ThorbenCarl/param_combi
ThorbenCarl May 31, 2024
8374508
Merge remote-tracking branch 'origin/master' into fuzzing/general
ThorbenCarl May 31, 2024
dad2fab
update UML,
ThorbenCarl May 31, 2024
788225b
delete GrammarFuzzer demo from branch
ThorbenCarl May 31, 2024
3e6f018
update TODOs in README
ThorbenCarl May 31, 2024
6820fee
run auto formatter
ThorbenCarl May 31, 2024
e1edeb6
remove dummy grammar test case
ThorbenCarl May 31, 2024
5f4e1c2
Merge pull request #8 from ThorbenCarl/fuzzing/general
dsiev May 31, 2024
c4f75c3
fix min cost grammar conversion
Jun 2, 2024
8f37641
remove unused functions
Jun 2, 2024
9b9e7fe
add functionality fo max cost grammars
Jun 2, 2024
cb2928d
add case for infinite recursion depth
Jun 2, 2024
edd2606
add min cost derivation
Jun 3, 2024
af74a0e
refactor class
Jun 3, 2024
5bdad6b
add max cost derivation
Jun 3, 2024
7760d3a
make max cost function private
Jun 3, 2024
de7c12a
add converter function for trackable grammars
Jun 3, 2024
254b09d
add check for grammar coverage
Jun 3, 2024
6552426
add grammar coverage fuzzing
Jun 3, 2024
6f8280d
Merge remote-tracking branch 'refs/remotes/origin/master' into fuzzin…
Jun 3, 2024
3c28c57
refactor non terminal regex
Jun 4, 2024
700ec68
move grammars and add dummy test case
Jun 4, 2024
c69379a
add comments
Jun 4, 2024
6f56c5e
marked _NON_TERMINAL_REGEX as private,
ThorbenCarl Jun 4, 2024
155453f
update UML
ThorbenCarl Jun 4, 2024
6849dbf
add UML SVG
ThorbenCarl Jun 4, 2024
17c0f82
update tasks in readme
ThorbenCarl Jun 4, 2024
2b63640
Merge pull request #9 from ThorbenCarl/fuzzing/grammars
ThorbenCarl Jun 4, 2024
c3d5b17
add black box mutational fuzzing tasks to readme
ThorbenCarl Jun 4, 2024
1ac0ee9
update UML
ThorbenCarl Jun 4, 2024
89e44b4
add new svg UML
ThorbenCarl Jun 4, 2024
334fe59
setup functions
ThorbenCarl Jun 4, 2024
9b22038
Generators V1
Jun 5, 2024
db21290
Generators V1
Jun 5, 2024
1fe11d2
Merge branch 'fuzzing/generators' of https://github.com/ThorbenCarl/P…
Jun 5, 2024
9ef165c
Fixed some errors but still not able to run it - ValuePoolFuzzer is n…
Jun 5, 2024
450f9ae
update tasks in readme
ThorbenCarl Jun 5, 2024
73b84f9
rename 's' to 'string' in functions,
ThorbenCarl Jun 5, 2024
143b4f6
first working mutational fuzzer
ThorbenCarl Jun 6, 2024
ae17f2f
value pools now inherit from each other and contain neutral elements
jonathanheitzmann Jun 6, 2024
4c36c88
work in progreaa
jonathanheitzmann Jun 6, 2024
460a003
update tasks,
ThorbenCarl Jun 7, 2024
d38bcb1
update docs,
ThorbenCarl Jun 7, 2024
06376fd
Generators V2
Jun 10, 2024
5ebb292
Merge pull request #10 from ThorbenCarl/fuzzing/mutational_black_box
ThorbenCarl Jun 12, 2024
0ced9ad
update run() of ParamRunner to return a dict with failed params
ThorbenCarl Jun 12, 2024
aaeb832
log setup and readme update
ThorbenCarl Jun 12, 2024
4a1f63a
current runnable state, returns full recombination
jonathanheitzmann Jun 12, 2024
68b1e6c
updated imports
jonathanheitzmann Jun 12, 2024
1ef9ebc
deleted my own test method
jonathanheitzmann Jun 12, 2024
b4b3109
set log file level to INFO,
ThorbenCarl Jun 12, 2024
f30e79d
formatter,
ThorbenCarl Jun 12, 2024
c0e20af
add to private member the second underline
ThorbenCarl Jun 12, 2024
dfd641a
Merge remote-tracking branch 'origin/master' into param_combi
ThorbenCarl Jun 12, 2024
d45cd7f
Merge pull request #11 from ThorbenCarl/fuzzing/mutational_black_box
ThorbenCarl Jun 13, 2024
aeae3ad
Merge remote-tracking branch 'origin/master' into param_combi
ThorbenCarl Jun 13, 2024
93efb11
add example grammar fuzzer to value pool fuzzer
Jun 13, 2024
06ab537
add example grammar fuzzer to value pool fuzzer
Jun 13, 2024
36b207f
update readme
Jun 13, 2024
5c2d329
Merge remote-tracking branch 'origin/integrate_grammar_value_pool_fuz…
Jun 13, 2024
b12fdcf
Add skeletton code of GreyBoxFuzzer
Jun 15, 2024
edfe5dd
Extended GreyBoxFuzzers + GreyBoxFuzzer tools
Jun 16, 2024
6492c1a
Extend DataTypeCreator
Jun 16, 2024
2f51757
add black box mutational fuzzing tasks to readme
ThorbenCarl Jun 4, 2024
84abd56
update UML
ThorbenCarl Jun 4, 2024
37c5765
add new svg UML
ThorbenCarl Jun 4, 2024
df99fe4
setup functions
ThorbenCarl Jun 4, 2024
d20346e
update tasks in readme
ThorbenCarl Jun 5, 2024
d3699b6
rename 's' to 'string' in functions,
ThorbenCarl Jun 5, 2024
14260a3
first working mutational fuzzer
ThorbenCarl Jun 6, 2024
a193b18
update tasks,
ThorbenCarl Jun 7, 2024
8d74c18
update docs,
ThorbenCarl Jun 7, 2024
020a7ff
update run() of ParamRunner to return a dict with failed params
ThorbenCarl Jun 12, 2024
be6073e
log setup and readme update
ThorbenCarl Jun 12, 2024
3e67114
set log file level to INFO,
ThorbenCarl Jun 12, 2024
bfece31
Merge branch 'JoDehli:master' into fuzzing/generators
dsiev Jun 19, 2024
c04842c
Merge pull request #13 from ThorbenCarl/integrate_grammar_value_pool_…
JKortmann Jun 19, 2024
714915c
Fixed some errors but still not able to run it - ValuePoolFuzzer is n…
Jun 5, 2024
7455120
add example grammar fuzzer to value pool fuzzer
Jun 13, 2024
e436f03
update readme
Jun 13, 2024
bdbe935
add example grammar fuzzer to value pool fuzzer
Jun 13, 2024
9bfc771
Generators V2
Jun 10, 2024
8698b99
Rename black-box fuzzer,
ThorbenCarl Jun 19, 2024
1fe7cfd
Merge remote-tracking branch 'origin/master' into fuzzing/mutational_…
ThorbenCarl Jun 19, 2024
a4d7638
update tasks in readme
ThorbenCarl Jun 19, 2024
2273240
update readme
ThorbenCarl Jun 19, 2024
3b6120d
update uml, add helper test cases
ThorbenCarl Jun 19, 2024
38b0d63
update UML
ThorbenCarl Jun 19, 2024
f27a3ae
cnanges how discussed, FLOAT_POOL now with INT * 1.1, "None" is no lo…
jonathanheitzmann Jun 19, 2024
3b2e4a6
fix typo
ThorbenCarl Jun 19, 2024
a89b1fd
Merge remote-tracking branch 'origin/master' into param_combi
ThorbenCarl Jun 19, 2024
dcd9f8b
Merge pull request #14 from ThorbenCarl/fuzzing/mutational_black_box
JKortmann Jun 19, 2024
de979ca
Merge pull request #12 from ThorbenCarl/param_combi
ThorbenCarl Jun 19, 2024
4a8be45
new implementatation of parameter combination
jonathanheitzmann Jun 19, 2024
7a221de
Merge remote-tracking branch 'origin/master' into param_combi
ThorbenCarl Jun 19, 2024
25cd274
Generators working version
Jun 19, 2024
b1e46f3
- in: `test_vp_on_helpers.py`
ThorbenCarl Jun 19, 2024
02af33e
Merge remote-tracking branch 'origin/master' into fuzzing/generators
Jun 20, 2024
265cb4c
renamed variables, english comments
jonathanheitzmann Jun 20, 2024
20ab933
update UML
jonathanheitzmann Jun 20, 2024
358d6bb
add types to variables and update readme
ThorbenCarl Jun 21, 2024
51ebc4f
add json grammar test
Jun 23, 2024
c266fb4
renamed variable, fixed index overflow error
jonathanheitzmann Jun 24, 2024
5abba3d
update readme, skip demo test case
ThorbenCarl Jun 24, 2024
261f4ba
Add branch coverage to GreyBoxFuzzer
Jun 24, 2024
7d2de52
add description
Jun 25, 2024
ad12f10
remove unused import
Jun 25, 2024
7505239
add controls key
Jun 25, 2024
1b8226f
Merge remote-tracking branch 'origin/fuzzing/controls-grammar' into f…
Jun 25, 2024
95a9020
Adjusted selection of seeds
Jun 25, 2024
ca441c7
move grammars in grammar_pool
ThorbenCarl Jun 25, 2024
98a2e40
delete demo test case
ThorbenCarl Jun 25, 2024
bc40ef9
update UML
ThorbenCarl Jun 25, 2024
028f5b3
update tasks in readme
ThorbenCarl Jun 25, 2024
47a9027
Add mutation to GreyBoxFuzzing
Jun 25, 2024
6e94aed
Merge pull request #17 from JoDehli/master
ThorbenCarl Jun 26, 2024
f6026f5
add function summaries
Jun 26, 2024
6a6c738
Merge remote-tracking branch 'origin/fuzzing/controls-grammar' into f…
Jun 26, 2024
1418629
Merge pull request #18 from ThorbenCarl/fuzzing/controls-grammar
ThorbenCarl Jun 26, 2024
e488bd7
add json grammar test
Jun 23, 2024
1794188
add description
Jun 25, 2024
13c6bfd
remove unused import
Jun 25, 2024
7bf23ae
add controls key
Jun 25, 2024
fbcf9d1
update readme, skip demo test case
ThorbenCarl Jun 24, 2024
71aba1c
add function summaries
Jun 26, 2024
889fb82
move grammars in grammar_pool
ThorbenCarl Jun 25, 2024
ece2788
delete demo test case
ThorbenCarl Jun 25, 2024
55c47f5
update UML
ThorbenCarl Jun 25, 2024
93dc1f7
update tasks in readme
ThorbenCarl Jun 25, 2024
67f99e4
Merge remote-tracking branch 'origin/master' into fuzzing/generators
Jun 26, 2024
29c02c7
Fix new branch counter
Jun 26, 2024
0e82c26
Merge branch 'master' into param_combi
jonathanheitzmann Jun 26, 2024
684d393
Merge pull request #15 from ThorbenCarl/param_combi
jonathanheitzmann Jun 26, 2024
64c9e6c
Merge remote-tracking branch 'origin/master' into fuzzing/generators
Jun 26, 2024
a68a17f
Add skeletton code of GreyBoxFuzzer
Jun 15, 2024
b164bce
Extended GreyBoxFuzzers + GreyBoxFuzzer tools
Jun 16, 2024
f527ea0
Extend DataTypeCreator
Jun 16, 2024
3799664
Add branch coverage to GreyBoxFuzzer
Jun 24, 2024
03570ab
Adjusted selection of seeds
Jun 25, 2024
254c77b
Adjust uml diagramm
Jun 26, 2024
4baa12d
Fix new branch counter
Jun 26, 2024
d0bb3cb
new test case
ThorbenCarl Jun 26, 2024
6c24f5d
fix naming bug
ThorbenCarl Jun 26, 2024
34fb64f
skip and mark buggy test case
ThorbenCarl Jun 26, 2024
71fb839
wrap "GRAMMAR_CONTROLS_JSON_COV" in list()
jonathanheitzmann Jun 26, 2024
38de885
Merge branch 'master' into param_combi
jonathanheitzmann Jun 26, 2024
e655c97
Merge remote-tracking branch 'origin/param_combi' into fuzzing/add_gr…
ThorbenCarl Jun 26, 2024
3093f97
rename private logger member
ThorbenCarl Jun 26, 2024
9c21969
update UML
ThorbenCarl Jun 26, 2024
4059ae7
refactor private member
ThorbenCarl Jun 26, 2024
ed2f1c8
remove demo testcase
ThorbenCarl Jun 26, 2024
099a7cf
activate fixed test case
ThorbenCarl Jun 26, 2024
d4383ad
Merge pull request #20 from ThorbenCarl/param_combi
jonathanheitzmann Jun 26, 2024
2eb0ac9
Merge remote-tracking branch 'origin/master' into fuzzing/add_grammar…
ThorbenCarl Jun 26, 2024
2ccf94b
add loxconfig grammar
Jun 29, 2024
208e49e
add loxconfig grammar to valuepool fuzzer
Jun 29, 2024
4f7614b
add loxconfig grammar to tests
Jun 29, 2024
199fb1b
fix typo
Jun 29, 2024
c4d7c4b
Merge pull request #21 from ThorbenCarl/fuzzing/controls-grammar
ThorbenCarl Jul 2, 2024
e14f1e5
Merge remote-tracking branch 'origin/master' into fuzzing/add_grammar…
ThorbenCarl Jul 2, 2024
499fa68
Merge branch 'master' into fuzzing/mutational_grey
Jul 2, 2024
9a22448
Change in GreyBoxRunner
Jul 2, 2024
4d6c4a8
Merge
Jul 2, 2024
ae72be3
Merge branch 'master' into uml-update-vp-fuzzer
jonathanheitzmann Jul 2, 2024
3f7af1f
Update UML ValuePoolFuzzer
jonathanheitzmann Jul 2, 2024
62074fb
Create test_case
Jul 2, 2024
7a0f62b
Merge pull request #22 from ThorbenCarl/uml-update-vp-fuzzer
ThorbenCarl Jul 2, 2024
d12aa5e
UML update
ThorbenCarl Jul 2, 2024
689a79f
Merge remote-tracking branch 'origin/master' into fuzzing/add_grammar…
ThorbenCarl Jul 2, 2024
7e1a63e
update UML
ThorbenCarl Jul 2, 2024
7c293f6
update README
ThorbenCarl Jul 2, 2024
b398ee0
fix typo in ParamRunner
ThorbenCarl Jul 2, 2024
5376a32
make dicts as strings and mark bug
ThorbenCarl Jul 2, 2024
aef2663
fix bug in test_add_room_and_cat_to_value_values()
ThorbenCarl Jul 2, 2024
8da94a1
add missing testcases
ThorbenCarl Jul 2, 2024
7c4e5b2
update uml
ThorbenCarl Jul 2, 2024
32692d0
remove useless import
ThorbenCarl Jul 2, 2024
e73a807
fixed typo
ThorbenCarl Jul 2, 2024
a6a05c4
Add test cases, Change in mutation
Jul 2, 2024
60567ad
Merge branch 'master' into fuzzing/mutational_grey_box
Jul 2, 2024
d381e86
Merge remote-tracking branch 'origin/HEAD' into fuzzing/generators
Jul 2, 2024
1aedcc0
Delete Mutator
Jul 2, 2024
9fb7310
Change in GreyBoxFuzzer
Jul 2, 2024
106cb4b
Updated type annotation and UML, defined first testcase but does not …
Jul 2, 2024
55e4483
update readme
ThorbenCarl Jul 3, 2024
87e1729
Merge pull request #19 from ThorbenCarl/fuzzing/add_grammar_testcase
ThorbenCarl Jul 3, 2024
0cc7d2c
Merged master branch to feature branch
Jul 3, 2024
0e957c1
update readme
ThorbenCarl Jul 3, 2024
ad424d3
Dict update as JSON Dict
jonathanheitzmann Jul 3, 2024
5fb4aa0
JSON Dict Update
jonathanheitzmann Jul 3, 2024
6e74859
Updated: code with types, UML
Jul 3, 2024
0b329e1
Merge remote-tracking branch 'origin/master' into fuzzing/generators
Jul 3, 2024
e2724d7
updated uml
Jul 3, 2024
0aba679
Merge pull request #23 from ThorbenCarl/fuzzing/mutational_grey_box
JKortmann Jul 3, 2024
d58ea1f
fix bug in dict pool
ThorbenCarl Jul 3, 2024
7569ac0
Merge pull request #24 from ThorbenCarl/ValuePool
ThorbenCarl Jul 3, 2024
e061207
Merge remote-tracking branch 'origin/master' into fuzzing/add_grammar…
ThorbenCarl Jul 3, 2024
e545da0
Merge remote-tracking branch 'origin/master' into fuzzing/add_grammar…
ThorbenCarl Jul 3, 2024
985f84d
update UML and Readme
ThorbenCarl Jul 3, 2024
db1b37b
removed code for debugging according to change request
Jul 4, 2024
133130f
Merge remote-tracking branch 'origin/master' into fuzzing/generators
Jul 4, 2024
9926ad5
updated uml to match the changes according to the changerequest
Jul 4, 2024
629131f
uml update
ThorbenCarl Jul 4, 2024
e92b594
Merge remote-tracking branch 'origin/fuzzing/generators' into fuzzing…
ThorbenCarl Jul 4, 2024
6e942cb
update UML and readme
ThorbenCarl Jul 4, 2024
d029f35
Merge pull request #16 from ThorbenCarl/fuzzing/generators
ThorbenCarl Jul 4, 2024
ec52ba1
Merge remote-tracking branch 'origin/master' into fuzzing/add_grammar…
ThorbenCarl Jul 4, 2024
9d4a072
UML Update
ThorbenCarl Jul 4, 2024
b89d10d
Merge pull request #25 from ThorbenCarl/fuzzing/add_grammar_testcase
ThorbenCarl Jul 4, 2024
403dfdd
Merge pull request #26 from JoDehli/master
ThorbenCarl Aug 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
update uml, add helper test cases
ThorbenCarl committed Jun 19, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 3b6120ddedaa892677e8655d01bdb04ddb65cef5
2 changes: 2 additions & 0 deletions custom_components/test/fuzzing/fuzzer_overview.puml
Original file line number Diff line number Diff line change
@@ -76,6 +76,8 @@ entity "grammar_ipv4" as ipv4 << grammars >> {
}
'''''''''''''''''''''''''''''''''''''''
class "MutationalFuzzer" as MFuzzer << class >> {
- __logger = None
- __multiplier: list[int] = []
--
- __init__(self) : void
- __delete_random_char(self, s: str) : str
2 changes: 1 addition & 1 deletion custom_components/test/fuzzing/fuzzer_overview.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
134 changes: 129 additions & 5 deletions custom_components/test/fuzzing/mutation/test_mut_on_helpers.py
Original file line number Diff line number Diff line change
@@ -10,11 +10,7 @@
lox2hass_mapped,
to_hass_color_temp,
to_loxone_color_temp,
get_room_name_from_room_uuid,
get_cat_name_from_cat_uuid,
add_room_and_cat_to_value_values,
get_miniserver_type,
get_all,
)
from custom_components.test.fuzzing.fuzzer_utils.MutationalFuzzer import (
MutationalBlackBoxFuzzer,
@@ -32,7 +28,8 @@
grammar_fuzzer: GrammarFuzzer = GrammarFuzzer()
param_runner: ParamRunner = ParamRunner()

@pytest.mark.skip(reason="Only dummy test case.")

@pytest.mark.skipif(True, reason="Only dummy test case.")
def test_demo_get_param_set() -> None:
# get a list of valid grammar outputs
full_grammar_cov: list = grammar_fuzzer.fuzz_grammar_coverage(
@@ -48,6 +45,7 @@ def test_demo_get_param_set() -> None:
assert True


@pytest.mark.skipif(False, reason="Not skiped!")
def test_map_range() -> None:
logger.info("Start of test_map_range() test.")
param_set: list[list]
@@ -63,3 +61,129 @@ def test_map_range() -> None:
logger.info("test_map_range() test finished.")

assert result["failed_tests"] == 0


@pytest.mark.skipif(False, reason="Not skiped!")
def test_hass_to_lox() -> None:
logger.info("Start of test_hass_to_lox() test.")
param_set: list[list]
result: dict

param_set = mutational_fuzzer.fuzz([0.0], 100000)
result = param_runner.run(hass_to_lox, param_set)

if result["failed_tests"] != 0:
param_set = mutational_fuzzer.fuzz_failed(result, 20)
result = param_runner.run(hass_to_lox, param_set)

logger.info("test_hass_to_lox() test finished.")

assert result["failed_tests"] == 0


@pytest.mark.skipif(False, reason="Not skiped!")
def test_lox_to_hass() -> None:
logger.info("Start of test_lox_to_hass() test.")
param_set: list[list]
result: dict

param_set = mutational_fuzzer.fuzz([0.0], 100000)
result = param_runner.run(lox_to_hass, param_set)

if result["failed_tests"] != 0:
param_set = mutational_fuzzer.fuzz_failed(result, 20)
result = param_runner.run(lox_to_hass, param_set)

logger.info("test_lox_to_hass() test finished.")

assert result["failed_tests"] == 0


@pytest.mark.skipif(False, reason="Not skiped!")
def test_lox2lox_mapped() -> None:
logger.info("Start of test_lox2lox_mapped() test.")
param_set: list[list]
result: dict

param_set = mutational_fuzzer.fuzz([0.0, 0.0, 0.0], 100000)
result = param_runner.run(lox2lox_mapped, param_set)

if result["failed_tests"] != 0:
param_set = mutational_fuzzer.fuzz_failed(result, 20)
result = param_runner.run(lox2lox_mapped, param_set)

logger.info("test_lox2lox_mapped() test finished.")

assert result["failed_tests"] == 0


@pytest.mark.skipif(False, reason="Not skiped!")
def test_lox2hass_mapped() -> None:
logger.info("Start of test_lox2hass_mapped() test.")
param_set: list[list]
result: dict

param_set = mutational_fuzzer.fuzz([0.0, 0.0, 0.0], 100000)
result = param_runner.run(lox2hass_mapped, param_set)

if result["failed_tests"] != 0:
param_set = mutational_fuzzer.fuzz_failed(result, 20)
result = param_runner.run(lox2hass_mapped, param_set)

logger.info("test_lox2hass_mapped() test finished.")

assert result["failed_tests"] == 0


@pytest.mark.skipif(False, reason="Not skiped!")
def test_to_hass_color_temp() -> None:
logger.info("Start of test_to_hass_color_temp() test.")
param_set: list[list]
result: dict

param_set = mutational_fuzzer.fuzz([0.0], 100000)
result = param_runner.run(to_hass_color_temp, param_set)

if result["failed_tests"] != 0:
param_set = mutational_fuzzer.fuzz_failed(result, 20)
result = param_runner.run(to_hass_color_temp, param_set)

logger.info("test_to_hass_color_temp() test finished.")

assert result["failed_tests"] == 0


@pytest.mark.skipif(False, reason="Not skiped!")
def test_to_loxone_color_temp() -> None:
logger.info("Start of test_to_loxone_color_temp() test.")
param_set: list[list]
result: dict

param_set = mutational_fuzzer.fuzz([0.0], 100000)
result = param_runner.run(to_loxone_color_temp, param_set)

if result["failed_tests"] != 0:
param_set = mutational_fuzzer.fuzz_failed(result, 20)
result = param_runner.run(to_loxone_color_temp, param_set)

logger.info("test_to_loxone_color_temp() test finished.")

assert result["failed_tests"] == 0


@pytest.mark.skipif(False, reason="Not skiped!")
def test_get_miniserver_type() -> None:
logger.info("Start of test_get_miniserver_type() test.")
param_set: list[list]
result: dict

param_set = mutational_fuzzer.fuzz([0], 100000)
result = param_runner.run(get_miniserver_type, param_set)

if result["failed_tests"] != 0:
param_set = mutational_fuzzer.fuzz_failed(result, 20)
result = param_runner.run(get_miniserver_type, param_set)

logger.info("test_get_miniserver_type() test finished.")

assert result["failed_tests"] == 0