xtreemfs/tests/test_scripts/09_fsx.py
2020-09-22 02:25:22 +02:00

49 lines
1.7 KiB
Python
Executable File

#! /usr/bin/python
# -*- coding: utf-8 -*-
# Copyright (c) 2009-2011 by Bjoern Kolbeck, Minor Gordon, Zuse Institute Berlin
# Licensed under the BSD License, see LICENSE file for details.
import distutils.ccompiler
import os.path
import unittest, subprocess, sys, os
MY_DIR_PATH = os.path.dirname( os.path.abspath( sys.modules[__name__].__file__ ) )
class fsxTest(unittest.TestCase):
def __init__( self, direct_io=True, stdout=sys.stdout, stderr=sys.stderr, *args, **kwds ):
unittest.TestCase.__init__( self )
self.direct_io = direct_io
self.stdout = stdout
self.stderr = stderr
def runTest( self ):
if os.path.exists(MY_DIR_PATH+"/../utils/fsx.bin") == False:
compiler = distutils.ccompiler.new_compiler()
cwd = os.getcwd()
os.chdir(MY_DIR_PATH+"/../utils")
compiler.compile(["ltp-fsx.c"])
compiler.link_executable(["ltp-fsx.o"],"fsx.bin")
os.chdir(cwd)
args = MY_DIR_PATH+"/../utils/fsx.bin -R -W -N 100000 ./fsx.tmpfile" # -s 100"
p = subprocess.Popen( args, shell=True, stdout=self.stdout, stderr=self.stderr )
retcode = p.wait()
self.assertEqual( retcode, 0 )
def createTestSuite( *args, **kwds ):
if not sys.platform.startswith( "win" ):
return unittest.TestSuite( [fsxTest( *args, **kwds )] )
if __name__ == "__main__":
if not sys.platform.startswith( "win" ):
result = unittest.TextTestRunner( verbosity=2 ).run( createTestSuite() )
if not result.wasSuccessful():
sys.exit(1)
else:
print sys.modules[__name__].__file__.split( os.sep )[-1], "not supported on Windows"