Skip to content

Commit d23173b

Browse files
committed
Switching python unittest to pytest framework
This change may also have a small naming requirement as we can see in the pyproject.toml. It prompted me to change the helper function name from test_percent_1000() to helper_test_percent_1000 since pytest config will now discover every functions starting with test_*. However, I thought it may still be worth the switch for possible pytest features we can leverage down the road. Just wanted to see what the thought is on switching and the changes in config. May need to change the docs/guides/contributing/unit_tests.rst to reflect this config change as well. Signed-off-by: Mei Chu <meimchu@gmail.com>
1 parent 91761f2 commit d23173b

6 files changed

Lines changed: 87 additions & 192 deletions

File tree

pyproject.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,8 @@ before-build = "share/ci/scripts/macos/install_docs_env.sh"
3232

3333
[tool.cibuildwheel.windows]
3434
before-build = "bash -c share/ci/scripts/windows/install_docs_env.sh"
35+
36+
[tool.pytest.ini_options]
37+
python_files = "*Test.py"
38+
python_classes = "Test"
39+
python_functions = "test_*"

tests/python/ColorSpaceTest.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ def test_transform(self):
348348
self.colorspace.setTransform(self.log_tr, direction)
349349
log_transform = self.colorspace.getTransform(direction)
350350
self.assertIsInstance(log_transform, OCIO.LogTransform)
351-
self.assertEquals(self.log_tr.getBase(), log_transform.getBase())
351+
self.assertEqual(self.log_tr.getBase(), log_transform.getBase())
352352

353353
def test_aliases(self):
354354
"""
@@ -446,7 +446,7 @@ def test_is_colorspace_linear(self):
446446
name: display_data
447447
description: |
448448
Data space.
449-
Has a linear transform, which should never happen, but this will be ignored since
449+
Has a linear transform, which should never happen, but this will be ignored since
450450
isdata is true.
451451
isdata: true
452452
encoding: data
@@ -501,7 +501,7 @@ def test_is_colorspace_linear(self):
501501
name: scene_data
502502
description: |
503503
Data space.
504-
Has a linear transform, which should never happen, but this will be ignored
504+
Has a linear transform, which should never happen, but this will be ignored
505505
since isdata is true.
506506
isdata: true
507507
encoding: data
@@ -559,22 +559,22 @@ def test_is_colorspace_linear(self):
559559
description: |
560560
No encoding. Considered linear since it is equivalent to the reference space.
561561
isdata: false
562-
"""
562+
"""
563563
# Create a config.
564564
cfg = OCIO.Config.CreateFromStream(SIMPLE_PROFILE)
565565

566566
def test_scene_referred(self, cfg, cs_name, expected_value):
567567
cs = cfg.getColorSpace(cs_name)
568568
is_linear_to_scene_reference = cfg.isColorSpaceLinear(
569-
cs_name,
569+
cs_name,
570570
OCIO.REFERENCE_SPACE_SCENE
571571
)
572572
self.assertEqual(is_linear_to_scene_reference, expected_value)
573573

574574
def test_display_referred(self, cfg, cs_name, expected_value):
575575
cs = cfg.getColorSpace(cs_name)
576576
is_linear_to_display_reference = cfg.isColorSpaceLinear(
577-
cs_name,
577+
cs_name,
578578
OCIO.REFERENCE_SPACE_DISPLAY
579579
)
580580
self.assertEqual(is_linear_to_display_reference, expected_value)
@@ -618,9 +618,9 @@ def test_display_referred(self, cfg, cs_name, expected_value):
618618
test_display_referred(self, cfg, "scene_nonlin-trans", False)
619619
test_display_referred(self, cfg, "scene_linear-trans-alias", False)
620620
test_display_referred(self, cfg, "scene_ref", False)
621-
621+
622622
def test_processor_to_known_colorspace(self):
623-
623+
624624
CONFIG = """ocio_profile_version: 2
625625
626626
roles:

tests/python/MixingHelpersTest.py

Lines changed: 67 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import PyOpenColorIO as OCIO
99
from UnitTestUtils import SAMPLE_CONFIG
1010

