Unintended HUGE refactoring of automotive scanners.#3054
Unintended HUGE refactoring of automotive scanners.#3054polybassa wants to merge 1 commit intosecdev:masterfrom
Conversation
f866b08 to
5f1d9e3
Compare
faadb5b to
b2fd823
Compare
|
I think that it is impossible to review as it is as it introduces many changes that are different. According to the PR description, there are several different changes. Do you think that submitting them in different PR will make the whole changes easier to rewview? |
|
Unfortunately, most changes are inter-connected with each other. Here is a little overview. Besides renaming, I introduced breaking cleanups. The core of this scanners are the And then... I have Scanners... :-( After some tests on the old implementation, I discovered, that the implementation of the I already removed unrelated changes to that core in #3036, #3035, #3034, #3033. Since every thing is bound to this |
Codecov Report
@@ Coverage Diff @@
## master #3054 +/- ##
==========================================
- Coverage 86.29% 86.28% -0.02%
==========================================
Files 281 282 +1
Lines 63184 63225 +41
==========================================
+ Hits 54522 54551 +29
- Misses 8662 8674 +12
|
4da6ddf to
921e1f6
Compare
|
@guedou I've started a series of smaller PRs to make this one somehow merge-able. |
2b39fb9 to
775d81c
Compare
0513850 to
dd186ff
Compare
dd186ff to
8d51c7b
Compare
d283900 to
4b5a901
Compare
3b2dd72 to
795eabb
Compare
…n of automotive scanners and enumerators
dfde355 to
3595803
Compare
* Split #3054: Add base classes for a new and clean implementation of automotive scanners and enumerators
d075ffe to
f35c071
Compare
d2ecffd to
e304c43
Compare
230f6ac to
5265552
Compare
eaddf18 to
ea11a17
Compare
3d8a5dd to
a21b745
Compare
This PR:
- changes variable names of automotive utilities to be more compliant
with python
- adds typing for various automotive utilities
- refactors the core of automotive scanners which involve:
- Ecu objects
- EcuState objects
- EcuAnsweringMachines
- AutomotiveTestCases
- AutomotiveTestCaseExecutors
- cleans up UDS Scanner, OBD Scanner and GMLAN Scanner
Cleanups
Only use type imports from scapy.compat
Fix typing for NamedTuple
add sorted to EcuState __eq__ and __contains__
add default function
add debug flag to raise exception
add scan_range to UDS_SA Enumerator
fix bug
remove unused variable
test EcuStateComparison
improve EcuState comparision
move Profiler and Graph to independent files
remove dump to json
fix unit tests since add_edge function changed
Change internal transition functions to not use any lambdas
more cleanups
additions
remove unused variable
remove unused variable
be super sure to make a configuration
add function to create ECU clone from scanner
extend test
standalone graph tests
add documentation
fix tox
improve transition_function argument storage
minor cleanups
cleanup ecu_sim test
minor fix
update post and pre execute
test fixes
fix tests
fix test
add render function
add typing of render
Apply feedback
Fix flake8 errors
Apply feedback
Refactoring
Simplify RC and RDBI enumerators
Add Selective Enumerator for RDBI and RC
Pass current state to _get_initial_requests
Fix UDS_RCPR.answers
add cleanup to tests
update typing
fix after rebase
cleanup
add pickle test of transition function
disable pickle on python2
Also treat NR code 0x7f as serviceNotSupported
Remove old comment
Better logging for serviceNotSupported reactions
try to fix unit test
change blacklist creation
remove NamedTuple
fixes
revert changes
add root to uds_utils test
more info
update
Allow scan_range to be modified in UDS_RCStartEnumerator
minmal doc cleanup
cleanup transition functions
update render function
add weights to graph
fix unit test ecusim with old data
update
update
update uds protocol RoutineControl
update
ServiceEnumerator should ignore exit_if_service_not_supported
Remove list generation in DSCEnumerator
Refactoring + fix Flake8
Set better expansion_width (253)
Fix comment
modify ecu state modifier
refactor ecu state modifications
cleanup logging of protocols
add api docs
minor fixes
two more states
update
update
update uds ecu states
update
add test cases in enumerator.uts
update evaluate response
update
improve extension method
update
test supported_responses
fix mypy
fix types of timestamp
add directory for scanner code
split enumerator in different files
add contrib comment
fix BMW enumerator
fix BMW enumerator
add testcase positive&negative results
adapt enumerator.uts to change
fix enumerator.uts
fix typing
start with documentation of testcase
complete documentation of AutomotiveTestCaseABC
Renaming
update scanner unit tests
More unit tests for individual scanner parts
fix mypy
fix docs
fix docs
fix test
fix test
remove BrokenPipeError
fix test
further cleanups
further cleanups
more tests
fix codespell
fix test
fix test
fix flake
more unit tests
cleanup
update
fix defaults
bugfix
enable exception to find bug
try bugfix
update periodicSenderThread
update
update
update unit tests
update
add connectionError
fix tox
add more verbose tpsender debug
minor cleanup
add BrokenPipeError to ignored errors during scan
fix HSFZ scan
minor fix
fix mypy
alphabetic sort of mypy enable contrib
update
close socket on Connection Error
rename HSFZ Sockets
fix mypy
fix unit test for obdscanner
refactoring of get_table_entry
fix flake and mypy
fix docs
fix build
fix mypy
disable test
fix tests
fix tests
minor cleanup
update gmlan scanner
debug closed socket error
fix tox
fix tox
update gmlan scanner
update
update
start with unit test implementation
Update retry_packet handling
update unit tests
fix tox and code
add candump
cleanup pcaps and candump logs
more unit tests
update configuration unit tests
improve tests-speed a lot
refactoring of configuration
fix test
debug socket
debug socket
more unit tests
try to fix bug
more unit tests and bugfix
update tests
more and faster tests
debug error
fix tox
fix stmin bug
fix uds unit test
include isotp stmin fix
update tests
update tests
update tests
fix test
debug test
fix tox
try fix
refactor RMBA enumerator
apply feedback
apply feedback
minor fix
minor fix in HSFZ
test propagation of exception
update
add error handling on closed sockets
update error handling
minor exception handling fix
stability update
add pickle test
fix test
debug test
fix test
fix test
improve test
improve test
speedup gmlan test
minor cleanup
update
update
update
minor changes
minor changes
remove long test from pypy
remove unused file
add unstable socket to increase test coverage
fix tox
fix tox
increase timeout of import.uts for macOSX
remove delay_state_change configuration
provide kwargs type information and documentation
fix test
remove old file
add more kwargs checks and improve execution time
update
update
fix obdscanner

This PR:
with python
Sorry that this PR became that big. I hope it is merge-able in some way.