3348228423
set() doesn't keep elements according to the order of insertion. So Transfers managed with set() in intermediate steps may not appear in the same order across runs. This leads to slightly different output packages when generating the same incremental OTA. This CL fixes the issue by replacing set() with OrderedDict() in blockimgdiff.GenerateDigraph() and blockimgdiff.FindVertexSequence(). It also adds a testcase that ensures blockimgdiff.GenerateDigraph() preserves the insertion order for Transfer.goes_after set. Bug: 32220816 Test: ota_from_target_files.py gives identical package when running multiple times. Change-Id: I56d551e5ca926993ab46896e33c80e0ce42e506a |
||
---|---|---|
.. | ||
add_img_to_target_files | ||
add_img_to_target_files.py | ||
blockimgdiff.py | ||
build_image.py | ||
check_ota_package_signature.py | ||
check_target_files_signatures | ||
check_target_files_signatures.py | ||
common.py | ||
edify_generator.py | ||
img_from_target_files | ||
img_from_target_files.py | ||
make_recovery_patch | ||
make_recovery_patch.py | ||
ota_from_target_files | ||
ota_from_target_files.py | ||
pylintrc | ||
rangelib.py | ||
sign_target_files_apks | ||
sign_target_files_apks.py | ||
sparse_img.py | ||
target_files_diff.py | ||
test_blockimgdiff.py | ||
test_common.py | ||
test_rangelib.py |