diff options
author | klarlund <klarlund@01de4be4-8c4a-0410-9132-4925637da917> | 2008-05-01 00:58:46 +0000 |
---|---|---|
committer | klarlund <klarlund@01de4be4-8c4a-0410-9132-4925637da917> | 2008-05-01 00:58:46 +0000 |
commit | 74242695c1c7b01b114c83425017f5a201427c58 (patch) | |
tree | b36fb9ff4a51e0ea6c9765f48f56b8283643b1f3 /include_server | |
parent | 6aa1324f6855ca5bfcce690081f188cdcddff3c5 (diff) | |
download | distcc-74242695c1c7b01b114c83425017f5a201427c58.tar.gz |
Clean up Python code.
-- Do TODOs.
-- Heed most pylint warnings.
git-svn-id: http://distcc.googlecode.com/svn/trunk@86 01de4be4-8c4a-0410-9132-4925637da917
Diffstat (limited to 'include_server')
-rwxr-xr-x | include_server/c_extensions_test.py | 139 |
1 files changed, 67 insertions, 72 deletions
diff --git a/include_server/c_extensions_test.py b/include_server/c_extensions_test.py index 7c8abad..6d4b5e7 100755 --- a/include_server/c_extensions_test.py +++ b/include_server/c_extensions_test.py @@ -17,129 +17,124 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # -"""Tests for distcc_pump_c_extensions. Writes out doc strings and calls some -distcc rpc functions. Also, the program times the speed-up of using the libc -versions of os.path.realpath and os.path.exists provided by -distcc_pump_c_extensions.""" +"""Tests for distcc_pump_c_extensions. -__author__ = "opensource@google.com" +Writes out doc strings and calls some distcc rpc functions. Also, the program +times the speed-up of using the libc versions of os.path.realpath and +os.path.exists provided by distcc_pump_c_extensions. +""" + +__author__ = 'opensource@google.com' -import sys import os.path -import time -import traceback -import struct import random +import sys +import time import distcc_pump_c_extensions -def main(): - - # Module tempfile doesn't work with distcc. Work-around follows. - random_testdir = ("/tmp/distcc-pump-c-extensions-test-" - + str(random.random() * time.time())) - # TODO(klarlund): this might be better stated as: - # "/tmp/distcc-pump-c-extensions-test-%s.%s" % (os.getuid(), random.random())) - try: - if os.path.exists(random_testdir): - os.removedirs(random_testdir) - os.mkdir(random_testdir, 0700) - except (IOError, OSError), why: - sys.exit("Unable to create test dir %s: %s." % (random_testdir, why)) - random_filename = os.path.join(random_testdir, 'test') - assert not os.path.exists(random_filename), random_filename +def RunTest(random_filename): def _MakeTempFile(mode): return open(random_filename, mode) # Exercise metainformation and documentation strings - assert(distcc_pump_c_extensions.__file__) - assert(distcc_pump_c_extensions.__doc__) - assert(distcc_pump_c_extensions.__author__) - assert(distcc_pump_c_extensions.RTokenString.__doc__) - assert(distcc_pump_c_extensions.RArgv.__doc__) - assert(distcc_pump_c_extensions.XArgv.__doc__) - assert(distcc_pump_c_extensions.OsPathExists.__doc__) - assert(distcc_pump_c_extensions.OsPathIsFile.__doc__) - assert(distcc_pump_c_extensions.Realpath.__doc__) - + assert distcc_pump_c_extensions.__file__ + assert distcc_pump_c_extensions.__doc__ + assert distcc_pump_c_extensions.__author__ + assert distcc_pump_c_extensions.RTokenString.__doc__ + assert distcc_pump_c_extensions.RArgv.__doc__ + assert distcc_pump_c_extensions.XArgv.__doc__ + assert distcc_pump_c_extensions.OsPathExists.__doc__ + assert distcc_pump_c_extensions.OsPathIsFile.__doc__ + assert distcc_pump_c_extensions.Realpath.__doc__ # RTokenString and RArgv - + # Pack something and try sending it - pack = struct.pack fd = _MakeTempFile('wb') - fd.write("ARGC 2") - fd.write("ARGV 6") - fd.write("tomato") - fd.write("ARGV 7") - fd.write("potatos") + fd.write('ARGC 2') + fd.write('ARGV 6') + fd.write('tomato') + fd.write('ARGV 7') + fd.write('potatos') fd.close() # Now try to read it back with wrong expectations. fd = _MakeTempFile('rb') try: - two_string = distcc_pump_c_extensions.RTokenString(fd.fileno(), "XXXX"); - sys.exit("internal error 1 - we should not get to here") + two_string = distcc_pump_c_extensions.RTokenString(fd.fileno(), 'XXXX') + sys.exit('internal error 1 - we should not get to here') except distcc_pump_c_extensions.Error: pass # Read it back with appropriate expectations. - fd.seek(0); + fd.seek(0) - two_string = distcc_pump_c_extensions.RTokenString(fd.fileno(), "ARGC"); - if two_string != "AR": - raise distcc_pump_c_extensions.error, "internal error 2" + two_string = distcc_pump_c_extensions.RTokenString(fd.fileno(), 'ARGC') + if two_string != 'AR': + raise distcc_pump_c_extensions.error('internal error 2') - fd.seek(0); + fd.seek(0) args = distcc_pump_c_extensions.RArgv(fd.fileno()) - if args != ["tomato", "potatos"]: - raise distcc_pump_c_extensions.error, "internal error 3" + if args != ['tomato', 'potatos']: + raise distcc_pump_c_extensions.error('internal error 3') fd.close() # XArgv and RArgv fd = _MakeTempFile('wb') - darth_vader_barney = ["Darth Vader", "Barney"] + darth_vader_barney = ['Darth Vader', 'Barney'] args = distcc_pump_c_extensions.XArgv(fd.fileno(), darth_vader_barney) fd.close() fd = _MakeTempFile('r') args = distcc_pump_c_extensions.RArgv(fd.fileno()) if args != darth_vader_barney: - raise distcc_pump_c_extensions.error, "internal error 4" + raise distcc_pump_c_extensions.error('internal error 4') fd.close() # Libc functions --- also print out how fast they are compared to # Python built-ins. t = time.time() - f = "/" - for i in range(10000): - distcc_pump_c_extensions.OsPathExists(f); + f = '/' + for unused_i in range(10000): + distcc_pump_c_extensions.OsPathExists(f) print 'Stat', time.time() - t t = time.time() - for i in range(10000): - os.path.exists(f); + for unused_i in range(10000): + os.path.exists(f) print 'os.path.exists', time.time() - t - for i in range(10000): - distcc_pump_c_extensions.Realpath(f); + for unused_i in range(10000): + distcc_pump_c_extensions.Realpath(f) print 'c_realpath', time.time() - t t = time.time() - for i in range(10000): - os.path.realpath(f); + for unused_i in range(10000): + os.path.realpath(f) print 'os.path.realpath', time.time() - t + print 'c_extenstions_test passed' - # TODO(klarlund): this belongs in a try-finally construct. - os.unlink(random_filename) - os.removedirs(random_testdir) - print "Test passed" +def main(): + # Module tempfile doesn't work with distcc. Work-around follows. + random_testdir = ('/tmp/distcc-pump-c-extensions-test-%s.%s' + % (os.getuid(), random.random() * time.time())) + try: + if os.path.exists(random_testdir): + os.removedirs(random_testdir) + os.mkdir(random_testdir, 0700) + except (IOError, OSError), why: + sys.exit('Unable to create test dir %s: %s.' % (random_testdir, why)) + random_filename = os.path.join(random_testdir, 'test') + assert not os.path.exists(random_filename), random_filename + + try: + RunTest(random_filename) + finally: + if os.path.exists(random_filename): + os.unlink(random_filename) + if os.path.exists(random_testdir): + os.removedirs(random_testdir) -# TODO(klarlund): Blind exception handlers are not in style. Just remove this -# try-except clause. -try: - main() -except: - traceback.print_exc() - sys.exit("c_extensions_test.py failed.") +main() |