Skip to content

Commit 49099c5

Browse files
bencliffordyadudoc
andauthored
Support python 3.9 (#1720)
* Test parsl using (only) python 3.9 development version * Upgrade mypy for python 3.9 - see issue python/mypy#8627 * debug test_provider hanging on both my laptop and in CI with python 3.9 * upgrade sphinx to work with python3.9; consequential restore of ipyparallel test dependency which is apparently needed now for doc build Co-authored-by: Yadu Nand Babuji <[email protected]>
1 parent 8b65cdf commit 49099c5

File tree

4 files changed

+20
-11
lines changed

4 files changed

+20
-11
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ python:
33
- "3.6"
44
- "3.7"
55
- "3.8"
6+
- "3.9"
67

78
env:
89
global:

parsl/tests/site_tests/site_config_selector.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,3 @@ def fresh_config():
7373
# We should skip this.
7474

7575
return config
76-
77-
78-
config = fresh_config()

parsl/tests/site_tests/test_provider.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,36 @@
11
import argparse
2+
import logging
23
import pytest
34
import parsl
45
import time
56
from parsl.app.app import python_app # , bash_app
67
from parsl.providers.provider_base import JobState
78
from parsl.tests.site_tests.site_config_selector import fresh_config
89

10+
logger = logging.getLogger(__name__)
11+
912

1013
@python_app
1114
def platform(sleep=10, stdout=None):
12-
import platform
1315
import time
1416
time.sleep(sleep)
15-
return platform.uname()
17+
return True
1618

1719

1820
@pytest.mark.local
1921
def test_provider():
2022
""" Provider scaling
2123
"""
24+
logger.info("Starting test_provider")
2225
config = fresh_config()
2326
name = config.executors[0].label
2427
parsl.load(config)
2528

2629
dfk = parsl.dfk()
27-
print("Trying to get executor : ", name)
30+
logger.info("Trying to get executor : {}".format(name))
2831

2932
x = platform(sleep=0)
30-
print(x.result())
33+
logger.info("Result is {}".format(x.result()))
3134

3235
executor = dfk.executors[name]
3336
provider = dfk.executors[name].provider
@@ -36,21 +39,28 @@ def test_provider():
3639
current_jobs = executor._get_job_ids()
3740
assert len(current_jobs) == 1, "Expected 1 job at init, got {}".format(len(current_jobs))
3841

42+
logger.info("Getting provider status (1)")
3943
status = provider.status(current_jobs)
44+
logger.info("Got provider status")
4045
assert status[0].state == JobState.RUNNING, "Expected job to be in state RUNNING"
4146

4247
# Scale down to 0
4348
scale_in_status = executor.scale_in(blocks=1)
49+
logger.info("Now sleeping 60 seconds")
4450
time.sleep(60)
51+
logger.info("Sleep finished")
52+
logger.info("Getting provider status (2)")
4553
status = provider.status(scale_in_status)
46-
print("Block status: ", status)
54+
logger.info("Got provider status")
55+
logger.info("Block status: {}".format(status))
4756
assert status[0].terminal is True, "Terminal state"
48-
print("Job in terminal state")
57+
logger.info("Job in terminal state")
4958

5059
current_jobs = executor._get_job_ids()
5160
assert len(current_jobs) == 0, "Expected current_jobs == 0"
5261
parsl.clear()
5362
del dfk
63+
logger.info("Ended test_provider")
5464
return True
5565

5666

test-requirements.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
flake8==3.8.0
2+
ipyparallel
23
pandas
34
pytest>=4.6,<5
45
pytest-cov
@@ -8,8 +9,8 @@ coverage==4.5.4
89
mock>=1.0.0
910
nbsphinx
1011
sphinx_rtd_theme
11-
mypy==0.761
12+
mypy==0.790
1213
sqlalchemy-stubs
13-
Sphinx==2.2.0
14+
Sphinx==3.4.1
1415
twine
1516
wheel

0 commit comments

Comments
 (0)