Menu

Tree [8ae020] master /
 History

HTTPS access


File Date Author Commit
 LICENSES 2012-07-31 D M Hursh D M Hursh [8a2e24] License files did not make it into the repo.
 Test_Bucket 2013-04-24 D M Hursh D M Hursh [8ae020] Fix copyright dates.
 Test_Suite 2013-04-24 D M Hursh D M Hursh [8ae020] Fix copyright dates.
 .gitignore 2012-01-23 D M Hursh D M Hursh [c2ae55] Initial commit.
 ATF-reference.html 2012-01-23 D M Hursh D M Hursh [c2ae55] Initial commit.
 ATF-reference.org 2012-01-23 D M Hursh D M Hursh [c2ae55] Initial commit.
 PERLENV 2013-04-24 D M Hursh D M Hursh [8ae020] Fix copyright dates.
 README 2013-01-18 D M Hursh D M Hursh [924725] Small fixes to test cases, config file support ...
 atf_driver 2013-04-22 D M Hursh D M Hursh [e78bc1] Batch updates. (New patterns, target labels, f...
 build-perllib 2012-03-30 D M Hursh D M Hursh [c9b990] Merging some interally requested updates.

Read Me

Copyright (C) 2011-2013, IBM (R) Corporation


AUTHOR

Daniel M. Hursh hursh@us.ibm.com



ATF -  Advanced Test Framework

ATF is a test framework developed in house at IBM to simplify the testing of a
distributed firmware platform.  The overall goal was to simplify running shell
commands on multiple targets/hosts by providing a simple interface to declare
named test targets and providing a simple declarative syntax to describe
command to be run and the expected results of each command.

ATF is primarily implement as a wrapper around prove and the testing framework
bundled with Perl itself.  ATF test cases are then written in a Domain
Specific Embedded Language using constructed to simplify running shell based
commands on either the local host or any of a set of pre-declared remote
targets over SSH or Telnet.  Other targets can be added by implement a new
Target Type class.  (In house we have a specialized Target type that talks
runs commands over SSH using a purpose build test agent that collects more
data.



DEPENDENCIES

I had hoped to implement ATF in pure Perl using only pure Perl modules or core
modules targeting Perl 5.8 or later.  I could not get away with that and also
have SSH support.  I could not guarantee that my users would have
administrative access to the systems they would be running on nor could I
assure that everything ATF would need to run would be pre-installed on all
possible test host systems.

Very few of the users were very experienced with much less CPAN so I did not
want to force them to learn to install from CPAN to their own directories.  I
also did not want to risk breaking other tools that depended on the version of
modules that were per-installed on the host system.

So to address this, I created build-perllib to grab cpanm and use that to
install ATF's dependencies a local lib.  Such a library can be built for each
type of target machine and manually archived.

I then also created PERLENV which could be used to run programs in an
environment that would use the libraries installed by build-perllib.  If you
archive multiple pre-built libraries, it can unarchive the appropriate one for
the type of system you are on.  It's not ideal but it works for us.



Documentation

For the initial release, the POD documentation is minimal.  ATF::Test provide
some basic usage and all other modules direct to it.  In house it was easier
to put our documentation on a wiki.  I have also included my original
documentation in an org-mode file and a generated html file.



LICENSE INFORMATION

Copyright (C) 2011, IBM (R) Corporation

This code is free software; you can redistribute it and/or modify it under the
terms of either:

      a) the GNU General Public License as published by the Free Software
         Foundation; either version 1, or (at your option) any later version,
         or

      b) the "Artistic License" which comes with this package.

For more details, see the full text of the licenses in the directory LICENSES.

This program is distributed in the hope that it will be useful, but without
any warranty; without even the implied warranty of merchantability or fitness
for a particular purpose.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.