On 07/26/2011 10:30 AM, Lucas Meneghel Rodrigues wrote:
> From: pradeep<[email protected]>
>
> Connectathon test is nfs testsuite which can run on
> both BSD and System V based systems.
>
> Changes from v2:
>   * Cleaned up and simplified test code
>   * Test now is called 'connectathon', following the proper
>     testsuite name
>   * tarball is called 'connectathon.tar.bz2', so it was
>     cleaned up and recompressed using bz2
>   * Test logs are now written to the results test dir
>   * Used postprocess to raise on error

Ok Pradeep, commited:

http://autotest.kernel.org/changeset/5513

Now, would you please go through the changes I made on this wrapper and 
prepare a new version of the blast test for us? Thanks!

> Signed-off-by: Pradeep K Surisetty<[email protected]>
> Signed-off-by: Poornima Nayak<[email protected]>
> ---
>   client/tests/connectathon/connectathon.py |   67 
> +++++++++++++++++++++++++++++
>   client/tests/connectathon/control         |   31 +++++++++++++
>   2 files changed, 98 insertions(+), 0 deletions(-)
>   create mode 100644 client/tests/connectathon/connectathon.py
>   create mode 100644 client/tests/connectathon/control
>
> diff --git a/client/tests/connectathon/connectathon.py 
> b/client/tests/connectathon/connectathon.py
> new file mode 100644
> index 0000000..a0ef86f
> --- /dev/null
> +++ b/client/tests/connectathon/connectathon.py
> @@ -0,0 +1,67 @@
> +import os, shutil, glob, logging
> +from autotest_lib.client.bin import test, utils
> +from autotest_lib.client.common_lib import error
> +
> +
> +class connectathon(test.test):
> +    """
> +    Connectathon test is an nfs testsuite which can run on
> +    both BSD and System V based systems. The tests.init file
> +    has to be modified based on the OS in which this test is run.
> +
> +    The tar file in this dir has an init file which works for Linux
> +    platform.
> +
> +    @see www.connectathon.org
> +    @author Poornima.Nayak ([email protected])(original code)
> +    """
> +    version = 1
> +    def initialize(self):
> +        """
> +        Sets the overall failure counter for the test.
> +        """
> +        self.nfail = 0
> +
> +
> +    def setup(self, tarball='connectathon.tar.bz2'):
> +        connectathon_tarball = utils.unmap_url(self.bindir, tarball,
> +                                               self.tmpdir)
> +        utils.extract_tarball_to_dir(connectathon_tarball, self.srcdir)
> +
> +        os.chdir(self.srcdir)
> +        utils.system('make clean')
> +        utils.system('make')
> +
> +
> +    def run_once(self, testdir=None, args='', cthon_iterations=1):
> +        """
> +        Runs the test, with the appropriate control file.
> +        """
> +        os.chdir(self.srcdir)
> +
> +        if testdir is None:
> +            testdir = self.tmpdir
> +
> +        self.results_path = os.path.join(self.resultsdir,
> +                                         'raw_output_%s' % self.iteration)
> +
> +        try:
> +            if not args:
> +                # run basic test
> +                args = "-b -t"
> +
> +            self.results = utils.system_output('./runtests -N %s %s %s' %
> +                                              (cthon_iterations, args, 
> testdir))
> +            utils.open_write_close(self.results_path, self.results)
> +
> +        except error.CmdError, e:
> +            self.nfail += 1
> +            logging.error("Test failed: %s", e)
> +
> +
> +    def postprocess(self):
> +        """
> +        Raises on failure.
> +        """
> +        if self.nfail != 0:
> +            raise error.TestFail('Connectathon test suite failed.')
> diff --git a/client/tests/connectathon/control 
> b/client/tests/connectathon/control
> new file mode 100644
> index 0000000..92fa518
> --- /dev/null
> +++ b/client/tests/connectathon/control
> @@ -0,0 +1,31 @@
> +AUTHOR = "Poornima Nayak<[email protected]>"
> +NAME = "connectathon"
> +TEST_CATEGORY = "NFS FVT"
> +TEST_CLASS = "General"
> +TEST_TYPE = "client"
> +TIME = 'MEDIUM'
> +DOC = '''
> +Test for testing nfs mounted paths.
> +
> +More information about connecthon can be found at
> +http://www.connectathon.org/nfstests.html
> +'''
> +
> +import datetime, os
> +now = datetime.datetime.now()
> +#iter_range = [10, 100, 1000, 10000]
> +#tests = ['-b -t', '-g -t', '-g -f', '-s -t', '-s -f', '-l -f', '-l -t']
> +iter_range = [1]
> +tests = ['-s -t']
> +tag_ver = 0
> +for test in tests:
> +    for j in iter_range:
> +        # On this example, /mnt/test is an NFS mounted location previously 
> set
> +        dir = os.path.join('/mnt', 'test', now.strftime("%Y-%m-%d%H:%M"))
> +        if not os.path.isdir(dir):
> +            os.makedirs(dir)
> +        job.run_test(url='connectathon', testdir=dir, args=test,
> +                     cthon_iterations=j,
> +                     tag=("itera-%s-test-%s" % (j, tag_ver)))
> +        tag_ver = tag_ver + 1
> +

_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to