SlideShare a Scribd company logo
autopkgtest
Your friendly package test runner
Martin Pitt <martin.pitt@ubuntu.com>
July 23, 2014
Metadata for Debian packages
debian/tests/rev:
#!/bin/sh -e
RES=$(echo Hello | rev)
if [ "$RES" != "olleH" ]; then
echo "rev broken: got $RES" >&2; exit 1
fi
debian/tests/control:
Tests: rev
Depends: coreutils
# check that root has a password
Test-Command: grep -q ^root /etc/shadow
Restrictions: needs-root
Metadata for Click packages
manifest:
"x-test": {
"smoke": {
"path": "debian/tests/smoke",
"depends": ["coreutils"]
},
"rootpw": {
"command": "grep -q ^root /etc/shadow",
"restrictions": ["needs-root"]
}
}
Autopilot click testing
"x-test": {
"ap": {
"autopilot_module": "calendar_tests",
"depends": ["python3-dateutil", "python3-tz"]
}
}
Autopilot even simpler
"x-test": {
"autopilot": "calendar_tests"
}
Testbeds
Supported runners:
• QEMU
• LXC
• schroot
• null
• ssh (current setup scripts: adb, nova)
Running tests: Debian
$ adt-run systemd --- qemu adt-utopic-amd64.img
[... installing deps ...]
adt-run [11:31:04]: test timedated: - - - - results - - - -
timedated PASS
[... installing deps ...]
adt-run [11:33:43]: test api: [-----------------------
loginmonitor build: OK
loginmonitor run: OK
adt-run [11:33:44]: test api: -----------------------]
adt-run [11:33:45]: test api: - - - - results - - - -
api PASS
$ adt-run systemd_208-0ubuntu1.dsc --- schroot utopic
$ adt-run -B src/systemd/ --- lxc -es adt-utopic
Running tests: Click
bzr checkout --lightweight lp:ubuntu-calculator-app
adt-run ubuntu-calculator-app/ --click com.ubuntu.calculator ---
ssh -s adb
adt-run ubuntu-calculator-app/ calculator_1.3.297_all.click ---
ssh -s adb
Running tests: Click
adt-run ubuntu-calculator-app/ calculator_1.3.297_all.click
--setup-commands ubuntu-touch-session --- lxc -es adt-utopic
Questions?
IRC: pitti on Freenode, #ubuntu-quality
martin.pitt@ubuntu.com
http://lists.alioth.debian.org/mailman/listinfo/
autopkgtest-devel

More Related Content

What's hot

Ansible, Simplicity, and the Zen of Python
Ansible, Simplicity, and the Zen of PythonAnsible, Simplicity, and the Zen of Python
Ansible, Simplicity, and the Zen of Python
toddmowen
 
Puppet: What _not_ to do
Puppet: What _not_ to doPuppet: What _not_ to do
Puppet: What _not_ to do
Puppet
 
Hacking Mac OSX Cocoa API from Perl
Hacking Mac OSX Cocoa API from PerlHacking Mac OSX Cocoa API from Perl
Hacking Mac OSX Cocoa API from Perltypester
 
Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012
rivierarb
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
Ben Hall
 
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)
PROIDEA
 
Puppet Camp Chicago 2014: Smoothing Troubles With Custom Types and Providers ...
Puppet Camp Chicago 2014: Smoothing Troubles With Custom Types and Providers ...Puppet Camp Chicago 2014: Smoothing Troubles With Custom Types and Providers ...
Puppet Camp Chicago 2014: Smoothing Troubles With Custom Types and Providers ...
Puppet
 
Puppet Module Reusability - What I Learned from Shipping to the Forge
Puppet Module Reusability - What I Learned from Shipping to the ForgePuppet Module Reusability - What I Learned from Shipping to the Forge
Puppet Module Reusability - What I Learned from Shipping to the Forge
Puppet
 
Augeas @RMLL 2012
Augeas @RMLL 2012Augeas @RMLL 2012
Augeas @RMLL 2012
Raphaël PINSON
 
Oliver hookins puppetcamp2011
Oliver hookins puppetcamp2011Oliver hookins puppetcamp2011
Oliver hookins puppetcamp2011
Puppet
 
Ansible tips & tricks
Ansible tips & tricksAnsible tips & tricks
Ansible tips & tricks
bcoca
 