11-
def test_percent_1000(a, b):
11+
def helper_test_percent_1000(a, b):
1212
# Helper function to test sliders.
1313
return abs(a - int(100000 * b)) <= 1
1414

@@ -187,7 +187,7 @@ def test_get_processor(self):
187187

188188
def test_color_picking(self):
189189
"""
190-
Test getProcessor() function with ROLE_COLOR_PICKING role.
190+
Test getProcessor() function with ROLE_COLOR_PICKING role.
191191
"""
192192
mix = OCIO.MixingColorSpaceManager(self.cfg)
193193
mixSpaces = mix.getMixingSpaces()
@@ -254,27 +254,27 @@ def test_mixing_slider(self):
254254
slider.setSliderMinEdge(0.0)
255255
slider.setSliderMaxEdge(1.0)
256256

257-
self.assertTrue(test_percent_1000( 0, slider.getSliderMinEdge()))
258-
self.assertTrue(test_percent_1000(83386, slider.getSliderMaxEdge()))
257+
self.assertTrue(helper_test_percent_1000( 0, slider.getSliderMinEdge()))
258+
self.assertTrue(helper_test_percent_1000(83386, slider.getSliderMaxEdge()))
259259

260-
self.assertTrue(test_percent_1000(37923, slider.mixingToSlider(mixingUnits=0.1)))
261-
self.assertTrue(test_percent_1000(80144, slider.mixingToSlider(0.5)))
260+
self.assertTrue(helper_test_percent_1000(37923, slider.mixingToSlider(mixingUnits=0.1)))
261+
self.assertTrue(helper_test_percent_1000(80144, slider.mixingToSlider(0.5)))
262262

263-
self.assertTrue(test_percent_1000(10000, slider.sliderToMixing(sliderUnits=0.379232)))
264-
self.assertTrue(test_percent_1000(50000, slider.sliderToMixing(0.801448)))
263+
self.assertTrue(helper_test_percent_1000(10000, slider.sliderToMixing(sliderUnits=0.379232)))
264+
self.assertTrue(helper_test_percent_1000(50000, slider.sliderToMixing(0.801448)))
265265

266266
slider.setSliderMinEdge(-0.2)
267267
slider.setSliderMaxEdge(5.)
268268

269-
self.assertTrue(test_percent_1000( 3792, slider.mixingToSlider(-0.1)))
270-
self.assertTrue(test_percent_1000(31573, slider.mixingToSlider( 0.1)))
271-
self.assertTrue(test_percent_1000(58279, slider.mixingToSlider( 0.5)))
272-
self.assertTrue(test_percent_1000(90744, slider.mixingToSlider( 3.0)))
269+
self.assertTrue(helper_test_percent_1000( 3792, slider.mixingToSlider(-0.1)))
270+
self.assertTrue(helper_test_percent_1000(31573, slider.mixingToSlider( 0.1)))
271+
self.assertTrue(helper_test_percent_1000(58279, slider.mixingToSlider( 0.5)))
272+
self.assertTrue(helper_test_percent_1000(90744, slider.mixingToSlider( 3.0)))
273273

274-
self.assertTrue(test_percent_1000(-10000, slider.sliderToMixing(0.037927)))
275-
self.assertTrue(test_percent_1000( 10000, slider.sliderToMixing(0.315733)))
276-
self.assertTrue(test_percent_1000( 50000, slider.sliderToMixing(0.582797)))
277-
self.assertTrue(test_percent_1000(300000, slider.sliderToMixing(0.907444)))
274+
self.assertTrue(helper_test_percent_1000(-10000, slider.sliderToMixing(0.037927)))
275+
self.assertTrue(helper_test_percent_1000( 10000, slider.sliderToMixing(0.315733)))
276+
self.assertTrue(helper_test_percent_1000( 50000, slider.sliderToMixing(0.582797)))
277+
self.assertTrue(helper_test_percent_1000(300000, slider.sliderToMixing(0.907444)))
278278

279279
# Does not need any linear to perceptually linear adjustment.
280280

@@ -286,63 +286,63 @@ def test_mixing_slider(self):
286286
slider.setSliderMinEdge(0.0)
287287
slider.setSliderMaxEdge(1.0)
288288

