summaryrefslogtreecommitdiff
path: root/include_server
diff options
context:
space:
mode:
authorklarlund <klarlund@01de4be4-8c4a-0410-9132-4925637da917>2008-05-01 00:58:46 +0000
committerklarlund <klarlund@01de4be4-8c4a-0410-9132-4925637da917>2008-05-01 00:58:46 +0000
commit74242695c1c7b01b114c83425017f5a201427c58 (patch)
treeb36fb9ff4a51e0ea6c9765f48f56b8283643b1f3 /include_server
parent6aa1324f6855ca5bfcce690081f188cdcddff3c5 (diff)
downloaddistcc-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-xinclude_server/c_extensions_test.py139
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()