示例#1
0
    def run(self, result):
        import simplejson

        simplejson._toggle_speedups(False)
        result = unittest.TestSuite.run(self, result)
        simplejson._toggle_speedups(True)
        return result
示例#2
0
    def __init__(self, **kwargs):
        # in simplejson, without turning off speedups some strings can
        # be bytestrings instead of unicode
        # https://code.google.com/p/simplejson/issues/detail?id=40
        json._toggle_speedups(False)

        json.JSONDecoder.__init__(self, object_hook=_from_json, **kwargs)
示例#3
0
    def __init__(self, **kwargs):
        # in simplejson, without turning off speedups some strings can
        # be bytestrings instead of unicode
        # https://code.google.com/p/simplejson/issues/detail?id=40
        json._toggle_speedups(False)

        json.JSONDecoder.__init__(self, object_hook=_from_json, **kwargs)
示例#4
0
文件: __init__.py 项目: 20after4/Yaki
 def run(self, result):
     import simplejson
     run = unittest.TestSuite.run
     run(self, result)
     simplejson._toggle_speedups(False)
     run(self, result)
     simplejson._toggle_speedups(True)
     return result
示例#5
0
 def run(self, result):
     import simplejson
     run = unittest.TestSuite.run
     run(self, result)
     if simplejson._import_c_make_encoder() is None:
         TestMissingSpeedups().run(result)
     else:
         simplejson._toggle_speedups(False)
         run(self, result)
         simplejson._toggle_speedups(True)
     return result
示例#6
0
文件: __init__.py 项目: nhs-t10/Doccy
 def run(self, result):
     import simplejson
     run = unittest.TestSuite.run
     run(self, result)
     if simplejson._import_c_make_encoder() is None:
         TestMissingSpeedups().run(result)
     else:
         simplejson._toggle_speedups(False)
         run(self, result)
         simplejson._toggle_speedups(True)
     return result
示例#7
0
	def tearDown(self):
		if self.disableSpeedups:
			simplejson._toggle_speedups(True)
示例#8
0
	def setUp(self):
		if self.disableSpeedups:
			simplejson._toggle_speedups(False)
			assert isinstance(simplejson.loads('"x"'), unicode)
def make_benchmark(name, count):
    data = load_case(name)

    src = simpleubjson.encode(data, spec='draft-8')
    total = run_test(simpleubjson.decode, count, src, spec='draft-8')
    print(
        format_results('simpleubjson', simpleubjson.__version__,
                       'Decoded Draft-8', total, count))

    total = run_test(simpleubjson.encode, count, data, spec='draft-8')
    print(
        format_results('simpleubjson', simpleubjson.__version__,
                       'Encoded Draft-8', total, count))

    print

    src = simpleubjson.encode(data, spec='draft-9')

    # func = lambda *a, **k: list(simpleubjson.decode(*a, **k))
    def func(*a, **k):
        return list(simpleubjson.decode(*a, **k))

    total = run_test(func, count, src, spec='draft-9')
    print(
        format_results('simpleubjson', simpleubjson.__version__,
                       'Decoded Draft-9', total, count))

    total = run_test(simpleubjson.encode, count, data, spec='draft-9')
    print(
        format_results('simpleubjson', simpleubjson.__version__,
                       'Encoded Draft-9', total, count))

    if json:

        print

        total = run_test(json.loads, count, json.dumps(data))
        print(
            format_results('json_stdlib', json.__version__, 'Decoded', total,
                           count))

        total = run_test(json.dumps, count, data)
        print(
            format_results('json_stdlib', json.__version__, 'Encoded', total,
                           count))

    if simplejson:

        print

        simplejson._toggle_speedups(True)
        total = run_test(simplejson.loads, count, simplejson.dumps(data))
        print(
            format_results('simplejson_c', simplejson.__version__, 'Decoded',
                           total, count))

        simplejson._toggle_speedups(True)
        total = run_test(simplejson.dumps, count, data)
        print(
            format_results('simplejson_c', simplejson.__version__, 'Encoded',
                           total, count))

        print

        simplejson._toggle_speedups(False)
        total = run_test(simplejson.loads, count, simplejson.dumps(data))
        print(
            format_results('simplejson_py', simplejson.__version__, 'Decoded',
                           total, count))

        simplejson._toggle_speedups(False)
        total = run_test(simplejson.dumps, count, data)
        print(
            format_results('simplejson_py', simplejson.__version__, 'Encoded',
                           total, count))

    if ujson:

        print

        total = run_test(ujson.decode, count, ujson.encode(data))
        print(
            format_results('ujson', ujson.__version__, 'Decoded', total,
                           count))

        total = run_test(ujson.encode, count, data)
        print(
            format_results('ujson', ujson.__version__, 'Encoded', total,
                           count))

    if erlport:

        print

        total = run_test(erlport.decode, count, erlport.encode(data))
        print(
            format_results('erlport', erlport.__version__, 'Decoded', total,
                           count))

        total = run_test(erlport.encode, count, data)
        print(
            format_results('erlport', erlport.__version__, 'Encoded', total,
                           count))

    print

    total = run_test(pickle.loads, count, pickle.dumps(data))
    print(format_results('pickle', pickle.__version__, 'Decoded', total,
                         count))

    total = run_test(pickle.dumps, count, data)
    print(format_results('pickle', pickle.__version__, 'Encoded', total,
                         count))
