1 / 9

Component Interface Testing

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

kuper
Download Presentation

Component Interface Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Component Interface Testing SciDAC Quarterly Report 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.

  2. 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/

  3. 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

  4. 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.

  5. 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™.

  6. 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> • <outputname="stderr" format="literal" /> • <output name="status" format="literal">0</output> • </test> • </testDef>

  7. Batch File XML • <testBatch> • <info>Test batch file.</info> • <testname="shell/scriptTest2.apt" /> • <testname="shell/cmdTest1.apt" type="TEST" /> • <depparent="shell/scriptTest1.apt" child="shell/scriptTest2.apt" status="PASS" /> • <depparent="shell/cmdTest1.apt" child="shell/cmdTest2.apt" • ptype="TEST" ctype="TEST" /> • <depparent="shell/cmdTest2.apt" child="shell/scriptTest1.apt" status="ANY" /> • <depparent="shell/scriptTest1.apt" child="batch2.apb" ctype="BATCH" /> • <depparent="shell/cmdTest2.apt" child="shell/scriptTest2.apt" /> • </testBatch>

  8. Questions? Demo? ftp://ftp.sandia.gov/outgoing/apitest/

More Related