Logs
Log messages during test execution for debugging and traceability.
You can record messages during test execution for debugging and traceability.
TofuPilot automatically captures the level, timestamp, line number, and file name for each log entry and records it in the test report.
Debug
You can use log.debug() to log diagnostic information.
def measure_voltage(log, measurements, multimeter):
log.debug(f"Multimeter address: {multimeter.address}")
voltage = multimeter.read_voltage()
measurements.voltage = voltageYou can use debug logs to record low-level details like device addresses, raw data, or internal state that help troubleshoot issues during development.
Info
You can use log.info() to log informational messages, or use print().
def measure_voltage(log, measurements, multimeter):
log.info("Starting voltage measurement")
voltage = multimeter.read_voltage()
measurements.voltage = voltageYou can use info logs to track key milestones, record operation starts, or document normal behavior.
Warning
You can use log.warning() to log warnings, or use sys.stderr.write().
def measure_voltage(log, measurements, multimeter):
voltage = multimeter.read_voltage()
log.warning("Voltage reading took longer than expected")
measurements.voltage = voltageYou can use warning logs to flag unexpected behavior, slow operations, or edge cases that don't cause test failure but need attention.
Error
You can use log.error() to log errors. Logged errors do not affect the phase outcome, only thrown errors do.
def measure_voltage(phase, result, log, measurements, multimeter):
if not multimeter.is_connected():
log.error("Multimeter connection lost")
phase.fail()
voltage = multimeter.read_voltage()
measurements.voltage = voltage
return You can use error logs to record critical failures like connection loss, invalid responses, or conditions that cause the test to fail.
How is this guide?