Introduction of PbsTestLab ========================== Command line tools ------------------ - :ref:`pbs_benchpress ` used to run unit tests - :ref:`pbs_loganalyzer ` used to analyze PBS logs - :ref:`pbs_stat ` used to filter PBS objects based on select properties - :ref:`pbs_config ` used to configure services, e.g., create vnodes - :ref:`pbs_py_spawn ` used to invoke a pbs_py_spawn action associated to a job running on a MoM Library ------- - Provides PBS IFL operations through either SWIG-wrappers or PBS CLI e.g. qstat, qsub etc. - Encapsulated PBS entities: :py:class:`~ptl.lib.pbs_testlib.Server`, :py:class:`~ptl.lib.pbs_testlib.Scheduler`, :py:class:`~ptl.lib.pbs_testlib.MoM`, :py:class:`~ptl.lib.pbs_testlib.Comm`, :py:class:`~ptl.lib.pbs_testlib.Queue`, :py:class:`~ptl.lib.pbs_testlib.Job`, :py:class:`~ptl.lib.pbs_testlib.Reservation`, :py:class:`~ptl.lib.pbs_testlib.Hook`, :py:class:`~ptl.lib.pbs_testlib.Resource` - Utility class to convert batch status and attributes to Python lists, strings and dictionaries - High-level PBS operations to operate on PBS entities including nodes, queues, jobs, reservations, resources, and server Utilities --------- - Logging to parse and report metrics from :py:class:`Server `, :py:class:`Scheduler `, :py:class:`MoM ` and :py:class:`Accounting ` logs. - Distributed tools to transparently run commands locally or remotely, including file copying. Plugins ------- - Provides utilities to load, run and get info of test cases in form of `Nose framework`_ plugins Documentation ------------- - API documentation describing the capabilities of the framework and utilities - For the command-line tools use the -h option for help Directory structure ------------------- :: fw |- bin -- Command line tools |- doc -- Documentation `- ptl -- PTL package |- lib -- Library `- utils -- Utilities `- plugins -- plugins of PTL for Nose framework .. _Nose framework: http://readthedocs.org/docs/nose/