(Practical) linux 104
(Practical) linux 104(Practical) linux 104
(Practical) linux 104
Arie Bregman
 
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
Yros
 
Drupal Camp Brighton 2015: Ansible Drupal Medicine show
Drupal Camp Brighton 2015: Ansible Drupal Medicine showDrupal Camp Brighton 2015: Ansible Drupal Medicine show
Drupal Camp Brighton 2015: Ansible Drupal Medicine show
George Boobyer
 
Puppet fundamentals
Puppet fundamentalsPuppet fundamentals
Puppet fundamentals
Murali Boyapati
 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & Tools
Ian Barber
 
gunicorn introduction
gunicorn introductiongunicorn introduction
gunicorn introduction
Adam Lowry
 
2005_Structures and functions of Makefile
2005_Structures and functions of Makefile2005_Structures and functions of Makefile
2005_Structures and functions of MakefileNakCheon Jung
 

What's hot (20)

Ansible, Simplicity, and the Zen of Python
Ansible, Simplicity, and the Zen of PythonAnsible, Simplicity, and the Zen of Python
Ansible, Simplicity, and the Zen of Python
 
Puppet: What _not_ to do
Puppet: What _not_ to doPuppet: What _not_ to do
Puppet: What _not_ to do
 
Hacking Mac OSX Cocoa API from Perl
Hacking Mac OSX Cocoa API from PerlHacking Mac OSX Cocoa API from Perl
Hacking Mac OSX Cocoa API from Perl
 
Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
 
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)
JDD 2017: Nginx + Lua = OpenResty (Marcin Stożek)
 
Puppet Camp Chicago 2014: Smoothing Troubles With Custom Types and Providers ...
Puppet Camp Chicago 2014: Smoothing Troubles With Custom Types and Providers ...Puppet Camp Chicago 2014: Smoothing Troubles With Custom Types and Providers ...
Puppet Camp Chicago 2014: Smoothing Troubles With Custom Types and Providers ...
 
Puppet Module Reusability - What I Learned from Shipping to the Forge
Puppet Module Reusability - What I Learned from Shipping to the ForgePuppet Module Reusability - What I Learned from Shipping to the Forge
Puppet Module Reusability - What I Learned from Shipping to the Forge
 
Augeas @RMLL 2012
Augeas @RMLL 2012Augeas @RMLL 2012
Augeas @RMLL 2012
 
Puppet
PuppetPuppet
Puppet
 
Oliver hookins puppetcamp2011
Oliver hookins puppetcamp2011Oliver hookins puppetcamp2011
Oliver hookins puppetcamp2011
 
Ansible tips & tricks
Ansible tips & tricksAnsible tips & tricks
Ansible tips & tricks
 
(Practical) linux 104
(Practical) linux 104(Practical) linux 104
(Practical) linux 104
 
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
 
Drupal Camp Brighton 2015: Ansible Drupal Medicine show
Drupal Camp Brighton 2015: Ansible Drupal Medicine showDrupal Camp Brighton 2015: Ansible Drupal Medicine show
Drupal Camp Brighton 2015: Ansible Drupal Medicine show
 
Puppet fundamentals
Puppet fundamentalsPuppet fundamentals
Puppet fundamentals
 
Debugging: Rules & Tools
Debugging: Rules & ToolsDebugging: Rules & Tools
Debugging: Rules & Tools
 
EC2
EC2EC2
EC2
 
gunicorn introduction
gunicorn introductiongunicorn introduction
gunicorn introduction
 
2005_Structures and functions of Makefile
2005_Structures and functions of Makefile2005_Structures and functions of Makefile
2005_Structures and functions of Makefile
 

Viewers also liked

09.lr diane oconnell.2009
09.lr diane oconnell.200909.lr diane oconnell.2009
09.lr diane oconnell.2009
Greg Lemoine
 
Teoria de aprendizajes e-learning
Teoria de aprendizajes   e-learningTeoria de aprendizajes   e-learning
Teoria de aprendizajes e-learning
CHICHO Jimenez
 
