Automation beyond Testing and Embedded System Validation

Similar documents
Automation beyond Testing and Embedded System Validation

KERNEL C.I. USING LINARO S AUTOMATED VALIDATION ARCHITECTURE. Wednesday, September 11, 13

ATS report. Linux Plumbers 2018, Vancouver Kevin Hilman

LAVA FOR BISECTING KERNEL BUGS LAVA MEETS GIT BISECT RUN

Hands-on with the Sitara Linux SDK

The blob bootloader. The blob bootloader. Thomas Petazzoni Free Electrons

The HiKey AOSP collaborative experience

Keeping up with LTS Linux Kernel Functional Testing on Devices

Tutorial: Howto setup a Remote Test Lab (not only) within the AGL CI Infrastructure

NI Linux Real-Time. Fanie Coetzer. Field Sales Engineer SA North. ni.com

RZ/G Verified Linux Package V2.1.0-RT

Tutorial: Howto setup a. Remote Test Lab. for the AGL Infrastructure

Introducing Genode. Norman Feske Genode Labs

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda

The Yocto Project. Chris Young S/W Specialist SILICA Europe. Harmonising Software Development across multiple Embedded ARM SOC targets

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

Turbo boost your digital app test automation with Jenkins

Intel GFX CI and IGT. What services do we provide, our roadmaps, and lessons learnt! Martin Peres & Arek Hiler Feb 3 rd 2018

Introducing The Lab in a Box Concept ELC-E Prague, October 2017 Patrick Titiano - Kevin Hilman, Baylibre.

What is new? Page 1. Peter Korsgaard, Maintainer ELCE 2013

Fosdem Feb/2018. Frederic Marec Embedded Engineer

Testing your AGL, yocto ptest, lava and more

A Big Little Hypervisor for IoT Development February 2018

Linaro Automated Validation on ARM. Paul Larson

Android System Development Training 4-day session

How to Write Tests for the AGL HW Test Infra. Jan-Simon Möller AGL Release Manager

#jenkinsconf. Managing jenkins with multiple components project. Jenkins User Conference Israel. Presenter Name Ohad Basan

AMM Feb/2018. Frederic Marec Embedded Engineer

Building a reference IoT product with Zephyr. Ricardo Salveti Michael Scott Tyler Baker

Empower your testing with Cisco Test Automation Solution Featuring pyats & Genie

Department of Computer Science and Engineering, Sri Jayachamarajendra College of Engineering, Mysore, Karnataka

Increasing Customization and Connectivity

The functional test beast: tame it, bring it home and make it your pet. Cleber Rosa Sr. Software Engineer Oct. 26 Th, 2018

OP-TEE Using TrustZone to Protect Our Own Secrets

How to Build an Appium Continuous Testing Pipeline

OP-TEE Using TrustZone to Protect Our Own Secrets

EM210 Burn Linux Image Manual. Catalogue

The ultimate guide to software updates on embedded Linux devices

An Incubator Project in the Apache Software Foundation. 13 July 2016

The following file is used for updating the boot loader: xboot.bin: XSTREAM development platform boot loader image

EzBench, a tool to help you benchmark and bisect the Graphics Stack s performance

96Boards Enablement for opensuse

Linux FastBoot. Reducing Embedded Linux Boot Times. Embedded World Conference 2012

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

Relax-and-Recover (ReaR) Automated Testing

Isar. Build Debian-Based Products with BitBake. Baurzhan Ismagulov. Embedded Linux Conference Europe Oct 11-13, 2016 Berlin, Germany

AGL-Fuego display change flow

Debian & Yocto: State of the Art

D1Y - Embedded Linux with Yocto

Install ADB on Windows

Introducing The Lab in a Box Concept ELC-E Prague, October 2017 Patrick Titiano - Kevin Hilman, Baylibre.

AWS Course Syllabus. Linux Fundamentals. Installation and Initialization:

Important DevOps Technologies (3+2+3days) for Deployment

openqa making QA interesting since 2013 Ondrej Holecek /aaannz/

Strengthen and Scale security using DevSecOps

400AP Application Note Uploading Firmware Images to 400AP NAND Flash Models

Flashing binaries to DRA7xx factory boards using DFU

Linux Systems Security. Backup and Change Management NETS Fall 2016

Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink

Using Virtual Platforms To Improve Software Verification and Validation Efficiency

Display Modules (DL-DM) Application Developer's Guide

Chromium Blink on Wayland with HW accelerated video playback using Gstreamer

Pipeline as Code for your IAC. Kris

Testing PDI solutions

Embedded Linux Conference Europe Sascha Hauer

REX-RED Community Android 4.3

Q: Where can we see the past recorded webinars? A: Much content of this nature may be found online at:

APIs and API Design with Python

Embedded Linux system development training 5-day session

D1S - Embedded Linux with Ac6 System Workbench

Android Debugging and Performance Analysis

Yocto Project components

Ellipse Support. Contents

Software Development Using Full System Simulation with Freescale QorIQ Communications Processors

MiPDF.COM. 3. Which procedure is used to access a Cisco 2960 switch when performing an initial configuration in a secure environment?

LaunchStation Controller

Cyclone V SoC PCI-Express Root Port Example Design. Application Note

Managing the Management Switches. Erik Ruiter SURFsara Cumulus Meetup Amsterdam 2017

U-Boot Falcon Mode. Minimizing boot times using U-Boot "Falcon" mode. Stefano Babic / Wolfgang Denk. July 2012

ENHANCE FUEGO TEST EFFICIENCY BY APPLYING ADDITIONAL SOFTWARE AND HARDWARE SOLUTIONS

PowerVIEW HD 22/30 Version

ONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event

Booting Linux Fast & Fancy. Embedded Linux Conference Europe Cambridge, Robert Schwebel

openqa Helping SUSE Linux Enterprise with Automated Testing Richard Brown openqa Technical Lead

Secure boot under attack: Simulation to enhance fault injection & defenses

Table of contents. Introduction Qt Embedded Testrack overview... 4 Build Server Hardware integration Remote access...

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Linux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017

DevOps Technologies. for Deployment

Configuring Host Router and Cisco Analog Video Gateway Module Interfaces

Selenium Testing Course Content

Chapter 2 Operating-System Structures

JBOT (Juniper Bot) Oct Pablo Sagrera Efrain Gonzalez Copyright 2014 Juniper Networks, Inc.

DS2 Products Auto-Update Tool BSP

AOSP Devboard Update & Recent/Future Pain Points. John Stultz

ECE 471 Embedded Systems Lecture 16

Overview of load testing with Taurus in Jenkins pipeline

SFO17-315: OpenDataPlane Testing in Travis. Dmitry Eremin-Solenikov, Cavium Maxim Uvarov, Linaro

Transcription:

Automation beyond Testing and Embedded System Validation Embedded Linux Conference Europe Jan Lübbe <j.luebbe@pengutronix.de> Slide 1 - http://www.pengutronix.de 2017-10-23

Some Background Embedded Linux integration and development for custom hardware Using Linux mainline, mesa, wayland, gstreamer, Qt, chromium, Everything changes all the time Updates break user-visible features Kernel and application level testing solved with Jenkins & LAVA Slide 2 - http://www.pengutronix.de 2017-10-23

A Short Survey Who has developed embedded Linux systems? rolled out a major base-system update? updates the base-system at least once a year? Who has automated tests for: The application? and the kernel (-drivers)? and the update installer? and the rollback mechanism? What do you use (in-house, Jenkins, LAVA, )? Slide 3 - http://www.pengutronix.de 2017-10-23

Current State Test automation: LAVA, Fuego, autotest, avocado, TI VATF, U-Boot test tool, CI-RT R4D, Baylibe Lab in a Box, Development automation: scripting via SSH expect Production automation: flash images via robot SoC-vendor-sepecific tools (running on windows) ad-hoc scripting Slide 4 - http://www.pengutronix.de 2017-10-23

Shortcomings Large overhead for running and writing a single test painful to use during iterative development Limited control over the target from the individual test no reboots no easy control over IO (buttons, dip switches, USB, ) Hard to reuse for other use-cases and one-off tools git bisect Slide 5 - http://www.pengutronix.de 2017-10-23

Goals Make automation useful during normal iterative development Upload bootloader via USB Control distributed equipment Easy test loops Support the same tests and tools from a CI environment Make it easy to extend and embed Connect/automate existing tools (LTP, ) Slide 6 - http://www.pengutronix.de 2017-10-23

Reduced Scope and Reusability no integrated build system (unlike Fuego) no integrated test runner (unlike LAVA, autotest, many others) use Jenkins instead or use from shell no fixed boot process (all? others) use pytest and/or custom scripts no scheduler (unlike LAVA, Fuego) use OE/PTXdist/buildroot instead full control from client code not only for testing Slide 7 - http://www.pengutronix.de 2017-10-23

HW/SW Control as a Library Embedded system testing feels like pure SW testing High-Level: Similar to what I would tell a colleague to do Slide 9 - http://www.pengutronix.de 2017-10-23

Architecture Target API Strategy Bootloader Shell Console Serial Slide 10 - http://www.pengutronix.de 2017-10-23 Power Fastboot Bootstrap PDU Fastboot USB-Loader

Architecture Target API Strategy Bootloader Shell Serial Power Fastboot Bootstrap PIO Serial PDU Fastboot USB-Loader 1W-PIO Slide 11 - http://www.pengutronix.de 2017-10-23

CI for Embedded Systeme - Problems? Du Server Entwickler Slide 18 - http://www.pengutronix.de 2017-10-23?? Entwicklerboard

Linaro Automated Validation - LAVA Distributed Kernel CI Boarst deticated to LAVA (except maintainance mode) Large overhead for interactive use Slide 20 - http://www.pengutronix.de 2017-10-23

Labgrid Pytest plugin Python - Pytest Fixtures pytest-entry point no integrated build system yaml configuration examples config.yaml prepared test suites Slide 21 - http://www.pengutronix.de 2017-10-23

Labgrid Remote Control Coordinator Exports Exporter Access Exports Client Exporter Access Direct resource access Exports Client Slide 22 - http://www.pengutronix.de 2017-10-23 Exporter

Demo Slide 31 - http://www.pengutronix.de 2017-10-23

Slide 32 - http://www.pengutronix.de 2017-10-23

Slide 33 - http://www.pengutronix.de 2017-10-23

Currently Working Remotly control boards in lab from CLI (console, power, BL upload, fastboot) Run pytest against local and remote boards Run tests from Jenkins and collect results via Junit-XML Ad-Hoc automation: git bisect, reproducing sporadic errors Automatic factory installation via USB directly from built BSP Slide 36 - http://www.pengutronix.de 2017-10-23

Next Steps Remote target reservation (for use with Jenkins CI) Improved logging and reports priorities (use ResetProtocol instead of PowerProtocol when available) preemption (handle unexpected state changes) Automatic integration tests for RAUC with QEmu in Jenkins Slide 37 - http://www.pengutronix.de 2017-10-23

Discussion @shoragan, +JanLübbe-jlu Slide 38 - http://www.pengutronix.de 2017-10-23