Skip to content
This repository was archived by the owner on Jan 13, 2024. It is now read-only.

Commit 47b00fa

Browse files
xadupresdpython
andauthored
Updates CI to python 3.11 (#381)
* Updates CI to python 3.11 * Update appveyor.yml * remove .. version... not accurate * update * Update pip_helper.py * Update pip_helper.py * Update pip_helper.py * plt * Update test_graphviz_helper.py * Update test_graphviz_helper.py * ci * disable python 3.6 * update CI * bypass logging errors Co-authored-by: xavier dupré <xavier.dupre@gmail.com>
1 parent bea0d17 commit 47b00fa

38 files changed

+146
-111
lines changed

.circleci/config.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2
22
jobs:
33
build:
44
docker:
5-
- image: cimg/python:3.10.5
5+
- image: cimg/python:3.11.0
66

77
working_directory: ~/repo
88

@@ -18,8 +18,8 @@ jobs:
1818
name: Install pandoc
1919
command: |
2020
sudo apt-get update
21-
wget https://github.com/jgm/pandoc/releases/download/2.16.2/pandoc-2.16.2-1-amd64.deb
22-
sudo dpkg -i pandoc-2.16.2-1-amd64.deb
21+
wget https://github.com/jgm/pandoc/releases/download/2.19.2/pandoc-2.19.2-1-amd64.deb
22+
sudo dpkg -i pandoc-2.19.2-1-amd64.deb
2323
2424
- run:
2525
name: Install tex (unstable)

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ sudo: true
33
language: python
44
matrix:
55
include:
6-
- python: 3.10
6+
- python: 3.11
77
install:
88
- pip install -r requirements.txt
99
- npm install

_unittests/ut_helpgen/test_changes_graph.py

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,24 @@
11
"""
22
@brief test log(time=1s)
3-
@author Xavier Dupre
43
"""
5-
64
import sys
75
import os
86
import unittest
97
import warnings
108
import pandas
11-
12-
from pyquickhelper.loghelper.flog import fLOG
139
from pyquickhelper.helpgen.sphinx_main_helper import produce_code_graph_changes
14-
from pyquickhelper.pycode import fix_tkinter_issues_virtualenv
10+
from pyquickhelper.pycode import fix_tkinter_issues_virtualenv, skipif_appveyor
1511

1612

1713
class TestGraphChanges (unittest.TestCase):
1814

15+
@skipif_appveyor("Message: 'generated new fontManager'")
1916
def test_graph_changes(self):
20-
fLOG(
21-
__file__,
22-
self._testMethodName,
23-
OutputPrint=__name__ == "__main__")
24-
25-
abc = fix_tkinter_issues_virtualenv()
26-
for a in abc:
27-
fLOG(a)
28-
17+
fix_tkinter_issues_virtualenv()
2918
path = os.path.abspath(os.path.split(__file__)[0])
3019
data = os.path.join(path, "data", "changes.txt")
3120
df = pandas.read_csv(data, sep="\t")
32-
fLOG(type(df.loc[0, "date"]), df.loc[0, "date"])
3321
code = produce_code_graph_changes(df)
34-
fLOG(code)
3522

3623
enabled = True
3724
if enabled:
@@ -50,9 +37,8 @@ def test_graph_changes(self):
5037
'2015-w08', '2015-w09', '2015-w10', '2015-w11', '2015-w12', '2015-w13', '2015-w14', '2015-w15',
5138
'2015-w16', '2015-w17', '2015-w18', '2015-w19', '2015-w20']
5239
plt.close('all')
53-
plt.style.use('ggplot')
5440
with warnings.catch_warnings():
55-
warnings.simplefilter('ignore', DeprecationWarning)
41+
warnings.simplefilter('ignore', (DeprecationWarning, UserWarning))
5642
_, ax = plt.subplots(nrows=1, ncols=1, figsize=(10, 4))
5743
ax.bar(x, y)
5844
tig = ax.get_xticks()
@@ -70,10 +56,11 @@ def test_graph_changes(self):
7056
code = code.replace("plt.show", "#plt.show")
7157