289-
self.assertTrue(test_percent_1000( 0, slider.getSliderMinEdge()))
290-
self.assertTrue(test_percent_1000(100000, slider.getSliderMaxEdge()))
289+
self.assertTrue(helper_test_percent_1000( 0, slider.getSliderMinEdge()))
290+
self.assertTrue(helper_test_percent_1000(100000, slider.getSliderMaxEdge()))
291291

292-
self.assertTrue(test_percent_1000(10000, slider.mixingToSlider(0.1)))
293-
self.assertTrue(test_percent_1000(50000, slider.mixingToSlider(0.5)))
292+
self.assertTrue(helper_test_percent_1000(10000, slider.mixingToSlider(0.1)))
293+
self.assertTrue(helper_test_percent_1000(50000, slider.mixingToSlider(0.5)))
294294

295-
self.assertTrue(test_percent_1000(37923, slider.sliderToMixing(0.379232)))
296-
self.assertTrue(test_percent_1000(80144, slider.sliderToMixing(0.801448)))
295+
self.assertTrue(helper_test_percent_1000(37923, slider.sliderToMixing(0.379232)))
296+
self.assertTrue(helper_test_percent_1000(80144, slider.sliderToMixing(0.801448)))
297297

298298
slider.setSliderMinEdge(-0.2)
299299
slider.setSliderMaxEdge(5.)
300300

301-
self.assertTrue(test_percent_1000( 0, slider.mixingToSlider(slider.getSliderMinEdge())))
302-
self.assertTrue(test_percent_1000(100000, slider.mixingToSlider(slider.getSliderMaxEdge())))
301+
self.assertTrue(helper_test_percent_1000( 0, slider.mixingToSlider(slider.getSliderMinEdge())))
302+
self.assertTrue(helper_test_percent_1000(100000, slider.mixingToSlider(slider.getSliderMaxEdge())))
303303

304-
self.assertTrue(test_percent_1000( 1923, slider.mixingToSlider(-0.1)))
305-
self.assertTrue(test_percent_1000( 5769, slider.mixingToSlider( 0.1)))
306-
self.assertTrue(test_percent_1000(13461, slider.mixingToSlider( 0.5)))
307-
self.assertTrue(test_percent_1000(61538, slider.mixingToSlider( 3.0)))
304+
self.assertTrue(helper_test_percent_1000( 1923, slider.mixingToSlider(-0.1)))
305+
self.assertTrue(helper_test_percent_1000( 5769, slider.mixingToSlider( 0.1)))
306+
self.assertTrue(helper_test_percent_1000(13461, slider.mixingToSlider( 0.5)))
307+
self.assertTrue(helper_test_percent_1000(61538, slider.mixingToSlider( 3.0)))
308308

309-
self.assertTrue(test_percent_1000( -277, slider.sliderToMixing(0.037927)))
310-
self.assertTrue(test_percent_1000(144181, slider.sliderToMixing(0.315733)))
311-
self.assertTrue(test_percent_1000(283054, slider.sliderToMixing(0.582797)))
312-
self.assertTrue(test_percent_1000(451870, slider.sliderToMixing(0.907444)))
309+
self.assertTrue(helper_test_percent_1000( -277, slider.sliderToMixing(0.037927)))
310+
self.assertTrue(helper_test_percent_1000(144181, slider.sliderToMixing(0.315733)))
311+
self.assertTrue(helper_test_percent_1000(283054, slider.sliderToMixing(0.582797)))
312+
self.assertTrue(helper_test_percent_1000(451870, slider.sliderToMixing(0.907444)))
313313

314314
# Change encoding.
315315

316316
mix.setSelectedMixingEncodingIdx(0) # i.e. RGB
317317

318318
# Needs linear to perceptually linear adjustment.
319-
319+
320320
mix.setSelectedMixingSpaceIdx(0) # i.e. Rendering Space
321321

322322
slider.setSliderMinEdge(0.0)
323323
slider.setSliderMaxEdge(1.0)
324324

