Skip to content

Commit 4a7cfff

Browse files
committed
Fix all instances where multiprocessing was invoked in the test suite outside of pytest-xdist
1 parent ae888c5 commit 4a7cfff

9 files changed

Lines changed: 254 additions & 56 deletions

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ dependencies = [
8282
[tool.pytest.ini_options]
8383
testpaths = ["test"]
8484
addopts = ["--import-mode=importlib", "--cov=sourcefinder", "-q", "-ra",
85-
"-n=logical", "--dist=worksteal", "--cov-config=.coveragerc"]
85+
"-n=logical", "--dist=worksteal", "--cov-config=.coveragerc", "--cov-append"]
8686

8787
[tool.black]
8888
include = '\.pyi?$'

test/test_L15_12h_const.py

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import os
77
import unittest
88

9-
from sourcefinder.config import Conf, ImgConf
9+
from sourcefinder.config import Conf, ImgConf, ExportSettings
1010

1111
from .conftest import DATAPATH
1212
from sourcefinder.testutil.decorators import requires_data
@@ -41,7 +41,19 @@ def setUp(self):
4141
beam=(0.2299,
4242
0.1597,
4343
-23.87))
44-
self.image = image.ImageData(fitsfile.data, fitsfile.beam, fitsfile.wcs)
44+
conf = Conf(
45+
image=ImgConf(
46+
# Disallow multiprocessing to enable parallel running of tests using pytest-xdist
47+
allow_multiprocessing=False
48+
),
49+
export=ExportSettings()
50+
)
51+
self.image = image.ImageData(
52+
fitsfile.data,
53+
fitsfile.beam,
54+
fitsfile.wcs,
55+
conf=conf,
56+
)
4557
self.results = self.image.extract(det=10, anl=3.0)
4658

4759
def tearDown(self):
@@ -68,7 +80,19 @@ def setUp(self):
6880
beam=(0.2299,
6981
0.1597,
7082
-23.87))
71-
self.image = image.ImageData(fitsfile.data, fitsfile.beam, fitsfile.wcs)
83+
conf = Conf(
84+
image=ImgConf(
85+
# Disallow multiprocessing to enable parallel running of tests using pytest-xdist
86+
allow_multiprocessing=False
87+
),
88+
export=ExportSettings()
89+
)
90+
self.image = image.ImageData(
91+
fitsfile.data,
92+
fitsfile.beam,
93+
fitsfile.wcs,
94+
conf=conf,
95+
)
7296
self.results = self.image.extract(det=10.0, anl=3.0)
7397

7498
def tearDown(self):
@@ -114,7 +138,11 @@ def setUp(self):
114138
0.1597,
115139
-23.87))
116140
self.image = image.ImageData(
117-
fitsfile.data, fitsfile.beam, fitsfile.wcs, Conf(ImgConf(radius=100), {})
141+
fitsfile.data, fitsfile.beam, fitsfile.wcs, Conf(ImgConf(
142+
radius=100,
143+
# Disallow multiprocessing to enable parallel running of tests using pytest-xdist
144+
allow_multiprocessing=False
145+
), {})
118146
)
119147
self.results = self.image.extract(det=5, anl=3.0)
120148

@@ -142,8 +170,19 @@ def setUp(self):
142170
beam=(2. * 500.099 / 3600,
143171
2. * 319.482 / 3600,
144172
168.676))
145-
self.my_im = image.ImageData(fitsfile.data, fitsfile.beam,
146-
fitsfile.wcs)
173+
conf = Conf(
174+
image=ImgConf(
175+
# Disallow multiprocessing to enable parallel running of tests using pytest-xdist
176+
allow_multiprocessing=False
177+
),
178+
export=ExportSettings()
179+
)
180+
self.my_im = image.ImageData(
181+
fitsfile.data,
182+
fitsfile.beam,
183+
fitsfile.wcs,
184+
conf=conf,
185+
)
147186

148187
def tearDown(self):
149188
del self.my_im

test/test_aartfaaccasatable.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from sourcefinder.accessors.aartfaaccasaimage import AartfaacCasaImage
77
from sourcefinder.testutil.decorators import requires_data
88
from sourcefinder.utility.coordinates import angsep
9+
from sourcefinder.config import Conf, ImgConf, ExportSettings
910
from .conftest import DATAPATH
1011

1112

@@ -19,8 +20,19 @@ def setUpClass(cls):
1920
cls.accessor = AartfaacCasaImage(casatable)
2021