Apresentacao gelpea 2012_final_-_2CRONOTOPIA NA FAVELA: ESTUDO SOBRE A CONSTR...
Apresentacao gelpea 2012_final_-_2CRONOTOPIA NA FAVELA: ESTUDO SOBRE A CONSTR...Apresentacao gelpea 2012_final_-_2CRONOTOPIA NA FAVELA: ESTUDO SOBRE A CONSTR...
Apresentacao gelpea 2012_final_-_2CRONOTOPIA NA FAVELA: ESTUDO SOBRE A CONSTR...
Sandra Mina
 
Quem não sabe dar não sabe sentir nada
Quem não sabe dar não sabe sentir nadaQuem não sabe dar não sabe sentir nada
Quem não sabe dar não sabe sentir nada
Luzia Gabriele
 
Verbos Novos E Horriveis
Verbos Novos E HorriveisVerbos Novos E Horriveis
Verbos Novos E HorriveisJNR
 
Dv Dx V2.0 詳細中文說明書
Dv Dx V2.0 詳細中文說明書Dv Dx V2.0 詳細中文說明書
Dv Dx V2.0 詳細中文說明書Chui-Wen Chiu
 
Detailhandel januar 2015
Detailhandel   januar 2015Detailhandel   januar 2015
Detailhandel januar 2015
DI - Dansk Industri
 
Nem Dec 09
Nem Dec 09Nem Dec 09
Nem Dec 09
Gauranga Dhar
 
Book 90 wishes
Book 90 wishesBook 90 wishes
Book 90 wishes
FAHIM AKTHAR ULLAL
 
Webinar slides 2014-12-11
Webinar slides 2014-12-11Webinar slides 2014-12-11
Webinar slides 2014-12-11
fmi_igf
 
El fundador de los autos ford.pptx. antonio stiusso
El fundador de los autos ford.pptx. antonio stiussoEl fundador de los autos ford.pptx. antonio stiusso
El fundador de los autos ford.pptx. antonio stiussoAntonioCabrala
 
Options an overview (1)
Options an overview (1)Options an overview (1)
Options an overview (1)
Ujjal Ghosh
 
Cezanne
CezanneCezanne
Cezanne
anagarrido
 
New Zealand Franchising Confidence Index | July 2013
New Zealand Franchising Confidence Index | July 2013New Zealand Franchising Confidence Index | July 2013
New Zealand Franchising Confidence Index | July 2013
Franchize Consultants
 

Viewers also liked (20)

09.lr diane oconnell.2009
09.lr diane oconnell.200909.lr diane oconnell.2009
09.lr diane oconnell.2009
 
Teoria de aprendizajes e-learning
Teoria de aprendizajes   e-learningTeoria de aprendizajes   e-learning
Teoria de aprendizajes e-learning
 
Apresentacao gelpea 2012_final_-_2CRONOTOPIA NA FAVELA: ESTUDO SOBRE A CONSTR...
Apresentacao gelpea 2012_final_-_2CRONOTOPIA NA FAVELA: ESTUDO SOBRE A CONSTR...Apresentacao gelpea 2012_final_-_2CRONOTOPIA NA FAVELA: ESTUDO SOBRE A CONSTR...
Apresentacao gelpea 2012_final_-_2CRONOTOPIA NA FAVELA: ESTUDO SOBRE A CONSTR...
 
Degallegos
DegallegosDegallegos
Degallegos
 
Quem não sabe dar não sabe sentir nada
Quem não sabe dar não sabe sentir nadaQuem não sabe dar não sabe sentir nada
Quem não sabe dar não sabe sentir nada
 
Verbos Novos E Horriveis
Verbos Novos E HorriveisVerbos Novos E Horriveis
Verbos Novos E Horriveis
 
Blogging in English Writing
Blogging in English WritingBlogging in English Writing
Blogging in English Writing
 
Dv Dx V2.0 詳細中文說明書
Dv Dx V2.0 詳細中文說明書Dv Dx V2.0 詳細中文說明書
Dv Dx V2.0 詳細中文說明書
 
Proiect modul 3
Proiect modul 3Proiect modul 3
Proiect modul 3
 
Detailhandel januar 2015
Detailhandel   januar 2015Detailhandel   januar 2015
Detailhandel januar 2015
 
Nem Dec 09
Nem Dec 09Nem Dec 09
Nem Dec 09
 
Book 90 wishes
Book 90 wishesBook 90 wishes
Book 90 wishes
 
