Automated Testing for Arm-Based Systems With LAVA

This course introduces the Linaro Automated Validation Architecture (LAVA), covering how users write and submit jobs for automated testing on real hardware, how to analyze test results with queries and charts, and how administrators can install, configure, and manage a LAVA lab infrastructure.

Description

This course covers user and administrative topics. The first part introduces LAVA's role as a CI component for testing software on real hardware, explaining its architecture (server-dispatcher model), core components, and the process of writing and submitting LAVA jobs, which involves defining deploy, boot, and test actions. The second part delves into advanced usage, focusing on exploring test data, analyzing test results, creating queries and charts to track trends over time, integrating various test frameworks, and interfacing with LAVA via XML-RPC and the REST API, alongside advanced concepts like Multi-Node test jobs and power measurement. The final, optional session targets administrators, detailing the setup and maintenance of a LAVA lab, including different lab layouts, the purpose of services like the scheduler and dispatcher, and tasks such as adding users, workers, and devices.

Attributes

Level: Beginner
Class type: General
Time commitment: 12h

Topics Covered

  • LAVA Architecture: Understanding the server-dispatcher model and components.
  • Writing and Submitting LAVA Jobs: YAML syntax, deploy, boot, and test actions.
  • Analyzing LAVA Test Results: Interpreting job states, logs, and test suites.
  • Advanced LAVA Features: Multi-node jobs, querying, charting, and hacking sessions.
  • Integrating LAVA into CI: How LAVA fits into a continuous integration workflow with tools like Jenkins.

Learning Outcomes

  • How to automate testing on real hardware: Using LAVA to run tests on physical devices.
  • Ability to define and execute test jobs: Creating YAML definitions for LAVA jobs.
  • Skills to interpret and analyze test results: Understanding LAVA output and identifying issues.
  • Knowledge to leverage advanced LAVA functionalities: Using queries, charts, and hacking sessions for deeper insights.
  • How to integrate LAVA in CI pipelines: Building automated testing workflows with LAVA and CI tools.

Similar courses

This course covers foundational concepts, environment setup, and hands-on skills for creating custom embedded Linux systems, and developing custom components like recipes and layers.

More Information

This course covers the Linux kernel's architecture, source organization, build process, the role of DeviceTree for hardware description, pragmatic driver development using concepts like MMIO and Regmap, and techniques for symbolic debugging.

More Information