Skip to content

Commit 8d18817

Browse files
committed
Enforce garbage collection after more ext tests
1 parent f280bff commit 8d18817

File tree

2 files changed

+8
-31
lines changed

2 files changed

+8
-31
lines changed

sdl2/test/sdl2ext_renderer_test.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import gc
12
import sys
23
import pytest
34
from ctypes import addressof
@@ -8,14 +9,6 @@
89
from sdl2.render import SDL_Renderer, SDL_Texture
910
from sdl2.surface import SDL_CreateRGBSurface, SDL_FreeSurface
1011

11-
_ISPYPY = hasattr(sys, "pypy_version_info")
12-
13-
if _ISPYPY:
14-
import gc
15-
dogc = gc.collect
16-
else:
17-
dogc = lambda: None
18-
1912

2013
class TestSDL2ExtRenderer(object):
2114
__tags__ = ["sdl", "sdl2ext"]
@@ -31,6 +24,9 @@ def setup_class(cls):
3124
def teardown_class(cls):
3225
sdl2ext.quit()
3326

27+
def teardown_method(self):
28+
gc.collect()
29+
3430
def check_pixels(self, view, w, h, sprite, c1, c2, cx=0, cy=0):
3531
msg = "color mismatch at %d,%d: %d not in %s"
3632
cx = cx + sprite.x
@@ -95,15 +91,13 @@ def test_init(self):
9591
assert renderer.rendertarget == sprite
9692
assert isinstance(renderer.sdlrenderer.contents, SDL_Renderer)
9793
renderer.destroy()
98-
dogc()
9994

10095
# Create renderer with Window
10196
window = sdl2ext.Window("Test", size=(1, 1))
10297
renderer = sdl2ext.Renderer(window)
10398
assert renderer.rendertarget == window
10499
assert isinstance(renderer.sdlrenderer.contents, SDL_Renderer)
105100
renderer.destroy()
106-
dogc()
107101

108102
# Create renderer with SDL_Window
109103
sdlwindow = window.window
@@ -122,7 +116,6 @@ def test_init(self):
122116
sdl2ext.Renderer(1234)
123117
with pytest.raises(TypeError):
124118
sdl2ext.Renderer("test")
125-
dogc()
126119

127120
def test_logical_size(self):
128121
sf = SDL_CreateRGBSurface(0, 10, 10, 32, 0, 0, 0, 0)
@@ -209,7 +202,6 @@ def test_Renderer_color(self):
209202
del view
210203
renderer.destroy()
211204
SDL_FreeSurface(sf)
212-
dogc()
213205

214206
@pytest.mark.skip("not implemented")
215207
def test_Renderer_blendmode(self):
@@ -237,7 +229,6 @@ def test_Renderer_clear(self):
237229
del view
238230
renderer.destroy()
239231
SDL_FreeSurface(sf)
240-
dogc()
241232

242233
def test_Renderer_copy(self):
243234
# Initialize target surface and renderer

sdl2/test/sdl2ext_spritesystem_test.py

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import gc
12
import sys
23
import pytest
34
from ctypes import ArgumentError
@@ -9,18 +10,8 @@
910
)
1011
from sdl2.surface import SDL_Surface, SDL_CreateRGBSurface, SDL_FreeSurface
1112

12-
13-
_ISPYPY = hasattr(sys, "pypy_version_info")
14-
15-
1613
RESOURCES = Resources(__file__, "resources")
1714

18-
if _ISPYPY:
19-
import gc
20-
dogc = gc.collect
21-
else:
22-
dogc = lambda: None
23-
2415

2516
class TestSDL2ExtSpriteSystem(object):
2617
__tags__ = ["sdl", "sdl2ext"]
@@ -36,6 +27,9 @@ def setup_class(cls):
3627
def teardown_class(cls):
3728
sdl2ext.quit()
3829

30+
def teardown_method(self):
31+
gc.collect()
32+
3933
def check_pixels(self, view, w, h, sprite, c1, c2, cx=0, cy=0):
4034
msg = "color mismatch at %d,%d: %d not in %s"
4135
cx = cx + sprite.x
@@ -77,7 +71,6 @@ def test_SpriteFactory(self):
7771
sdl2ext.SpriteFactory(123)
7872
with pytest.raises(ValueError):
7973
sdl2ext.SpriteFactory(sdl2ext.TEXTURE)
80-
dogc()
8174

8275
def test_SpriteFactory_create_sprite(self):
8376
window = sdl2ext.Window("Test", size=(1, 1))
@@ -97,7 +90,6 @@ def test_SpriteFactory_create_sprite(self):
9790
continue
9891
sprite = tfactory.create_sprite(size=(w, h))
9992
assert isinstance(sprite, sdl2ext.TextureSprite)
100-
dogc()
10193

10294
def test_SpriteFactory_create_software_sprite(self):
10395
factory = sdl2ext.SpriteFactory(sdl2ext.SOFTWARE)
@@ -122,7 +114,6 @@ def test_SpriteFactory_create_software_sprite(self):
122114
with pytest.raises((ArgumentError, TypeError)):
123115
factory.create_software_sprite(size=(10, 10),
124116
masks=("Test", 1, 2, 3))
125-
dogc()
126117

127118
def test_SpriteFactory_create_texture_sprite(self):
128119
window = sdl2ext.Window("Test", size=(1, 1))
@@ -141,7 +132,6 @@ def test_SpriteFactory_create_texture_sprite(self):
141132
access=flag)
142133
assert isinstance(sprite, sdl2ext.TextureSprite)
143134
del sprite
144-
dogc()
145135

146136
def test_SpriteFactory_from_image(self):
147137
window = sdl2ext.Window("Test", size=(1, 1))
@@ -161,7 +151,6 @@ def test_SpriteFactory_from_image(self):
161151
factory.from_image(None)
162152
with pytest.raises(ValueError):
163153
factory.from_image(12345)
164-
dogc()
165154

166155
@pytest.mark.skip("not implemented")
167156
def test_SpriteFactory_from_object(self):
@@ -192,7 +181,6 @@ def test_SpriteFactory_from_surface(self):
192181
# TODO: crashes pypy 2.0
193182
#self.assertRaises((AttributeError, ArgumentError, TypeError),
194183
# factory.from_surface, 1234)
195-
dogc()
196184

197185
def test_SpriteFactory_from_text(self):
198186
sfactory = sdl2ext.SpriteFactory(sdl2ext.SOFTWARE)
@@ -217,7 +205,6 @@ def test_SpriteFactory_from_text(self):
217205
fontmanager=fm)
218206
sprite = tfactory.from_text("Test", alias="tuffy")
219207
assert isinstance(sprite, sdl2ext.TextureSprite)
220-
dogc()
221208

222209
def test_SpriteRenderSystem(self):
223210
renderer = sdl2ext.SpriteRenderSystem()
@@ -275,7 +262,6 @@ def test_SoftwareSpriteRenderSystem(self):
275262
assert renderer.sortfunc is not None
276263
assert not (sdl2ext.Sprite in renderer.componenttypes)
277264
assert sdl2ext.SoftwareSprite in renderer.componenttypes
278-
dogc()
279265

280266
def test_SoftwareSpriteRenderSystem_render(self):
281267
sf1 = SDL_CreateRGBSurface(0, 12, 7, 32, 0, 0, 0, 0)

0 commit comments

Comments
 (0)