CHEP ' 2003David Chamont (CMS - LLR)1 OVAL A testing tool for CMS software

Slides:



Advertisements
Similar presentations
05/11/2001 CPT week Natalia Ratnikova, FNAL 1 Software Distribution in CMS Distribution unitFormContent Version of SCRAM managed project.
Advertisements

Chapter 14 The User View of Operating Systems
German Cancio – WP4 developments Partner Logo WP4-install plans WP6 meeting, Paris project conference
ANT: Another Nice Tool Ali Beyad October 1, 2003.
Winter 2005Jason Prideaux1 Apache ANT A platform independent build tool for Java programs.
Guide To UNIX Using Linux Third Edition
Introduction to Unix (CA263) Introduction to Shell Script Programming By Tariq Ibn Aziz.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
Basic Unix Dr Tim Cutts Team Leader Systems Support Group Infrastructure Management Team.
Quality Assurance and Testing in LCG CHEP 2004 Interlaken, Switzerland 30 September 2004 Manuel Gallas, Jakub MOSCICKI CERN
M. Gallas IT-API LCG SPI project: testing1 Software Testing Infrastructure status LCG Software Process & Infrastructure (CERN, 10/23/02)
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing LCG Applications Area GridPP 7 th Collaboration Meeting LCG/SPI LCG.
CCA Port, Component & Application Build Skeleton Templates “A new script toolkit for generating CCA build skeletons” Torsten Wilde and James Kohl Oak Ridge.
Introduction to Shell Script Programming
Software Tools and Processes Training and Discussion October 16, :00-4:30 p.m. Jim Willenbring.
Co-allocation Using HARC IV. ResourceManagers HARC Workshop University of Manchester.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
Software Engineering in Robotics Packaging and Deployment of Systems Henrik I. Christensen –
NICOS System of Nightly Builds for Distributed Development Alexander Undrus CHEP’03.
Introduction Use of makefiles to manage the build process Declarative, imperative and relational rules Environment variables, phony targets, automatic.
ASP.NET.. ASP.NET Environment ASP.NET is Microsoft's programming framework that enables the development of Web applications and services. It is an easy.
An overview of scripting languages Alexander Kanavin Teachers: Barbara Miraftabi, Jan Voracek.
Launch SpecE8 and React from GSS. You can use the chemical analyses in a GSS data sheet to set up and run SpecE8 and React calculations. Analysis → Launch…
Distribution After Release Tool Natalia Ratnikova.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
L. Mancera IT/API LCG SPI project: Code documentation1 Code Documentation Luis Mancera LCG Software Process & Infrastructure (CERN, 10/23/02)
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
CS 390 Unix Programming Environment Summer Suchindra Rengan - CS3902 Course Details Instructors Suchindra Rengan – ‘sachin’ ( Section 001)
UNIX Commands. Why UNIX Commands Are Noninteractive Command may take input from the output of another command (filters). May be scheduled to run at specific.
Stuart Wakefield Imperial College London Evolution of BOSS, a tool for job submission and tracking W. Bacchi, G. Codispoti, C. Grandi, INFN Bologna D.
LCG-SPI: SW-Testing LCG AppArea internal review (20/10/03)
Feedback from the POOL Project User Feedback from the POOL Project Dirk Düllmann, LCG-POOL LCG Application Area Internal Review October 2003.
Shell Advanced Features. Module 8 Shell Advanced Features ♦ Introduction In Linux systems, the shells are often referred to as command line interfaces.
Unified scripts ● Currently they are composed of a main shell script and a few auxiliary ones that handle mostly the local differences. ● Local scripts.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects Overview A.Aimar EP/SFT CERN LCG Software Process.
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing QMTest test framework LCG AppArea meeting (16/07/03) LCG/SPI LCG Software.
Overview of the Automated Build & Deployment Process Johnita Beasley Tuesday, April 29, 2008.
Chapter 14 The User View of Operating Systems The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition,
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
Agenda Positional Parameters / Continued... Command Substitution Bourne Shell / Bash Shell / Korn Shell Mathematical Expressions Bourne Shell / Bash Shell.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
Geant Simulation Tutorial 2002 년 6 월 26 일 2002 CHEP 여름학교 서울대학교 김복주 웹페이지 :
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
PDAC-10 Middleware Solutions for Data- Intensive (Scientific) Computing on Clouds Gagan Agrawal Ohio State University (Joint Work with Tekin Bicer, David.
More Unix Naomi Altman. Directories Directory = folder mkdir - makes a new directory rmdir - removes an empty directory cd mydirectory - moves you into.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects GRIDPP 7 th Collaboration Meeting 30 June – 2 July.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Infrastructure for LCG Software Projects Status and work plan for H July 2003 A.Aimar.
Lesson 6-Using Utilities to Accomplish Complex Tasks.
Personalizing Web Sites Nasrullah. Understanding Profile The ASP.NET application service that enables you to store and retrieve information about users.
DZero Monte Carlo Production Ideas for CMS Greg Graham Fermilab CD/CMS 1/16/01 CMS Production Meeting.
A. Aimar - IT/API LCG - Software Process & Infrastructure1 SPI - News and Status Update CERN,
A. Aimar - EP/SFT LCG - Software Process & Infrastructure SPI Infrastructure for LCG Software Projects CHEP 2003 A.Aimar EP/SFT CERN LCG Software Process.
Review of PARK Reflectometry Group 10/31/2007. Outline Goal Hardware target Software infrastructure PARK organization Use cases Park Components. GUI /
Seven things you should know about Ganga K. Harrison (University of Cambridge) Distributed Analysis Tutorial ATLAS Software & Computing Workshop, CERN,
SPI Infrastructure for LCG Software Projects
(Chapter 2) John Carelli, Instructor Kutztown University
Code Analysis, Repository and Modelling for e-Neuroscience
Good Testing Practices
Experience with the process automation at SORS
Chapter 14 The User View of Operating Systems
Lab 4: Introduction to Scripting
Code Analysis, Repository and Modelling for e-Neuroscience
Presentation transcript:

CHEP ' 2003David Chamont (CMS - LLR)1 OVAL A testing tool for CMS software

CHEP ' 2003David Chamont (CMS - LLR)2 General Description Original goal : help to detect automatically the changes in the physics performances of the CMS software used for data production. Current features of the tool : compile the provided test programs, run them in specified runtime conditions (shell variables + auxiliary files), compare the output with references. User interface is CVS-like, configuration files are XML-like. It is written in PERL and can be configured for any build system (scram, make).

CHEP ' 2003David Chamont (CMS - LLR)3 Outline General description. Configuration : OvalFile. Commands : build/run/diff. Results : log files. Other features. Summary. Plans.

CHEP ' 2003David Chamont (CMS - LLR)4 Configuration : OvalFile MaxEvents = 500 Random:Seeds = 0 3

CHEP ' 2003David Chamont (CMS - LLR)5 Commands : build/run/diff… cms038:ElectronPhoton> ls Makefile CVS Clusters.cpp Clusters.ref Electrons.cpp Electrons.ref EnergyFlow.cpp OvalFile

CHEP ' 2003David Chamont (CMS - LLR)6 Commands : …build/run/diff… cms038:ElectronPhoton> oval prod Clusters: build, run, diff. Electrons: build, run, diff (DIFFS).

CHEP ' 2003David Chamont (CMS - LLR)7 Commands : …build/run/diff cms038:ElectronPhoton> ls Makefile CVS Clusters.cpp Clusters.log Clusters.ref Electrons.cpp Electrons.log Electrons.ref EnergyFlow.cpp OvalFile electrons.hbook

CHEP ' 2003David Chamont (CMS - LLR)8 Results : log files… [oval build] ======================================== [oval build] make Electrons [oval build] ======================================== /usr/local/gcc-alt /bin/c++ -O2 -pthread -rdynamic -L/afs/cern.ch/user/c/chamont/ORCA_5/lib/Linux__2.2 -L/afs/cern.ch/cms/Releases/ORCA_5/lib/Linux__2.2 -L/afs/cern.ch/sw/lhcxx/specific/redhat61/gcc /3.6.2/lib -L/afs/cern.ch/cms/cmsim/cms122/lib/i386_linux22 -L/cern/2001/lib Electrons.o -o Electrons -lElectronFacilities -lEgammaH4Support -lEgammaL1Tools … -lmathlib -lblas -lkernlib -lpythia6152 -lz -lnsl -ldl -lg2c -lm

CHEP ' 2003David Chamont (CMS - LLR)9 Results : …log files… [oval run] ========================================== [oval run] LD_LIBRARY_PATH = [oval run] /afs/cern.ch/user/c/chamont/ORCA_5/lib/Linux__2.2 [oval run] :/afs/cern.ch/cms/Releases/ORCA_5/lib/Linux__2.2 [oval run] :/afs/cern.ch/sw/lhcxx/i386_linux22/Objectivity/5.2.1/lib [oval run] FEDERATION = cmsuf01::/cms/jet0900/jet0900.boot [oval run] DATASET = eg_ele_pt15... [oval run].orcarc: [oval run] MaxEvents = 500 [oval run] Random:Seeds = 0 3 [oval run] ========================================= Welcome to COBRA...

CHEP ' 2003David Chamont (CMS - LLR)10 Results : …log files [oval diff] ======================================== [oval diff] diff line : /^OVAL:/ [oval diff] diff number : /^OVAL NUM:.* is (.*)$/ ~5% [oval diff] ======================================== ref#1452 != log#2053 < OVAL: 12 electrons --- > OVAL: 11 electrons ref#1972 !~ log#2592 (>5%) < OVAL NUM: energy mean is > OVAL NUM: energy mean is

CHEP ' 2003David Chamont (CMS - LLR)11 Other Features Oval is not restrained to programs. For complex testing tasks, especially when databases are involved, one can also handle some scripts (no build step needed). The same program or script can be executed several times with different arguments, and/or within different environments. If there are many tests, one can organize them in a hierarchy of Unix directories, and create OvalFiles at any level. The results of an oval command can be mailed to watchers as defined in the configuration.

CHEP ' 2003David Chamont (CMS - LLR)12 Summary Scan the output, whatever it is. Can be combine with any build system. Very easy to use, except the tuning of regular expressions (more examples available soon). No helper code provided. The users still have to write their test programs. CMS use it for regression tests ; some developers run it daily on their code (kind of extreme programming !) LCG plans to use it together with CppUnit.

CHEP ' 2003David Chamont (CMS - LLR)13 Plans Improve infrastructure & support : –improve internal documentation, –add a tutorial, –progressively move to LCG savannah server. React to users’ feedback –enable the users to provide their own diff command, –add a reuse mechanism for the environments, –automatic generation of trivial test programs for a given set of header files.