mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-10-06 19:00:27 +08:00
The size table marks a board "*" when the two builds are byte-identical and "0" when they are the same size but differ, and two whole classes of board could never reach "*". The name reaches binaries_are_identical() lower-cased, because that is the key the column lookup needs, but the files are AP_Periph.bin and AP_Bootloader.bin, so on a case-sensitive filesystem neither candidate was found and the answer was "differs" whatever the bytes said. CI proves those two are identical: base and pull request builds log the same APP_DESCRIPTOR crc32 pair, which covers the whole image. A Linux board writes neither .bin nor .elf -- disco's bin/ holds bare ELFs -- so nothing was compared there either. Match a file without regard to case, and fall back to the extensionless ELF. While here: enumerate the directory being measured rather than always the master one, and import tabulate where it is used, so the module can be imported by a test without it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>