def make_benchmark(name, count):
    data = load_case(name)

    src = simpleubjson.encode(data, spec='draft-8')
    total = run_test(simpleubjson.decode, count, src, spec='draft-8')
    print(format_results('simpleubjson',  simpleubjson.__version__,
                         'Decoded Draft-8', total, count))

    total = run_test(simpleubjson.encode, count, data, spec='draft-8')
    print(format_results('simpleubjson',  simpleubjson.__version__,
                         'Encoded Draft-8', total, count))

    print

    src = simpleubjson.encode(data, spec='draft-9')

    # func = lambda *a, **k: list(simpleubjson.decode(*a, **k))
    def func(*a, **k): return list(simpleubjson.decode(*a, **k))
    total = run_test(func, count, src, spec='draft-9')
    print(format_results('simpleubjson',  simpleubjson.__version__,
                         'Decoded Draft-9', total, count))

    total = run_test(simpleubjson.encode, count, data, spec='draft-9')
    print(format_results('simpleubjson',  simpleubjson.__version__,
                         'Encoded Draft-9', total, count))

    if json:

        print

        total = run_test(json.loads, count, json.dumps(data))
        print(format_results('json_stdlib', json.__version__,
                             'Decoded', total, count))

        total = run_test(json.dumps, count, data)
        print(format_results('json_stdlib', json.__version__,
                             'Encoded', total, count))

    if simplejson:

        print

        simplejson._toggle_speedups(True)
        total = run_test(simplejson.loads, count, simplejson.dumps(data))
        print(format_results('simplejson_c', simplejson.__version__,
                             'Decoded', total, count))

        simplejson._toggle_speedups(True)
        total = run_test(simplejson.dumps, count, data)
        print(format_results('simplejson_c', simplejson.__version__,
                             'Encoded', total, count))

        print

        simplejson._toggle_speedups(False)
        total = run_test(simplejson.loads, count, simplejson.dumps(data))
        print(format_results('simplejson_py', simplejson.__version__,
                             'Decoded', total, count))

        simplejson._toggle_speedups(False)
        total = run_test(simplejson.dumps, count, data)
        print(format_results('simplejson_py', simplejson.__version__,
                             'Encoded', total, count))

    if ujson:

        print

        total = run_test(ujson.decode, count, ujson.encode(data))
        print(format_results('ujson', ujson.__version__,
                             'Decoded', total, count))

        total = run_test(ujson.encode, count, data)
        print(format_results('ujson', ujson.__version__,
                             'Encoded', total, count))

    if erlport:

        print

        total = run_test(erlport.decode, count, erlport.encode(data))
        print(format_results('erlport', erlport.__version__,
                             'Decoded', total, count))

        total = run_test(erlport.encode, count, data)
        print(format_results('erlport', erlport.__version__,
                             'Encoded', total, count))

    print

    total = run_test(pickle.loads, count, pickle.dumps(data))
    print(format_results('pickle', pickle.__version__,
                         'Decoded', total, count))

    total = run_test(pickle.dumps, count, data)
    print(format_results('pickle', pickle.__version__,
                         'Encoded', total, count))
示例#11
0
 def tearDown(self):
     if json.encoder.c_make_encoder:
         json._toggle_speedups(True)
示例#12
0
 def setUp(self):
     if json.encoder.c_make_encoder:
         json._toggle_speedups(False)
示例#13
0
from cpytraceafl.rewriter import install_rewriter

install_rewriter(selector=lambda code: "simplejson" in code.co_filename)

import simplejson

# we want to fuzz the python implementation, not the c extension
simplejson._toggle_speedups(False)
# initial call to set up any internal caches or imports before the fork
simplejson.loads('{"foo": "bar", "baz": ["qux", 123, false]}')

import sys
from cpytraceafl import fuzz_from_here

fuzz_from_here()

with open(sys.argv[1], "rb") as f:
    try:
        simplejson.loads(f.read())
    except simplejson.JSONDecodeError:
        pass