Code Search for Developers
 
 
  

test_builder.py from p4shelf at Krugle


Show test_builder.py syntax highlighted

#####################################################################################
#
#  Copyright (c) Microsoft Corporation. All rights reserved.
#
#  This source code is subject to terms and conditions of the Shared Source License
#  for IronPython. A copy of the license can be found in the License.html file
#  at the root of this distribution. If you can not locate the Shared Source License
#  for IronPython, please send an email to ironpy@microsoft.com.
#  By using this source code in any fashion, you are agreeing to be bound by
#  the terms of the Shared Source License for IronPython.
#
#  You must not remove this notice, or any other, from this software.
#
######################################################################################

pats = [0L, 1L, 42L, 0x7fffffffL, 0x80000000L, 0xabcdef01L, 0xffffffffL]
nums = []
for p0 in pats:
    for p1 in pats:
        #for p2 in pats:
            n = p0+(p1<<32) #+(p2<<64)
            nums.append(n)
            nums.append(-n)

bignums = []
for p0 in pats:
    for p1 in pats:
        for p2 in pats:
            n = p0+(p1<<32)+(p2<<64)
            bignums.append(n)
            bignums.append(-n)
#!!! should add 2 or 3 larger numbers to check for any issues there
print len(bignums), len(bignums)**2



import operator, time
ops = [
    ('+', operator.add),
    ('-', operator.sub),
    ('*', operator.mul),
    ('/', operator.div),
    ('%', operator.mod),
    ('&', operator.and_),
    ('|', operator.or_),
    ('^', operator.xor),
]

def buildit(name, nums):
    print 'expected', (len(nums)**2)*len(ops)
    t0 = time.clock()

    for sym, op in ops:
        if not name.startswith('time'):
            fp = open('%s_%s.txt' % (name, op.__name__), 'w')
        else:
            fp = None
        print 'computing', sym
        for x in nums:
            for y in nums:
                try:
                    z = op(x, y)
                    if name == 'time1' or fp:
                        sz = str(z)
                    if fp:
                        fp.write(sz)
                        fp.write('\r\n')
                except:
                    if fp:
                        fp.write('ERROR\r\n')
        if fp: fp.close()
    t1 = time.clock()
    print 'time', (t1-t0)

buildit('time1', bignums)
buildit('short', nums)
buildit('full', bignums)




See more files for this project here

p4shelf

A feature in Visual Studio Team Studio that was immediately appealing to me was shelving. The goal of this tool is replicate that general functionality in Perforce.

Project homepage: http://code.google.com/p/p4shelf/
Programming language(s): C#,C++,Python
License: gpl2

  Tests/
    Imp/
      pkg_a/
        pkg_b/
          pkg_c/
            pkg_d/
      pkg_m/
      pkg_q/
        pkg_r/
          pkg_s/
    Inc/
    Inputs/
    StandAlone/
      ModPath/
    Util/
    compat/
  Wix/
    Core.wxs
    Doc.wxs
    IronPython.wxs
    Src.wxs
    build.bat
  CompareDirs.py
  clean.py
  copyrights.py
  generate.py
  generate_alltypes.py
  generate_binops.py
  generate_calls.py
  generate_convert.py
  generate_environment.py
  generate_exceptions.py
  generate_indicetest.py
  generate_math.py
  generate_ops.py
  generate_symboltable.py
  generate_typecache.py
  generate_walker.py
  make_meta1.py
  radix_generator.py
  test_builder.py
  test_cgcheck.py
  test_parrot.py
  test_pystone.py