Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
circuitpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
xpstem
circuitpython
Commits
d2276201
Commit
d2276201
authored
Dec 12, 2016
by
Rami Ali
Committed by
Damien George
Dec 12, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tests/extmod: Improve moductypes test coverage.
parent
a3c61004
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
126 additions
and
1 deletion
+126
-1
tests/extmod/uctypes_array_assign_native_le.py
tests/extmod/uctypes_array_assign_native_le.py
+50
-1
tests/extmod/uctypes_array_assign_native_le.py.exp
tests/extmod/uctypes_array_assign_native_le.py.exp
+8
-0
tests/extmod/uctypes_le.py
tests/extmod/uctypes_le.py
+19
-0
tests/extmod/uctypes_le.py.exp
tests/extmod/uctypes_le.py.exp
+2
-0
tests/extmod/uctypes_native_le.py
tests/extmod/uctypes_native_le.py
+19
-0
tests/extmod/uctypes_native_le.py.exp
tests/extmod/uctypes_native_le.py.exp
+2
-0
tests/extmod/uctypes_print.py
tests/extmod/uctypes_print.py
+22
-0
tests/extmod/uctypes_print.py.exp
tests/extmod/uctypes_print.py.exp
+4
-0
No files found.
tests/extmod/uctypes_array_assign_native_le.py
View file @
d2276201
...
...
@@ -15,9 +15,16 @@ desc = {
# aligned
"arr5"
:
(
uctypes
.
ARRAY
|
0
,
uctypes
.
UINT32
|
1
),
"arr7"
:
(
uctypes
.
ARRAY
|
0
,
1
,
{
"l"
:
uctypes
.
UINT32
|
0
}),
"arr8"
:
(
uctypes
.
ARRAY
|
0
,
uctypes
.
INT8
|
1
),
"arr9"
:
(
uctypes
.
ARRAY
|
0
,
uctypes
.
INT16
|
1
),
"arr10"
:
(
uctypes
.
ARRAY
|
0
,
uctypes
.
INT32
|
1
),
"arr11"
:
(
uctypes
.
ARRAY
|
0
,
uctypes
.
INT64
|
1
),
"arr12"
:
(
uctypes
.
ARRAY
|
0
,
uctypes
.
UINT64
|
1
),
"arr13"
:
(
uctypes
.
ARRAY
|
1
,
1
,
{
"l"
:
{}}),
}
data
=
bytearray
(
5
)
data
=
bytearray
(
8
)
S
=
uctypes
.
struct
(
uctypes
.
addressof
(
data
),
desc
)
...
...
@@ -44,3 +51,45 @@ assert hex(S.arr5[0]) == "0x66778899"
print
(
S
.
arr5
[
0
]
==
S
.
arr7
[
0
].
l
)
assert
S
.
arr5
[
0
]
==
S
.
arr7
[
0
].
l
# assign int8
S
.
arr8
[
0
]
=
0x11
print
(
hex
(
S
.
arr8
[
0
]))
assert
hex
(
S
.
arr8
[
0
])
==
"0x11"
# assign int16
S
.
arr9
[
0
]
=
0x1122
print
(
hex
(
S
.
arr9
[
0
]))
assert
hex
(
S
.
arr9
[
0
])
==
"0x1122"
# assign int32
S
.
arr10
[
0
]
=
0x11223344
print
(
hex
(
S
.
arr10
[
0
]))
assert
hex
(
S
.
arr10
[
0
])
==
"0x11223344"
# assign int64
S
.
arr11
[
0
]
=
0x11223344
print
(
hex
(
S
.
arr11
[
0
]))
assert
hex
(
S
.
arr11
[
0
])
==
"0x11223344"
# assign uint64
S
.
arr12
[
0
]
=
0x11223344
print
(
hex
(
S
.
arr12
[
0
]))
assert
hex
(
S
.
arr12
[
0
])
==
"0x11223344"
# index out of range
try
:
print
(
S
.
arr8
[
2
])
except
IndexError
:
print
(
"IndexError"
)
# syntax error in descriptor
try
:
S
.
arr13
[
0
].
l
=
0x11
except
TypeError
:
print
(
"TypeError"
)
# operation not supported
try
:
S
.
arr13
[
0
]
=
0x11
except
TypeError
:
print
(
"TypeError"
)
tests/extmod/uctypes_array_assign_native_le.py.exp
View file @
d2276201
...
...
@@ -3,3 +3,11 @@
0x4455
0x66778899
True
0x11
0x1122
0x11223344
0x11223344
0x11223344
IndexError
TypeError
TypeError
tests/extmod/uctypes_le.py
View file @
d2276201
...
...
@@ -66,3 +66,22 @@ assert bytes(data) == b"21"
S
.
bf3
=
5
print
(
data
)
assert
bytes
(
data
)
==
b"2Q"
desc2
=
{
"bf8"
:
uctypes
.
BFUINT8
|
0
|
0
<<
uctypes
.
BF_POS
|
4
<<
uctypes
.
BF_LEN
,
"bf32"
:
uctypes
.
BFUINT32
|
0
|
20
<<
uctypes
.
BF_POS
|
4
<<
uctypes
.
BF_LEN
}
data2
=
bytearray
(
b"0123"
)
S2
=
uctypes
.
struct
(
uctypes
.
addressof
(
data2
),
desc2
,
uctypes
.
LITTLE_ENDIAN
)
# bitfield using uint8 as base type
S2
.
bf8
=
5
print
(
data2
)
assert
bytes
(
data2
)
==
b"5123"
# bitfield using uint32 as base type
S2
.
bf32
=
5
print
(
data2
)
assert
bytes
(
data2
)
==
b"51R3"
tests/extmod/uctypes_le.py.exp
View file @
d2276201
...
...
@@ -8,3 +8,5 @@ bf: 48 49
bf 4bit: 3 1 3 0
bytearray(b'21')
bytearray(b'2Q')
bytearray(b'5123')
bytearray(b'51R3')
tests/extmod/uctypes_native_le.py
View file @
d2276201
...
...
@@ -74,3 +74,22 @@ assert bytes(data) == b"21"
S
.
bf3
=
5
print
(
data
)
assert
bytes
(
data
)
==
b"2Q"
desc2
=
{
"bf8"
:
uctypes
.
BFUINT8
|
0
|
0
<<
uctypes
.
BF_POS
|
4
<<
uctypes
.
BF_LEN
,
"bf32"
:
uctypes
.
BFUINT32
|
0
|
20
<<
uctypes
.
BF_POS
|
4
<<
uctypes
.
BF_LEN
}
data2
=
bytearray
(
b"0123"
)
S2
=
uctypes
.
struct
(
uctypes
.
addressof
(
data2
),
desc2
,
uctypes
.
NATIVE
)
# bitfield using uint8 as base type
S2
.
bf8
=
5
print
(
data2
)
assert
bytes
(
data2
)
==
b"5123"
# bitfield using uint32 as base type
S2
.
bf32
=
5
print
(
data2
)
assert
bytes
(
data2
)
==
b"51R3"
tests/extmod/uctypes_native_le.py.exp
View file @
d2276201
...
...
@@ -8,3 +8,5 @@ bf: 48 49
bf 4bit: 3 1 3 0
bytearray(b'21')
bytearray(b'2Q')
bytearray(b'5123')
bytearray(b'51R3')
tests/extmod/uctypes_print.py
0 → 100644
View file @
d2276201
# test printing of uctypes objects
import
uctypes
# we use an address of "0" because we just want to print something deterministic
# and don't actually need to set/get any values in the struct
desc
=
{
"arr"
:
(
uctypes
.
ARRAY
|
0
,
uctypes
.
UINT8
|
1
)}
S
=
uctypes
.
struct
(
0
,
desc
)
print
(
S
)
desc2
=
[(
uctypes
.
ARRAY
|
0
,
uctypes
.
UINT8
|
1
)]
S2
=
uctypes
.
struct
(
0
,
desc2
)
print
(
S2
)
desc3
=
((
uctypes
.
ARRAY
|
0
,
uctypes
.
UINT8
|
1
))
S3
=
uctypes
.
struct
(
0
,
desc3
)
print
(
S3
)
desc4
=
((
uctypes
.
PTR
|
0
,
uctypes
.
UINT8
|
1
))
S4
=
uctypes
.
struct
(
0
,
desc4
)
print
(
S4
)
tests/extmod/uctypes_print.py.exp
0 → 100644
View file @
d2276201
<struct STRUCT 0>
<struct ERROR 0>
<struct ARRAY 0>
<struct PTR 0>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment