mirror of
https://github.com/morluto/rea.git
synced 2026-11-07 07:16:13 +00:00
test(artifacts): run the ESP image lane on esptool v5.6.0
The lane compared descriptor fields only when esptool image-info printed one, so a descriptor that REA reports and esptool does not print passed without comparison. Compare the descriptor kind in both directions. Record that the lane passed for all 13 images with esptool and espsecure v5.6.0, the version the layout facts cite, as well as with 4.12.0.
This commit is contained in:
1 parent
546119b63e
commit
38894a8f6b
2 files changed
+20
-9
No files matched your search
+8
-7
@@ -243,10 +243,11 @@ It needs a Clang with the RISC-V target, `ld.lld` and a Python that can run
|
||||
`REA_XTENSA_ESP32_GCC` adds an ESP32 (Xtensa) app built with Espressif's
|
||||
`xtensa-esp32-elf-gcc`. Without it the report marks that image as skipped.
|
||||
|
||||
The lane ran on macOS arm64 with Node 24.22.1, esptool and espsecure 4.12.0,
|
||||
Homebrew Clang and LLD 21.1.8, and `xtensa-esp32-elf-gcc` 14.2.0
|
||||
(crosstool-NG esp-14.2.0_20251107). All checks passed for all 13 images. The
|
||||
complete run, including the builds and every esptool call, took 13.2 s
|
||||
elapsed, 11.1 s user CPU and 1.6 s system CPU, with a 257 MiB peak resident
|
||||
set, under `/usr/bin/time -l` with warm caches. esptool v5.6.0, the version
|
||||
this reader's layout facts cite, has not been run in the lane.
|
||||
The lane ran on macOS arm64 with Node 24.22.1, Homebrew Clang and LLD 21.1.8,
|
||||
and `xtensa-esp32-elf-gcc` 14.2.0 (crosstool-NG esp-14.2.0_20251107), once
|
||||
with esptool and espsecure v5.6.0 and once with 4.12.0. All checks passed for
|
||||
all 13 images in both runs. With v5.6.0 the complete run, including the builds
|
||||
and every esptool call, took 12.9 s elapsed, 11.2 s user CPU and 1.6 s system
|
||||
CPU under `/usr/bin/time -l` with warm caches. The largest single process
|
||||
peaked at a 254 MiB resident set; the combined peak of all processes was not
|
||||
measured.
|
||||
@@ -155,9 +155,20 @@ export const inspect = async (file) => {
|
||||
};
|
||||
};
|
||||
|
||||
const oracleDescriptorKind = (oracle) => {
|
||||
if (oracle.project !== undefined) return "app";
|
||||
if (oracle.bootloaderVersion !== undefined) return "bootloader";
|
||||
return null;
|
||||
};
|
||||
|
||||
const assertDescriptorAgrees = (name, oracle, descriptor) => {
|
||||
// Both directions, so a descriptor esptool does not print fails the lane.
|
||||
assert.equal(
|
||||
descriptor?.kind ?? null,
|
||||
oracleDescriptorKind(oracle),
|
||||
`${name} descriptor`,
|
||||
);
|
||||
if (oracle.project !== undefined) {
|
||||
assert.equal(descriptor.kind, "app", `${name} descriptor`);
|
||||
assert.equal(descriptor.project_name, oracle.project, name);
|
||||
assert.equal(descriptor.version, oracle.appVersion, name);
|
||||
assert.equal(descriptor.app_elf_sha256, oracle.elfSha256, name);
|
||||
@@ -170,7 +181,6 @@ const assertDescriptorAgrees = (name, oracle, descriptor) => {
|
||||
);
|
||||
}
|
||||
if (oracle.bootloaderVersion !== undefined) {
|
||||
assert.equal(descriptor.kind, "bootloader", `${name} descriptor`);
|
||||
assert.equal(String(descriptor.version), oracle.bootloaderVersion, name);
|
||||
assert.equal(descriptor.idf_ver, oracle.idfVer, name);
|
||||
assert.equal(descriptor.date_time, oracle.compileTime, name);
|
||||
|
||||
Reference in new issue
Block a user