2122
def test_casaimage(self):
23+
conf = Conf(
24+
image=ImgConf(
25+
# Disallow multiprocessing to enable parallel running of tests using pytest-xdist
26+
allow_multiprocessing=False
27+
),
28+
export=ExportSettings()
29+
)
30+
2231
results = self.accessor.extract_metadata()
23-
sfimage = accessors.sourcefinder_image_from_accessor(self.accessor)
32+
sfimage = accessors.sourcefinder_image_from_accessor(
33+
self.accessor,
34+
conf=conf,
35+
)
2436

2537
known_bmaj, known_bmin, known_bpa = 4.4586, 4.458, 0
2638
bmaj, bmin, bpa = self.accessor.beam
@@ -58,4 +70,3 @@ def test_pix_scale(self):
5870
# => Approx 0.15 arcseconds drift across 512 pixels
5971
# (Probably OK).
6072
self.assertAlmostEqual(abs(coord_dist_deg), abs(pix_dist_deg), places=3)
61-

test/test_amicasatable.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from sourcefinder.accessors.amicasaimage import AmiCasaImage
77
from sourcefinder.testutil.decorators import requires_data
88
from sourcefinder.utility.coordinates import angsep
9+
from sourcefinder.config import Conf, ImgConf, ExportSettings
910
from .conftest import DATAPATH
1011

1112

@@ -19,8 +20,19 @@ def setUpClass(cls):
1920
cls.accessor = AmiCasaImage(casatable)
2021

2122
def test_casaimage(self):
23+
conf = Conf(
24+
image=ImgConf(
25+
# Disallow multiprocessing to enable parallel running of tests using pytest-xdist
26+
allow_multiprocessing=False
27+
),
28+
export=ExportSettings()
29+
)
30+
2231
results = self.accessor.extract_metadata()
23-
sfimage = accessors.sourcefinder_image_from_accessor(self.accessor)
32+
sfimage = accessors.sourcefinder_image_from_accessor(
33+
self.accessor,
34+
conf=conf,
35+
)
2436

2537
known_bmaj, known_bmin, known_bpa = (4.002118682861328,
2638
2.4657058715820312,
@@ -61,4 +73,3 @@ def test_pix_scale(self):
6173
# => Approx 0.15 arcseconds drift across 512 pixels
6274
# (Probably OK).
6375
self.assertAlmostEqual(abs(coord_dist_deg), abs(pix_dist_deg), places=6)
64-

test/test_fits_accessors.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from sourcefinder.accessors.fitsimage import FitsImage
1010
from sourcefinder.testutil.decorators import requires_data
1111
from sourcefinder.testutil.decorators import requires_database
12+
from sourcefinder.config import Conf, ImgConf, ExportSettings
1213
from .conftest import DATAPATH
1314

1415

@@ -48,9 +49,18 @@ def testOpen(self):
4849

4950
@requires_data(os.path.join(DATAPATH, 'observed-all.fits'))
5051
def testSFImageFromFITS(self):
52+
conf = Conf(
53+
image=ImgConf(
54+
# Disallow multiprocessing to enable parallel running of tests using pytest-xdist
55+
allow_multiprocessing=False
56+
),
57+
export=ExportSettings()
58+
)
5159
fits_file = os.path.join(DATAPATH, 'observed-all.fits')
5260
image = FitsImage(fits_file, beam=(54./3600, 54./3600, 0.))
53-
sfimage = accessors.sourcefinder_image_from_accessor(image)
61+
sfimage = accessors.sourcefinder_image_from_accessor(
62+
image, conf=conf
63+
)
5464

5565

5666

@@ -91,9 +101,18 @@ def testOpen(self):
91101

92102
@requires_data(os.path.join(DATAPATH, 'observed-all.fits'))
93103
def testSFImageFromFITS(self):
104+
conf = Conf(
105+
image=ImgConf(
106+
# Disallow multiprocessing to enable parallel running of tests using pytest-xdist
107+
allow_multiprocessing=False
108+
),
109+
export=ExportSettings()
110+
)
94111
image = FitsImage(os.path.join(DATAPATH, 'observed-all.fits'),
95112
beam=(54./3600, 54./3600, 0.))
96-
sfimage = accessors.sourcefinder_image_from_accessor(image)
113+
sfimage = accessors.sourcefinder_image_from_accessor(
114+
image, conf=conf
115+
)
97116

98117

99118

0 commit comments

Comments
 (0)