Hello all,
maybe it helps someone. I'm building cefsharp for windows and was experiencing this issue:
Traceback (most recent call last):
File "c:\code\chromium_git\chromium\src\tools\metrics\histograms\generate_expired_histograms_array.py", line 311, in <module>
sys.exit(main())
^^^^^^
File "c:\code\chromium_git\chromium\src\tools\metrics\histograms\generate_expired_histograms_array.py", line 307, in main
_GenerateFile(arguments)
File "c:\code\chromium_git\chromium\src\tools\metrics\histograms\generate_expired_histograms_array.py", line 247, in _GenerateFile
assert len(to_add) == 0 and len(to_remove) == 0, (
^^^^^^^^^^^^^^^^^^^
This can be fixed by patching C:\code\chromium_git\chromium\src\tools\metrics\histograms\generate_expired_histograms_array.py
Line 223 ff:
def CheckUnsyncedHistograms(inputs):
"""Checks whether --inputs is in sync with |histogram_paths.ALL_XMLS|."""
all_xmls_set = set(histogram_paths.ALL_XMLS)
inputs_set = set(os.path.abspath(input) for input in inputs)
to_add, to_remove = all_xmls_set - inputs_set, inputs_set - all_xmls_set
return to_add, to_remove
to:
def CheckUnsyncedHistograms(inputs):
"""Checks whether --inputs is in sync with |histogram_paths.ALL_XMLS|."""
inputs_set = set(os.path.normcase(os.path.abspath(i)) for i in inputs)
all_xmls_set = set(os.path.normcase(os.path.abspath(i))
for i in histogram_paths.ALL_XMLS)
to_add, to_remove = all_xmls_set - inputs_set, inputs_set - all_xmls_set
return to_add, to_remove
Basic issue is, that path names are not normalized. In one array the "c:" was small in one with capital "C:"
Best regards,
Sven
