2015-03-02 18:30:17 +00:00
|
|
|
# basic tests for gc module
|
|
|
|
|
|
|
|
try:
|
|
|
|
import gc
|
|
|
|
except ImportError:
|
|
|
|
print("SKIP")
|
2017-06-10 18:03:01 +01:00
|
|
|
raise SystemExit
|
2015-03-02 18:30:17 +00:00
|
|
|
|
|
|
|
print(gc.isenabled())
|
|
|
|
gc.disable()
|
|
|
|
print(gc.isenabled())
|
|
|
|
gc.enable()
|
|
|
|
print(gc.isenabled())
|
|
|
|
|
|
|
|
gc.collect()
|
|
|
|
|
|
|
|
if hasattr(gc, 'mem_free'):
|
|
|
|
# uPy has these extra functions
|
|
|
|
# just test they execute and return an int
|
|
|
|
assert type(gc.mem_free()) is int
|
|
|
|
assert type(gc.mem_alloc()) is int
|
2016-10-27 11:31:24 +01:00
|
|
|
|
|
|
|
if hasattr(gc, 'threshold'):
|
|
|
|
# uPy has this extra function
|
|
|
|
# check execution and returns
|
|
|
|
assert(gc.threshold(1) is None)
|
|
|
|
assert(gc.threshold() == 0)
|
|
|
|
assert(gc.threshold(-1) is None)
|
|
|
|
assert(gc.threshold() == -1)
|
2018-02-27 11:39:17 +00:00
|
|
|
|
|
|
|
# Setting a low threshold should trigger collection at the list alloc
|
|
|
|
gc.threshold(1)
|
|
|
|
[[], []]
|
|
|
|
gc.threshold(-1)
|