. . . . . . Introduction System description Building blocks Summary Discussion ”Automated Test System - build blocks” Łukasz Majewski Samsung R&D Institute Poland Embedded Linux Conference Europe Dublin, 05-10-2015 Łukasz Majewski Samsung R&D Institute Poland ”Automated Test System - build blocks” 1/25
41
Embed
'Automated Test System - build blocks' - DENX · Introduction System description Building blocks Summary Discussion ”Automated Test System - build blocks” Łukasz Majewski Samsung
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
. . . . . .
Introduction System description Building blocks Summary Discussion
”Automated Test System - build blocks”
Łukasz Majewski
Samsung R&D Institute Poland
Embedded Linux Conference EuropeDublin, 05-10-2015
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 1/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Outline
1 Introduction
2 System description
3 Building blocks
4 Summary
5 Discussion
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 2/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Section 1
Introduction
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 3/25
. . . . . .
Introduction System description Building blocks Summary Discussion
A few words about me
Embedded systems programmerUsing u-boot since 2008”Blame me” for:
Device Firmware Upgrade (DFU)Trats/Trats2 devices
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 4/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Presentation goal
Presentation goalSharing knowledge and experience after building simple and costeffective setup for automated u-boot and kernel tests with usingopen source SW and off-the-shelf HW.
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 5/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Testing our u-boot
2011: Build test infrastructure (u-boot-CI)
2014: USB DFU/USB Mass Storage test scripts in mainline2014: Boot and flashing tests - HardWare Test (HWT) v12015: HWT v2
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 6/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Testing our u-boot
2011: Build test infrastructure (u-boot-CI)2014: USB DFU/USB Mass Storage test scripts in mainline
2014: Boot and flashing tests - HardWare Test (HWT) v12015: HWT v2
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 6/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Testing our u-boot
2011: Build test infrastructure (u-boot-CI)2014: USB DFU/USB Mass Storage test scripts in mainline2014: Boot and flashing tests - HardWare Test (HWT) v1
2015: HWT v2
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 6/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Testing our u-boot
2011: Build test infrastructure (u-boot-CI)2014: USB DFU/USB Mass Storage test scripts in mainline2014: Boot and flashing tests - HardWare Test (HWT) v12015: HWT v2
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 6/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Automated Test System
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 7/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Automated Test System - overview
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 8/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Automated Test System - block diagram
Board1
BoardN
Host PCWiki
USB HUB
JenkinsTests
USB HUB USB HUBPWR IO
RelaysUSB <->UART
USB <->UART
Power
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 9/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Section 2
System description
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 10/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Architecture
N testsSetup
Instance
TestInstance
ConfigPer board:- Toolchain- HW config
- Board quirks
Odroid U3/XU3
Trats Board N
Setupscripts
N testsTest
scripts
SetupInstance
TestInstance
SetupInstance
TestInstance
SetupInstance
TestInstance
SetupInstance
TestInstance
SetupInstance
TestInstance
ConfigPer board:- Toolchain- HW config
- Board quirks
ConfigPer board:- Toolchain- HW config
- Board quirks
Jenkins and WIKIresultsvisualization
Toolchains
GIT reposTest trigger:GIT push
Test trigger:Schedule
- Build bootloader and kernel- Download rootfs- Flash target board
- Execute script on target board- Use procfs, sysfs,debugfs, etc.- Test result:0 → OKOther → FAIL
Links to proper tests/setuprepositories.Test/setup instances representedas directories.
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 11/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Key design decisions
Why: New vs. Reuse
SW: Python vs. ShellConsole: Python (pexpect) vs. expect (CLI program)Flashing: Ethernet (TFTP) vs. USB (DFU)Scheduling: JenkinsPresentation: Wiki
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 12/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Key design decisions
Why: New vs. ReuseSW: Python vs. Shell
Console: Python (pexpect) vs. expect (CLI program)Flashing: Ethernet (TFTP) vs. USB (DFU)Scheduling: JenkinsPresentation: Wiki
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 12/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Key design decisions
Why: New vs. ReuseSW: Python vs. ShellConsole: Python (pexpect) vs. expect (CLI program)
Flashing: Ethernet (TFTP) vs. USB (DFU)Scheduling: JenkinsPresentation: Wiki
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 12/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Key design decisions
Why: New vs. ReuseSW: Python vs. ShellConsole: Python (pexpect) vs. expect (CLI program)Flashing: Ethernet (TFTP) vs. USB (DFU)
Scheduling: JenkinsPresentation: Wiki
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 12/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Key design decisions
Why: New vs. ReuseSW: Python vs. ShellConsole: Python (pexpect) vs. expect (CLI program)Flashing: Ethernet (TFTP) vs. USB (DFU)Scheduling: Jenkins
Presentation: Wiki
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 12/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Key design decisions
Why: New vs. ReuseSW: Python vs. ShellConsole: Python (pexpect) vs. expect (CLI program)Flashing: Ethernet (TFTP) vs. USB (DFU)Scheduling: JenkinsPresentation: Wiki
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 12/25
. . . . . .
Introduction System description Building blocks Summary Discussion
Section 3
Building blocks
Łukasz Majewski Samsung R&D Institute Poland”Automated Test System - build blocks” 13/25
. . . . . .
Introduction System description Building blocks Summary Discussion