scidac sss quarterly report l.
Skip this Video
Loading SlideShow in 5 Seconds..
SciDAC SSS Quarterly Report PowerPoint Presentation
Download Presentation
SciDAC SSS Quarterly Report

Loading in 2 Seconds...

play fullscreen
1 / 21

SciDAC SSS Quarterly Report - PowerPoint PPT Presentation

  • Uploaded on

SciDAC SSS Quarterly Report. Sandia Labs August 27, 2004 William McLendon. Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'SciDAC SSS Quarterly Report' - flora

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
scidac sss quarterly report

SciDAC SSS Quarterly Report

Sandia Labs

August 27, 2004

William McLendon

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

apitest overview
APItest - Overview
  • Current Release : v0.2.0
  • Test Driver tool for testing software
    • Ordered tests
    • API Testing
  • Available for download:
apitest features
Scripted Test Driver

XML based tests

Object Oriented

Easy to define new test types.

Conditional test ordering

Batch Scripts

Can call other batches

Built In Test Types




Can set environment variables for tests.

SUID Test Capability



User Interface Types

Web Browser

Command Line

Test Results Export

Save Test results to an XML file.

Open Source


Fully scripted in Python


APItest - Features
apitest requirements
APItest - Requirements
  • Packages required to run APItest:
    • Python 2.3 or greater
    • ElementTree (
    • Twisted (
    • ssslib (
      • optional, for SSSlib tests.
apitest execution
APItest - Execution
  • There are two ways to execute APItest
  • Command Line Only
    • $> apitest -f test_file.[apt|apb]
  • Web browser GUI (Interactive)
    • $> apitest httpd
      • -i [--iroot] : root directory to look for tests
      • -p [--port] : port number (default = 2112)
      • -h [--host] : host (default = localhost)
  • --help will display command line usage.
apitest gui top page
APItest - GUI (Top Page)
  • Top level index page for APItest
  • APItest recurses from the [testroot] to find tests.
  • File Extensions:
    • TEST : .apt
    • BATCH : .apb
  • Batch tests shown in bold
  • Organized by directory
apitest gui test run execution
APItest - GUI (Test Run Execution)
  • Quick status view of test execution.
  • This screen loads when the EXECUTE button is selected.
  • Color coded for easy viewing.
  • Currently running test is indicated.
  • Refreshes every 15 secs.
apitest gui test run summary
APItest - GUI (Test Run Summary)
  • Summary of test results
  • Color coding
  • Batch Features
    • Cumulative summaries
      • Total # of tests
      • # that passed (green)
      • # that failed (red)
  • Can click the hyperlinks to see more details about a test or batch.
apitest gui batch summary
APItest - GUI (Batch Summary)
  • Clicking a hyperlink into a batch test gives us a summary view.
  • In this example, one test failed a dependency
    • FAILDEP in the status column indicates this.
  • Clicking on the scriptTest2.apt link will show us more data about this test.
apitest gui test details faildep
APItest - GUI (Test Details - FAILDEP)
  • Detailed view of scriptTest2.apt from previous slide.
  • Failed a dependency on cmdTest2.apt
    • Expected : FAIL
    • Actual : PASS
apitest gui list of test runs
APItest - GUI (List of Test Runs)
  • Clicking the View All Runs button gives this screen.
  • Test Runs are sorted by date and time.
  • Click links to view details of a particular run.
apitest gui test details passed
APItest - GUI (Test Details - PASSED)
  • Example of a test that was executed and passed.
  • Summary Data
  • Dependency Data
    • Only shown if test was run as part of a batch.
  • Output
    • Side-by-side comparison
    • Dependent on type of test.
sss service directory startup test









SSS - Service Directory Startup Test
apitest ongoing work
APItest - Ongoing Work
  • Develop more tests for SSS components!
  • Validation via file matching.
  • Configuration file.
  • Test Developer GUI.
  • Results browser.
  • Session management and security (Cookies?)
  • Additional native test types.
  • DB Connectivity.
  • User Guide.
  • Bug fixing.
apitest test types
APItest - Test Types
  • CMD
    • Execute a command via the command line.
    • Execute a script.
  • SSS
    • Execute a ssslib communication.
apitest example cmd test
APItest - Example CMD Test



Example test. Runs ls -lr from /tmp, expects 0 exit status and any input.


<test type="cmd” wdir="/tmp">

<command interpreter="/bin/ksh">ls</command>

<input name="argument" format="literal">-l</input>

<input name="argument" format="literal">-r</input>

<inputname="stdin" format="literal" />

<output name="stdout" format="regexp">.*</output>

<outputname="stderr" format="literal" />

<output name="status" format="literal">0</output>



apitest example script test
APItest - Example Script Test


<info>Timeout test</info>

<test name="timestamp1" type="script" timeout="4">

<command interpreter="/bin/bash" wdir="/tmp">

for x in 1 2 3 4 5 6 7 8 9 10


echo "timeout_test :${x}: `date`”

sleep 1



<output name="stdout" format="regexp">.*timeout.*</output>

<outputname="stderr" format="literal" />

<output name="status" format="literal">0</output>



apitest example envvar test
APItest - Example ENVVAR Test



This script executes but adds some stuff to the environment.

NOTE: setting envvar OVERRIDES any inherited environment variables.


<test type="script">

<command interpreter="/bin/csh">#!/bin/csh env</command>

<input name="envvar" format="literal" key="test_envvar_1">foobar</input>

<input name="envvar" format="literal" key="test_envvar_2">foo</input>

<output name="stdout" format="regexp">


<outputname="stderr" format="literal" />

<output name="status" format="literal">0</output>



apitest example suid test
APItest - Example SUID Test


<test type="script">

<command interpreter="python" uname="wcmclen" gid="500">

#!/usr/bin/env python

import os

print os.getuid()

print os.getgid()


<input name="argument">/tmp/testuser/</input>

<input name="argument">-l</input>

<output name="stdout" format="regexp">^27030$\n^500$</output>

<outputname="stderr" format="literal" />

<output name="status" format="literal">0</output>



apitest example sss test
APItest - Example SSS Test


<info>Sample sss query of the service directory</info>

<test type="sss" destination="service-directory">

<input name="sendbuf">

&lt;get-location>&lt;location component='service-directory' host='*' port='*'

protocol='*' schema_version='*' tier='*'/>&lt;/get-location></input>

<output name="recvbuf" format="regexp">.*</output>