Webinar slides 2014-12-11
Webinar slides 2014-12-11Webinar slides 2014-12-11
Webinar slides 2014-12-11
 
Lecture for Poster
Lecture for PosterLecture for Poster
Lecture for Poster
 
El fundador de los autos ford.pptx. antonio stiusso
El fundador de los autos ford.pptx. antonio stiussoEl fundador de los autos ford.pptx. antonio stiusso
El fundador de los autos ford.pptx. antonio stiusso
 
Carnaval 2010
Carnaval 2010Carnaval 2010
Carnaval 2010
 
Options an overview (1)
Options an overview (1)Options an overview (1)
Options an overview (1)
 
Cezanne
CezanneCezanne
Cezanne
 
New Zealand Franchising Confidence Index | July 2013
New Zealand Franchising Confidence Index | July 2013New Zealand Franchising Confidence Index | July 2013
New Zealand Franchising Confidence Index | July 2013
 
G bala
G balaG bala
G bala
 

Similar to autopkgtest lightning talk

Linuxday.at - Lightning Talk
Linuxday.at - Lightning TalkLinuxday.at - Lightning Talk
Linuxday.at - Lightning TalkJan Gehring
 
Intro to pl/PHP Oscon2007
Intro to pl/PHP Oscon2007Intro to pl/PHP Oscon2007
Intro to pl/PHP Oscon2007
Robert Treat
 
Puppi. Puppet strings to the shell
Puppi. Puppet strings to the shellPuppi. Puppet strings to the shell
Puppi. Puppet strings to the shell
Alessandro Franceschi
 
Crafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyCrafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in Ruby
Nikhil Mungel
 
Practical Testing of Ruby Core
Practical Testing of Ruby CorePractical Testing of Ruby Core
Practical Testing of Ruby Core
Hiroshi SHIBATA
 
Curscatalyst
CurscatalystCurscatalyst
CurscatalystKar Juan
 
Perl web frameworks
Perl web frameworksPerl web frameworks
Perl web frameworksdiego_k
 
DPC 2012 : PHP in the Dark Workshop
DPC 2012 : PHP in the Dark WorkshopDPC 2012 : PHP in the Dark Workshop
DPC 2012 : PHP in the Dark WorkshopJeroen Keppens
 
Chef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureChef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructure
Michaël Lopez
 
Virtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetVirtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetOmar Reygaert
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with Puppet
Alessandro Franceschi
 
Isolated development in python
Isolated development in pythonIsolated development in python
Isolated development in python
Andrés J. Díaz
 
Puppet Troubleshooting
Puppet TroubleshootingPuppet Troubleshooting
Puppet TroubleshootingPuppet
 
Troubleshooting Puppet
Troubleshooting PuppetTroubleshooting Puppet
Troubleshooting Puppet
Thomas Howard Uphill
 
Writing and Publishing Puppet Modules - PuppetConf 2014
Writing and Publishing Puppet Modules - PuppetConf 2014Writing and Publishing Puppet Modules - PuppetConf 2014
Writing and Publishing Puppet Modules - PuppetConf 2014
Puppet
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
Software Guru
 
Unit Testing Lots of Perl
Unit Testing Lots of PerlUnit Testing Lots of Perl
Unit Testing Lots of Perl
Workhorse Computing
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
Puppet
 
Supporting Debian machines for friends and family
Supporting Debian machines for friends and familySupporting Debian machines for friends and family
Supporting Debian machines for friends and family
Francois Marier
 

Similar to autopkgtest lightning talk (20)

Linuxday.at - Lightning Talk
Linuxday.at - Lightning TalkLinuxday.at - Lightning Talk
Linuxday.at - Lightning Talk
 
Intro to pl/PHP Oscon2007
Intro to pl/PHP Oscon2007Intro to pl/PHP Oscon2007
Intro to pl/PHP Oscon2007
 
Os Treat
Os TreatOs Treat
Os Treat
 
Puppi. Puppet strings to the shell
Puppi. Puppet strings to the shellPuppi. Puppet strings to the shell
Puppi. Puppet strings to the shell
 
Crafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in RubyCrafting Beautiful CLI Applications in Ruby
Crafting Beautiful CLI Applications in Ruby
 
