Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia...

9
Component Interface Testing SciDAC Quarterly Report Argonne, IL Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract DE-AC04-94AL85000.

Transcript of Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia...

Page 1: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.

Component Interface Testing

SciDAC Quarterly Report

Argonne, ILArgonne, IL

William McLendon

Ron OldfieldSandia National Laboratories

Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company,for the United States Department of Energy under contract DE-AC04-94AL85000.

Page 2: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.

Twisted Python Info

• Framework, written in Python for writing networked applications.

• Some Features:– web server

– RDDB interface

– Object broker

– Asynchronous event handling

– Distributed Applications

• http://www.twistedmatrix.com/

Page 3: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.

APItest v0.1.2 Overview

• Continuing work with APItest v0.1.2– HTTP Interface development– Test Types

• Shell• Script• Extensability (define new types easily)

– 3rd party libraries• Twisted Python• http://www.effbot.org/ (elementtree)

• Now available via Sandia FTP:– ftp://ftp.sandia.gov/outgoing/apitest/– Posted in SciDAC notes

Page 4: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.

APItest 0.1.2 & Python

• Collaboration with Scott Jackson– Stderr/Stdout bug with python Popen3

• Problem was when a script or program generated a lot of stderr and stdout.

– deadlock!

• Twisted provides SpawnProcess()– Fixed deadlocking problem!– Asynchronous interface via Deferred()

• Required rewriting a lot of code to support asynchronous file operation mode.

– APItest is better because of it!– More responsive http server, etc.

• Accounted for most of the work this Quarter.

Page 5: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.

Test Run Tracking & Grouping

• APItest v0.1.2 has better support for browsing test data within a ‘session’– Browse test “Run” data

• Time stamped

– Test Run Overview– Batches– Tests

• timestamps• md5sum on test file

• Batch and Test data stored in an in-memory database but in XML file format. Writing out data to file should be available soon™.

Page 6: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.

sciptTest XML Example<testDef>

<info>Multiline CDATA BUFFER</info> <test name="timestamp1" type="script”

minPctMatch="100" maxPctMatch="100" numReps="1" onMismatch="CONTINUE">

  <command interpreter="/bin/csh" wdir="/tmp">foreach i (1 2 3 4 5) set theDate = `date` echo "timestamp1 :${i}: $theDate” sleep 5 end </command> <output name="stdout" format="regexp">.*timestamp1.*</output>   <output name="stderr" format="literal" />   <output name="status" format="literal">0</output>   </test></testDef>

Page 7: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.

Batch File XML

<testBatch>

  <info>Test batch file.</info>

  <test name="shell/scriptTest2.apt" />

<test name="shell/cmdTest1.apt" type="TEST" />

<dep parent="shell/scriptTest1.apt" child="shell/scriptTest2.apt" status="PASS" />

  <dep parent="shell/cmdTest1.apt" child="shell/cmdTest2.apt" ptype="TEST" ctype="TEST" />

  <dep parent="shell/cmdTest2.apt" child="shell/scriptTest1.apt" status="ANY" />

  <dep parent="shell/scriptTest1.apt" child="batch2.apb" ctype="BATCH" />

  <dep parent="shell/cmdTest2.apt" child="shell/scriptTest2.apt" />

  </testBatch>

Page 8: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.

Questions? Demo?

ftp://ftp.sandia.gov/outgoing/apitest/

Page 9: Component Interface Testing SciDAC Quarterly Report Argonne, IL William McLendon Ron Oldfield Sandia National Laboratories Sandia is a multiprogram laboratory.