Upgrade Notes
- Update your boxes. Run records, the run output folder and the nRF5340 erase fix run on the
box. Run
lager update --box <box-name>after you upgrade the CLI. lager python --downloadno longer takes a path. Before,--download BOX_PATHcopied one named file from the box. Now--downloadis a flag. It copies every file that the script wrote tolager.output_dir(). Change each script to write its files tolager.output_dir(), and remove the path after--download. A command line that still gives a path stops with--download no longer takes a path.- Downloads go into a new folder for each run. The CLI makes a folder in the current
directory, named after the run. It no longer writes files directly into the current
directory.
--allow-overwriteis no longer necessary, because the CLI never overwrites a file.
Features
- Every
lager pythonrun has a run record. The box writes one JSON record for each run. The record tells what code ran, on which box and instruments, and how the run ended. It also holds the hash of the output and of each file that the run wrote. The box keeps the records of its most recent 500 runs. See the Run Record section of thelager pythonreference. - Each run has its own output folder. The box makes a folder for each run and gives the
script its path with
lager.output_dir(). The run record lists every file in that folder, with its hash.lager python --downloadcopies all of the files and the run record to your computer, and the CLI checks each file against the record. - A script can put facts into its run record. Call
lager.record_value(key, value), for example with the firmware version of the device under test. Tag a run with--label KEY=VALUEto find it later.
Bug Fixes
lager pythonexited 0 when the output stream ended without an exit code. A dropped connection or a box restart during a run looked like a success. The CLI now exits 255 and printsFailed to retrieve script exit code.lager python --passenv NAMEprinted a traceback whenNAMEwas not set. It is now a usage error.lager debug <net> eraseon an nRF5340 application core did not erase the flash. With J-Link V9.50, a full chip erase printedErasing done.and erased nothing. The erase beforelager debug <net> flashhad the same problem. J-Link now erases the 1 MiB of internal flash from0x0as a range. The box then checks that the flash reads back as0xFF, and the erase fails if it does not. The UICR is not erased.