325-
self.assertTrue(test_percent_1000( 0, slider.getSliderMinEdge()))
326-
self.assertTrue(test_percent_1000(83386, slider.getSliderMaxEdge()))
325+
self.assertTrue(helper_test_percent_1000( 0, slider.getSliderMinEdge()))
326+
self.assertTrue(helper_test_percent_1000(83386, slider.getSliderMaxEdge()))
327327

328-
self.assertTrue(test_percent_1000(37923, slider.mixingToSlider(0.1)))
329-
self.assertTrue(test_percent_1000(80144, slider.mixingToSlider(0.5)))
328+
self.assertTrue(helper_test_percent_1000(37923, slider.mixingToSlider(0.1)))
329+
self.assertTrue(helper_test_percent_1000(80144, slider.mixingToSlider(0.5)))
330330

331-
self.assertTrue(test_percent_1000(10000, slider.sliderToMixing(0.379232)))
332-
self.assertTrue(test_percent_1000(50000, slider.sliderToMixing(0.801448)))
331+
self.assertTrue(helper_test_percent_1000(10000, slider.sliderToMixing(0.379232)))
332+
self.assertTrue(helper_test_percent_1000(50000, slider.sliderToMixing(0.801448)))
333333

334334
slider.setSliderMinEdge(-0.2)
335335
slider.setSliderMaxEdge(5.)
336336

337-
self.assertTrue(test_percent_1000( 3792, slider.mixingToSlider(-0.1)))
338-
self.assertTrue(test_percent_1000(31573, slider.mixingToSlider( 0.1)))
339-
self.assertTrue(test_percent_1000(58279, slider.mixingToSlider( 0.5)))
340-
self.assertTrue(test_percent_1000(90744, slider.mixingToSlider( 3.0)))
337+
self.assertTrue(helper_test_percent_1000( 3792, slider.mixingToSlider(-0.1)))
338+
self.assertTrue(helper_test_percent_1000(31573, slider.mixingToSlider( 0.1)))
339+
self.assertTrue(helper_test_percent_1000(58279, slider.mixingToSlider( 0.5)))
340+
self.assertTrue(helper_test_percent_1000(90744, slider.mixingToSlider( 3.0)))
341341

342-
self.assertTrue(test_percent_1000(-10000, slider.sliderToMixing(0.037927)))
343-
self.assertTrue(test_percent_1000( 10000, slider.sliderToMixing(0.315733)))
344-
self.assertTrue(test_percent_1000( 50000, slider.sliderToMixing(0.582797)))
345-
self.assertTrue(test_percent_1000(300000, slider.sliderToMixing(0.907444)))
342+
self.assertTrue(helper_test_percent_1000(-10000, slider.sliderToMixing(0.037927)))
343+
self.assertTrue(helper_test_percent_1000( 10000, slider.sliderToMixing(0.315733)))
344+
self.assertTrue(helper_test_percent_1000( 50000, slider.sliderToMixing(0.582797)))
345+
self.assertTrue(helper_test_percent_1000(300000, slider.sliderToMixing(0.907444)))
346346

347347
# Does not need any linear to perceptually linear adjustment.
348348

@@ -351,30 +351,30 @@ def test_mixing_slider(self):
351351
slider.setSliderMinEdge(0.0)
352352
slider.setSliderMaxEdge(1.0)
353353

354-
self.assertTrue(test_percent_1000( 0, slider.getSliderMinEdge()))
355-
self.assertTrue(test_percent_1000(100000, slider.getSliderMaxEdge()))
354+
self.assertTrue(helper_test_percent_1000( 0, slider.getSliderMinEdge()))
355+
self.assertTrue(helper_test_percent_1000(100000, slider.getSliderMaxEdge()))
356356

357-
self.assertTrue(test_percent_1000(10000, slider.mixingToSlider(0.1)))
358-
self.assertTrue(test_percent_1000(50000, slider.mixingToSlider(0.5)))
357+
self.assertTrue(helper_test_percent_1000(10000, slider.mixingToSlider(0.1)))
358+
self.assertTrue(helper_test_percent_1000(50000, slider.mixingToSlider(0.5)))
359359