7258
obj = compile(code, "", "exec")
73-
try:
74-
exec(obj, globals(), locals())
75-
except Exception as e:
76-
raise Exception(f"unable to run code:\n{code}") from e
59+
if sys.platform != "win32" and __name__ != "__main__":
60+
try:
61+
exec(obj, globals(), locals())
62+
except Exception as e:
63+
raise AssertionError(f"Unable to run code:\n{code}") from e
7764

7865

7966
if __name__ == "__main__":

_unittests/ut_helpgen/test_graphviz_helper.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@
99
import unittest
1010

1111
from pyquickhelper.pycode import (
12-
ExtTestCase, skipif_travis, skipif_circleci, get_temp_folder)
12+
ExtTestCase, skipif_travis, skipif_circleci, skipif_appveyor,
13+
get_temp_folder)
1314
from pyquickhelper.helpgen.graphviz_helper import plot_graphviz
1415

1516

1617
class TestHelpGenGraphvizHelper(ExtTestCase):
1718

1819
@skipif_travis('graphviz is not installed')
1920
@skipif_circleci('graphviz is not installed')
21+
@skipif_appveyor("Message: 'generated new fontManager'")
2022
def test_plot_graphviz(self):
2123
dot = dedent("""
2224
digraph D {
@@ -41,6 +43,7 @@ def test_plot_graphviz(self):
4143

4244
@skipif_travis('graphviz is not installed')
4345
@skipif_circleci('graphviz is not installed')
46+
@skipif_appveyor("Message: 'generated new fontManager'")
4447
def test_plot_graphviz_temp(self):
4548
dot = dedent("""
4649
digraph D {

_unittests/ut_helpgen/test_history.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import unittest
88

99
from pyquickhelper.loghelper.flog import fLOG
10-
from pyquickhelper.pycode import get_temp_folder
10+
from pyquickhelper.pycode import get_temp_folder, skipif_appveyor
1111
from pyquickhelper.helpgen.sphinx_main_helper import format_history
1212
from pyquickhelper.helpgen import rst2html
1313

@@ -135,6 +135,7 @@ def test_format_history_basic(self):
135135

136136
self.assertEqual(content.strip(" \r\n\t"), expect.strip(" \r\n\t"))
137137

138+
@skipif_appveyor("Message: 'generated new fontManager'")
138139
def test_format_history_long(self):
139140
fLOG(
140141
__file__,

_unittests/ut_ipythonhelper/test_notebook_kernels.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
from pyquickhelper.loghelper import fLOG
1313
from pyquickhelper.ipythonhelper import find_notebook_kernel, install_jupyter_kernel, get_notebook_kernel, remove_kernel
14-
from pyquickhelper.pycode import is_travis_or_appveyor
14+
from pyquickhelper.pycode import is_travis_or_appveyor, skipif_appveyor
1515

1616

1717
class TestNotebookKernels(unittest.TestCase):
@@ -29,6 +29,7 @@ def test_notebook_kernels_list(self):
2929
fLOG(k, type(v), v)
3030
self.assertTrue(kern in res)
3131

32+
@skipif_appveyor("Message: 'Installed kernelspec %s in %s'")
3233
def test_notebook_kernel_install(self):
3334
fLOG(
3435
__file__,

_unittests/ut_serverdoc/test_documentation_server.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,10 @@
22
@brief test log(time=4s)
33
44
"""
5-
6-
75
import sys
86
import os
97
import unittest
108
from http.server import HTTPServer as skip_
11-
129
from pyquickhelper.loghelper import fLOG, get_url_content
1310
from pyquickhelper.server import run_doc_server
1411
from pyquickhelper.pycode import skipif_appveyor, ExtTestCase

_unittests/ut_serverdoc/test_file_store_rest.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from pyquickhelper.server.filestore_fastapi import (
1212
create_fast_api_app, fast_api_submit, fast_api_query,
1313
fast_api_content, _get_password, _post_request)
14-
from fastapi.testclient import TestClient # pylint: disable=E0401
1514
from pyquickhelper.server.filestore_sqlite import SqlLite3FileStore
1615

1716

@@ -34,6 +33,7 @@ def test_simple_function2(self):
3433
@skipif_azure("There is no current event loop in thread")
3534
@skipif_circleci("There is no current event loop in thread")
3635
def test_file_store(self):
36+
from fastapi.testclient import TestClient # pylint: disable=E0401
3737
temp = get_temp_folder(__file__, "temp_file_storage_rest")
3838
name = os.path.join(temp, "filestore.db3")
3939
app = create_fast_api_app(name, "BBB")
@@ -116,6 +116,7 @@ def test_file_store(self):
116116
@skipif_azure("There is no current event loop in thread")
117117
@skipif_circleci("There is no current event loop in thread")
118118
def test_file_store_df(self):
119+
from fastapi.testclient import TestClient # pylint: disable=E0401
119120
temp = get_temp_folder(__file__, "temp_file_storage_rest_df")
120121
name = os.path.join(temp, "filestore.db3")
121122
app = create_fast_api_app(name, "BBB")

_unittests/ut_sphinxext/test_bigger_extension.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import os
66
import unittest
77
import warnings
8-
from pyquickhelper.pycode import get_temp_folder, ignore_warnings
8+
from pyquickhelper.pycode import (
9+
get_temp_folder, ignore_warnings, skipif_appveyor)
910
from pyquickhelper.helpgen import rst2html
1011
from pyquickhelper.sphinxext import bigger_role
1112
from docutils.parsers.rst.roles import register_canonical_role
@@ -18,6 +19,7 @@ def test_post_parse_sn(self):
1819
register_canonical_role("bigger", bigger_role)
1920

2021
@ignore_warnings(PendingDeprecationWarning)
22+
@skipif_appveyor("Message: 'Running Sphinx v5.3.0'")
2123
def test_bigger(self):
2224
from docutils import nodes as skip_
2325

@@ -68,6 +70,7 @@ def test_bigger(self):
6870
f.write(html)
6971

7072
@ignore_warnings(PendingDeprecationWarning)
73+
@skipif_appveyor("Message: 'Running Sphinx v5.3.0'")
7174
def test_bigger_inline(self):
7275
from docutils import nodes as skip_
7376

_unittests/ut_sphinxext/test_blocref_extension.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66
import unittest
77
from docutils.parsers.rst import directives
88
from pyquickhelper.loghelper.flog import fLOG
9-
from pyquickhelper.pycode import get_temp_folder, ignore_warnings
9+
from pyquickhelper.pycode import (
10+
get_temp_folder, ignore_warnings, skipif_appveyor)
1011
from pyquickhelper.helpgen import rst2html
1112
from pyquickhelper.sphinxext import BlocRef, BlocRefList
12-
from pyquickhelper.sphinxext.sphinx_blocref_extension import blocref_node, visit_blocref_node, depart_blocref_node
13+
from pyquickhelper.sphinxext.sphinx_blocref_extension import (
14+
blocref_node, visit_blocref_node, depart_blocref_node)
1315

1416

1517
class TestBlocRefExtension(unittest.TestCase):
@@ -20,6 +22,7 @@ def test_post_parse_blocref(self):
2022
directives.register_directive("blocreflist", BlocRefList)
2123

2224
@ignore_warnings(PendingDeprecationWarning)
25+
@skipif_appveyor("logging error")
2326
def test_blocref_rst(self):
2427
from docutils import nodes as skip_
2528

@@ -66,6 +69,7 @@ def test_blocref_rst(self):
6669
raise Exception(html)
6770

6871
@ignore_warnings(PendingDeprecationWarning)
72+
@skipif_appveyor("Message: 'Running Sphinx v5.3.0'")
6973
def test_blocref_html(self):
7074
from docutils import nodes as skip_
7175

@@ -112,6 +116,7 @@ def test_blocref_html(self):
112116
raise Exception(html)
113117

114118
@ignore_warnings(PendingDeprecationWarning)
119+
@skipif_appveyor("Message: 'Running Sphinx v5.3.0'")
115120
def test_blocref2(self):
116121
from docutils import nodes as skip_
117122

@@ -156,6 +161,7 @@ def test_blocref2(self):
156161
raise Exception(html)
157162

158163
@ignore_warnings(PendingDeprecationWarning)
164+
@skipif_appveyor("Message: 'Running Sphinx v5.3.0'")
159165
def test_blocreflist(self):
160166
from docutils import nodes as skip_
161167

0 commit comments

Comments
 (0)