From 96e20c600f6498c403445956077f85dd2fb548aa Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 23 Sep 2014 12:09:26 +0000 Subject: [PATCH] tests: Fix uctypes tests to run on 64bit arch; enable more native tests. --- tests/basics/bytes.py | 5 ----- tests/basics/bytes_gen.py | 5 +++++ tests/extmod/uctypes_ptr_le.py | 2 +- tests/extmod/uctypes_ptr_native_le.py | 2 +- tests/run-tests | 6 ++---- 5 files changed, 9 insertions(+), 11 deletions(-) create mode 100644 tests/basics/bytes_gen.py diff --git a/tests/basics/bytes.py b/tests/basics/bytes.py index ce027e7d19..8f29175506 100644 --- a/tests/basics/bytes.py +++ b/tests/basics/bytes.py @@ -33,11 +33,6 @@ print(bytes(3)) print(bytes([3, 2, 1])) print(bytes(range(5))) -def gen(): - for i in range(4): - yield i -print(bytes(gen())) - # Make sure bytes are not mistreated as unicode x = b"\xff\x8e\xfe}\xfd\x7f" print(len(x)) diff --git a/tests/basics/bytes_gen.py b/tests/basics/bytes_gen.py new file mode 100644 index 0000000000..12031ef729 --- /dev/null +++ b/tests/basics/bytes_gen.py @@ -0,0 +1,5 @@ +# construct a bytes object from a generator +def gen(): + for i in range(4): + yield i +print(bytes(gen())) diff --git a/tests/extmod/uctypes_ptr_le.py b/tests/extmod/uctypes_ptr_le.py index ef9890c3f1..4125dd86ff 100644 --- a/tests/extmod/uctypes_ptr_le.py +++ b/tests/extmod/uctypes_ptr_le.py @@ -9,7 +9,7 @@ desc = { bytes = b"01" addr = uctypes.addressof(bytes) -buf = addr.to_bytes(4) +buf = addr.to_bytes(uctypes.sizeof(desc)) S = uctypes.struct(desc, uctypes.addressof(buf), uctypes.LITTLE_ENDIAN) diff --git a/tests/extmod/uctypes_ptr_native_le.py b/tests/extmod/uctypes_ptr_native_le.py index 139ed3280c..ba06b26505 100644 --- a/tests/extmod/uctypes_ptr_native_le.py +++ b/tests/extmod/uctypes_ptr_native_le.py @@ -15,7 +15,7 @@ desc = { bytes = b"01" addr = uctypes.addressof(bytes) -buf = addr.to_bytes(4) +buf = addr.to_bytes(uctypes.sizeof(desc)) S = uctypes.struct(desc, uctypes.addressof(buf), uctypes.NATIVE) diff --git a/tests/run-tests b/tests/run-tests index a96f3773e4..ff2c418eaf 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -40,19 +40,17 @@ def run_tests(pyb, tests, args): # Some tests are known to fail on 64-bit machines if pyb is None and platform.architecture()[0] == '64bit': - skip_tests.add('extmod/uctypes_ptr_le.py') - skip_tests.add('extmod/uctypes_ptr_native_le.py') + pass # Some tests are known to fail with native emitter # Remove them from the below when they work if args.emit == 'native': - skip_tests.update({'basics/%s.py' % t for t in 'bytes class_store_class class_super class_super_object closure1 closure2 closure_defargs compare_multi containment del_deref del_local del_name fun3 fun_calldblstar fun_callstar fun_callstardblstar fun_defargs fun_defargs2 fun_kwargs fun_kwonly fun_kwonlydef fun_kwvarargs fun_varargs gen_yield_from gen_yield_from_close gen_yield_from_ducktype gen_yield_from_exc gen_yield_from_iter gen_yield_from_send gen_yield_from_throw generator1 generator2 generator_args generator_close generator_closure generator_exc generator_return generator_send globals_del is_isnot string_format string_join subclass_native2_list subclass_native2_tuple subclass_native3 try2 try_as_var try_finally1 try_finally_loops try_finally_return try_reraise try_reraise2 unary_op unboundlocal with1 with_break with_continue with_return'.split()}) + skip_tests.update({'basics/%s.py' % t for t in 'bytes_gen class_store_class class_super class_super_object closure1 closure2 closure_defargs compare_multi containment del_deref del_local fun3 fun_calldblstar fun_callstar fun_callstardblstar fun_defargs fun_defargs2 fun_kwargs fun_kwonly fun_kwonlydef fun_kwvarargs fun_varargs gen_yield_from gen_yield_from_close gen_yield_from_ducktype gen_yield_from_exc gen_yield_from_iter gen_yield_from_send gen_yield_from_throw generator1 generator2 generator_args generator_close generator_closure generator_exc generator_return generator_send globals_del is_isnot string_format string_join subclass_native2_list subclass_native2_tuple try2 try_finally1 try_finally_loops try_finally_return try_reraise try_reraise2 unary_op unboundlocal with1 with_break with_continue with_return'.split()}) skip_tests.add('float/string_format.py') skip_tests.add('import/gen_context.py') skip_tests.add('import/import_pkg1.py') skip_tests.add('io/file_with.py') skip_tests.add('micropython/heapalloc.py') - skip_tests.add('micropython/viper.py') skip_tests.add('misc/features.py') skip_tests.add('misc/recursion.py') skip_tests.add('misc/rge_sm.py')