Practical Testing of Ruby Core
Practical Testing of Ruby CorePractical Testing of Ruby Core
Practical Testing of Ruby Core
 
Curscatalyst
CurscatalystCurscatalyst
Curscatalyst
 
Perl web frameworks
Perl web frameworksPerl web frameworks
Perl web frameworks
 
DPC 2012 : PHP in the Dark Workshop
DPC 2012 : PHP in the Dark WorkshopDPC 2012 : PHP in the Dark Workshop
DPC 2012 : PHP in the Dark Workshop
 
Chef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructureChef - industrialize and automate your infrastructure
Chef - industrialize and automate your infrastructure
 
Virtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetVirtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + Puppet
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with Puppet
 
Isolated development in python
Isolated development in pythonIsolated development in python
Isolated development in python
 
Puppet Troubleshooting
Puppet TroubleshootingPuppet Troubleshooting
Puppet Troubleshooting
 
Troubleshooting Puppet
Troubleshooting PuppetTroubleshooting Puppet
Troubleshooting Puppet
 
Writing and Publishing Puppet Modules - PuppetConf 2014
Writing and Publishing Puppet Modules - PuppetConf 2014Writing and Publishing Puppet Modules - PuppetConf 2014
Writing and Publishing Puppet Modules - PuppetConf 2014
 
Instrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con GitlabInstrumentación de entrega continua con Gitlab
Instrumentación de entrega continua con Gitlab
 
Unit Testing Lots of Perl
Unit Testing Lots of PerlUnit Testing Lots of Perl
Unit Testing Lots of Perl
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
 
Supporting Debian machines for friends and family
Supporting Debian machines for friends and familySupporting Debian machines for friends and family
Supporting Debian machines for friends and family
 

Recently uploaded

Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 

Recently uploaded (20)

Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 

autopkgtest lightning talk

  • 1. autopkgtest Your friendly package test runner Martin Pitt <martin.pitt@ubuntu.com> July 23, 2014
  • 2. Metadata for Debian packages debian/tests/rev: #!/bin/sh -e RES=$(echo Hello | rev) if [ "$RES" != "olleH" ]; then echo "rev broken: got $RES" >&2; exit 1 fi debian/tests/control: Tests: rev Depends: coreutils # check that root has a password Test-Command: grep -q ^root /etc/shadow Restrictions: needs-root
  • 3. Metadata for Click packages manifest: "x-test": { "smoke": { "path": "debian/tests/smoke", "depends": ["coreutils"] }, "rootpw": { "command": "grep -q ^root /etc/shadow", "restrictions": ["needs-root"] } }
  • 4. Autopilot click testing "x-test": { "ap": { "autopilot_module": "calendar_tests", "depends": ["python3-dateutil", "python3-tz"] } }
  • 5. Autopilot even simpler "x-test": { "autopilot": "calendar_tests" }
  • 6. Testbeds Supported runners: • QEMU • LXC • schroot • null • ssh (current setup scripts: adb, nova)
  • 7. Running tests: Debian $ adt-run systemd --- qemu adt-utopic-amd64.img [... installing deps ...] adt-run [11:31:04]: test timedated: - - - - results - - - - timedated PASS [... installing deps ...] adt-run [11:33:43]: test api: [----------------------- loginmonitor build: OK loginmonitor run: OK adt-run [11:33:44]: test api: -----------------------] adt-run [11:33:45]: test api: - - - - results - - - - api PASS
  • 8. $ adt-run systemd_208-0ubuntu1.dsc --- schroot utopic $ adt-run -B src/systemd/ --- lxc -es adt-utopic
  • 9. Running tests: Click bzr checkout --lightweight lp:ubuntu-calculator-app adt-run ubuntu-calculator-app/ --click com.ubuntu.calculator --- ssh -s adb adt-run ubuntu-calculator-app/ calculator_1.3.297_all.click --- ssh -s adb
  • 10. Running tests: Click adt-run ubuntu-calculator-app/ calculator_1.3.297_all.click --setup-commands ubuntu-touch-session --- lxc -es adt-utopic
  • 11. Questions? IRC: pitti on Freenode, #ubuntu-quality martin.pitt@ubuntu.com http://lists.alioth.debian.org/mailman/listinfo/ autopkgtest-devel