360-
self.assertTrue(test_percent_1000(37923, slider.sliderToMixing(0.379232)))
361-
self.assertTrue(test_percent_1000(80144, slider.sliderToMixing(0.801448)))
360+
self.assertTrue(helper_test_percent_1000(37923, slider.sliderToMixing(0.379232)))
361+
self.assertTrue(helper_test_percent_1000(80144, slider.sliderToMixing(0.801448)))
362362

363363
slider.setSliderMinEdge(-0.2)
364364
slider.setSliderMaxEdge(5.)
365365

366-
self.assertTrue(test_percent_1000( 0, slider.mixingToSlider(slider.getSliderMinEdge())))
367-
self.assertTrue(test_percent_1000(100000, slider.mixingToSlider(slider.getSliderMaxEdge())))
366+
self.assertTrue(helper_test_percent_1000( 0, slider.mixingToSlider(slider.getSliderMinEdge())))
367+
self.assertTrue(helper_test_percent_1000(100000, slider.mixingToSlider(slider.getSliderMaxEdge())))
368368

369-
self.assertTrue(test_percent_1000( 1923, slider.mixingToSlider(-0.1)))
370-
self.assertTrue(test_percent_1000( 5769, slider.mixingToSlider( 0.1)))
371-
self.assertTrue(test_percent_1000(13461, slider.mixingToSlider( 0.5)))
372-
self.assertTrue(test_percent_1000(61538, slider.mixingToSlider( 3.0)))
369+
self.assertTrue(helper_test_percent_1000( 1923, slider.mixingToSlider(-0.1)))
370+
self.assertTrue(helper_test_percent_1000( 5769, slider.mixingToSlider( 0.1)))
371+
self.assertTrue(helper_test_percent_1000(13461, slider.mixingToSlider( 0.5)))
372+
self.assertTrue(helper_test_percent_1000(61538, slider.mixingToSlider( 3.0)))
373373

374-
self.assertTrue(test_percent_1000( -277, slider.sliderToMixing(0.037927)))
375-
self.assertTrue(test_percent_1000(144181, slider.sliderToMixing(0.315733)))
376-
self.assertTrue(test_percent_1000(283054, slider.sliderToMixing(0.582797)))
377-
self.assertTrue(test_percent_1000(451870, slider.sliderToMixing(0.907444)))
374+
self.assertTrue(helper_test_percent_1000( -277, slider.sliderToMixing(0.037927)))
375+
self.assertTrue(helper_test_percent_1000(144181, slider.sliderToMixing(0.315733)))
376+
self.assertTrue(helper_test_percent_1000(283054, slider.sliderToMixing(0.582797)))
377+
self.assertTrue(helper_test_percent_1000(451870, slider.sliderToMixing(0.907444)))
378378

379379
# Update with ROLE_COLOR_PICKING role.
380380

@@ -385,14 +385,14 @@ def test_mixing_slider(self):
385385
mix.setSelectedMixingSpaceIdx(0) # i.e. Color Picker role
386386

387387
slider = mix.getSlider(0.0, 1.0)
388-
self.assertTrue(test_percent_1000(50501, slider.mixingToSlider(0.50501)))
389-
self.assertTrue(test_percent_1000(50501, slider.sliderToMixing(0.50501)))
388+
self.assertTrue(helper_test_percent_1000(50501, slider.mixingToSlider(0.50501)))
389+
self.assertTrue(helper_test_percent_1000(50501, slider.sliderToMixing(0.50501)))
390390

391391
mix.setSelectedMixingEncodingIdx(0) # i.e. RGB
392392
mix.setSelectedMixingSpaceIdx(0) # i.e. Color Picker role
393393

394-
self.assertTrue(test_percent_1000(50501, slider.mixingToSlider(0.50501)))
395-
self.assertTrue(test_percent_1000(50501, slider.sliderToMixing(0.50501)))
394+
self.assertTrue(helper_test_percent_1000(50501, slider.mixingToSlider(0.50501)))
395+
self.assertTrue(helper_test_percent_1000(50501, slider.sliderToMixing(0.50501)))
396396

397397

398398
mix = None

0 commit comments

Comments
 (0)