Skip to content

Commit a5463eb

Browse files
authored
Merge pull request #5 from pytest-dev/4-supporting-pytest-8
Update CI and support pytest 8
2 parents 3c5a514 + 6f22f8c commit a5463eb

File tree

27 files changed

+395
-532
lines changed

27 files changed

+395
-532
lines changed
Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,36 @@
1-
name: Python Package
2-
on: [push, pull_request]
1+
name: Python Test
2+
on:
3+
push:
4+
branches: [main]
5+
pull_request:
6+
branches: [main]
37

48
jobs:
59
build-linux:
610
runs-on: ubuntu-latest
711
strategy:
12+
fail-fast: false
813
matrix:
914
python-version: ['3.7', '3.8', '3.9', '3.10']
1015

1116
steps:
12-
- uses: actions/checkout@v3
17+
- uses: actions/checkout@v4
1318
- name: Set up Python ${{ matrix.python-version }}
14-
uses: actions/setup-python@v3
19+
uses: actions/setup-python@v5
1520
with:
1621
python-version: ${{ matrix.python-version }}
1722
- name: Install dependencies
1823
run: |
1924
python -m pip install --upgrade pip
2025
pip install -e .[dev]
21-
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
22-
- name: Test with pytest
26+
- name: Test with tox
2327
run: |
24-
cd tests
25-
pytest .
28+
tox run
29+
env:
30+
TOX_GH_MAJOR_MINOR: ${{ matrix.python-version }}
2631
- name: Test parallel execution
2732
run: |
2833
cd integration-tests/parallelization
2934
bash time-parallel-tests.sh .
3035
- name: Publish Unit Test Results
31-
uses: EnricoMi/publish-unit-test-result-action@v2.0.0-beta.2
36+
uses: EnricoMi/publish-unit-test-result-action@v2

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2022 Inline Tests Dev Team
1+
Copyright (c) 2022-present Inline Tests Dev Team
22

33
Permission is hereby granted, free of charge, to any person obtaining a copy
44
of this software and associated documentation files (the "Software"), to deal

demo/example.py

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,34 @@
33
import re
44
from inline import itest
55

6+
67
def get_assignment_map_from_checkpoint(tvars, init_checkpoint):
7-
"""Compute the union of the current variables and checkpoint variables."""
8-
assignment_map = {}
9-
initialized_variable_names = {}
8+
"""Compute the union of the current variables and checkpoint variables."""
9+
assignment_map = {}
10+
initialized_variable_names = {}
1011

11-
name_to_variable = collections.OrderedDict()
12-
for var in tvars:
13-
name = var.name
14-
# statement under test
15-
m = re.match("^(.*):\\d+$", name)
16-
# inline test
17-
itest().given(name, "a:0").check_eq(m.group(1), "a")
18-
# a failing inline test
19-
# itest().given(name, "a:0").check_eq(m.group(1), "aaa")
20-
if m is not None:
21-
name = m.group(1)
22-
name_to_variable[name] = var
12+
name_to_variable = collections.OrderedDict()
13+
for var in tvars:
14+
name = var.name
15+
# statement under test
16+
m = re.match("^(.*):\\d+$", name)
17+
# inline test
18+
itest().given(name, "a:0").check_eq(m.group(1), "a")
19+
# a failing inline test
20+
# itest().given(name, "a:0").check_eq(m.group(1), "aaa")
21+
if m is not None:
22+
name = m.group(1)
23+
name_to_variable[name] = var
2324

24-
init_vars = tf.train.list_variables(init_checkpoint)
25+
init_vars = tf.train.list_variables(init_checkpoint)
2526

26-
assignment_map = collections.OrderedDict()
27-
for x in init_vars:
28-
(name, var) = (x[0], x[1])
29-
if name not in name_to_variable:
30-
continue
31-
assignment_map[name] = name
32-
initialized_variable_names[name] = 1
33-
initialized_variable_names[name + ":0"] = 1
27+
assignment_map = collections.OrderedDict()
28+
for x in init_vars:
29+
(name, var) = (x[0], x[1])
30+
if name not in name_to_variable:
31+
continue
32+
assignment_map[name] = name
33+
initialized_variable_names[name] = 1
34+
initialized_variable_names[name + ":0"] = 1
3435

35-
return (assignment_map, initialized_variable_names)
36+
return (assignment_map, initialized_variable_names)

demo/features.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,39 +3,45 @@
33

44
### display name: customize test name, default name is filename+line number
55

6+
67
def inline_test_with_name(a):
78
b = a + 1
89
itest(test_name="test-with-name").given(a, 1).check_eq(b, 2)
910

1011

1112
### parameterized tests: pass different sets of inputs to tests
1213

14+
1315
def inline_test_parameterized(a):
1416
b = a + 1
1517
itest(parameterized=True).given(a, [1, 2, 3]).check_eq(b, [2, 3, 4])
1618

1719

1820
### repeated tests: repeat a test a specified number of times
1921

22+
2023
def inline_test_repeated(a):
2124
b = a + 1
2225
itest(repeated=3).given(a, 1).check_eq(b, 2)
2326

2427

2528
### disabled tests: disable a test
2629

30+
2731
def inline_test_disabled(a):
2832
b = a + 1
2933
itest(disabled=True).given(a, 1).check_eq(b, "this test is disabled")
3034

3135

3236
### timeout: fail a test if the execution time exceeds a given duration
3337

38+
3439
def slow_method():
3540
time.sleep(0.01)
3641
# time.sleep(0.1)
3742
return 1
3843

44+
3945
def inline_test_with_timeout(a):
4046
b = a + 1
4147
# this inline test will fail if you increase the sleep time in slow_method
@@ -44,13 +50,15 @@ def inline_test_with_timeout(a):
4450

4551
### assumptions: execute test when the assumption is satisfied
4652

53+
4754
def inline_test_with_assume(a):
4855
b = a + 1
4956
itest().assume(False).given(a, 1).check_eq(b, 2)
5057

5158

5259
### more assertions
5360

61+
5462
def inline_test_assertions(a):
5563
b = a + 1
5664
itest().given(a, 1).check_neq(b, 1)
@@ -67,6 +75,7 @@ def inline_test_assertions(a):
6775
### tagged tests: tag tests for filtering
6876
### run tests in order: Run some tests first
6977

78+
7079
def inline_test_with_tags(a):
7180
b = a + 1
7281
itest(test_name="foo1", tag=["foo"]).given(a, 1).check_eq(b, 2)

demo/parallel/a.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
a = 0
44
a = a + 1
5-
itest("1", tag = ["add"]).given(a, 1).check_eq(a, 2)
6-
itest("1", tag = ["add"]).given(a, 1).check_eq(a, 2)
7-
itest("1", tag = ["add"]).given(a, 1).check_eq(a, 2)
5+
itest("1", tag=["add"]).given(a, 1).check_eq(a, 2)
6+
itest("1", tag=["add"]).given(a, 1).check_eq(a, 2)
7+
itest("1", tag=["add"]).given(a, 1).check_eq(a, 2)
88
a = a + 2
99
itest("2").given(a, 1).check_eq(a, 3)
1010
itest("2").given(a, 1).check_eq(a, 3)
1111
itest("2").given(a, 1).check_eq(a, 3)
1212
a = a - 1
13-
itest("3", tag = ["minus"]).given(a, 1).check_eq(a, 0)
14-
itest("3", tag = ["minus"]).given(a, 1).check_eq(a, 0)
15-
itest("3", tag = ["minus"]).given(a, 1).check_eq(a, 0)
13+
itest("3", tag=["minus"]).given(a, 1).check_eq(a, 0)
14+
itest("3", tag=["minus"]).given(a, 1).check_eq(a, 0)
15+
itest("3", tag=["minus"]).given(a, 1).check_eq(a, 0)

demo/parallel/b.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
sleep = 0.1
55
b = 0
66
b = b + 1
7-
itest("1", tag = ["add"]).given(b, 1).check_eq(b, 2).check_eq(time.sleep(sleep), None)
8-
itest("1", tag = ["add"]).given(b, 1).check_eq(b, 2)
9-
itest("1", tag = ["add"]).given(b, 1).check_eq(b, 2)
7+
itest("1", tag=["add"]).given(b, 1).check_eq(b, 2).check_eq(time.sleep(sleep), None)
8+
itest("1", tag=["add"]).given(b, 1).check_eq(b, 2)
9+
itest("1", tag=["add"]).given(b, 1).check_eq(b, 2)
1010
b = b + 2
1111
itest("2").given(b, 1).check_eq(b, 3).check_eq(time.sleep(sleep), None)
1212
itest("2").given(b, 1).check_eq(b, 3)
1313
itest("2").given(b, 1).check_eq(b, 3)
1414
b = b - 1
15-
itest("3", tag = ["minus"]).given(b, 1).check_eq(b, 0).check_eq(time.sleep(sleep), None)
16-
itest("3", tag = ["minus"]).given(b, 1).check_eq(b, 0)
17-
itest("3", tag = ["minus"]).given(b, 1).check_eq(b, 0)
15+
itest("3", tag=["minus"]).given(b, 1).check_eq(b, 0).check_eq(time.sleep(sleep), None)
16+
itest("3", tag=["minus"]).given(b, 1).check_eq(b, 0)
17+
itest("3", tag=["minus"]).given(b, 1).check_eq(b, 0)

demo/parallel/c.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
sleep = 0.2
55
c = 0
66
c = c + 1
7-
itest("1", tag = ["add"]).given(c, 1).check_eq(c, 2).check_eq(time.sleep(sleep), None)
8-
itest("1", tag = ["add"]).given(c, 1).check_eq(c, 2)
9-
itest("1", tag = ["add"]).given(c, 1).check_eq(c, 2)
7+
itest("1", tag=["add"]).given(c, 1).check_eq(c, 2).check_eq(time.sleep(sleep), None)
8+
itest("1", tag=["add"]).given(c, 1).check_eq(c, 2)
9+
itest("1", tag=["add"]).given(c, 1).check_eq(c, 2)
1010
c = c + 2
1111
itest("2").given(c, 1).check_eq(c, 3).check_eq(time.sleep(sleep), None)
1212
itest("2").given(c, 1).check_eq(c, 3)
1313
itest("2").given(c, 1).check_eq(c, 3)
1414
c = c - 1
15-
itest("3", tag = ["minus"]).given(c, 1).check_eq(c, 0).check_eq(time.sleep(sleep), None)
16-
itest("3", tag = ["minus"]).given(c, 1)
17-
itest("3", tag = ["minus"]).given(c, 1)
15+
itest("3", tag=["minus"]).given(c, 1).check_eq(c, 0).check_eq(time.sleep(sleep), None)
16+
itest("3", tag=["minus"]).given(c, 1)
17+
itest("3", tag=["minus"]).given(c, 1)

demo/parallel/d.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
sleep = 0.1
55
d = 0
66
d = d + 1
7-
itest("1", tag = ["add"]).given(d, 1).check_eq(d, 2).check_eq(time.sleep(sleep), None)
8-
itest("1", tag = ["add"]).given(d, 1).check_eq(d, 2)
9-
itest("1", tag = ["add"]).given(d, 1).check_eq(d, 2)
7+
itest("1", tag=["add"]).given(d, 1).check_eq(d, 2).check_eq(time.sleep(sleep), None)
8+
itest("1", tag=["add"]).given(d, 1).check_eq(d, 2)
9+
itest("1", tag=["add"]).given(d, 1).check_eq(d, 2)
1010
d = d + 2
1111
itest("2").given(d, 1).check_eq(d, 3).check_eq(time.sleep(sleep), None)
1212
itest("2").given(d, 1).check_eq(d, 3)
1313
itest("2").given(d, 1).check_eq(d, 3)
1414
d = d - 1
15-
itest("3", tag = ["minus"]).given(d, 1).check_eq(d, 0).check_eq(time.sleep(sleep), None)
16-
itest("3", tag = ["minus"]).given(d, 1).check_eq(d, 0)
17-
itest("3", tag = ["minus"]).given(d, 1).check_eq(d, 0)
15+
itest("3", tag=["minus"]).given(d, 1).check_eq(d, 0).check_eq(time.sleep(sleep), None)
16+
itest("3", tag=["minus"]).given(d, 1).check_eq(d, 0)
17+
itest("3", tag=["minus"]).given(d, 1).check_eq(d, 0)

integration-tests/parallelization/test_files/a.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
a = 0
44
a = a + 1
5-
itest("1", tag = ["add"]).given(a, 1).check_eq(a, 2)
6-
itest("1", tag = ["add"]).given(a, 1).check_eq(a, 2)
7-
itest("1", tag = ["add"]).given(a, 1).check_eq(a, 2)
5+
itest("1", tag=["add"]).given(a, 1).check_eq(a, 2)
6+
itest("1", tag=["add"]).given(a, 1).check_eq(a, 2)
7+
itest("1", tag=["add"]).given(a, 1).check_eq(a, 2)
88
a = a + 2
99
itest("2").given(a, 1).check_eq(a, 3)
1010
itest("2").given(a, 1).check_eq(a, 3)
1111
itest("2").given(a, 1).check_eq(a, 3)
1212
a = a - 1
13-
itest("3", tag = ["minus"]).given(a, 1).check_eq(a, 0)
14-
itest("3", tag = ["minus"]).given(a, 1).check_eq(a, 0)
15-
itest("3", tag = ["minus"]).given(a, 1).check_eq(a, 0)
13+
itest("3", tag=["minus"]).given(a, 1).check_eq(a, 0)
14+
itest("3", tag=["minus"]).given(a, 1).check_eq(a, 0)
15+
itest("3", tag=["minus"]).given(a, 1).check_eq(a, 0)

integration-tests/parallelization/test_files/b.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
sleep = 1
55
b = 0
66
b = b + 1
7-
itest("1", tag = ["add"]).given(b, 1).check_eq(b, 2).check_eq(time.sleep(sleep), None)
8-
itest("1", tag = ["add"]).given(b, 1).check_eq(b, 2)
9-
itest("1", tag = ["add"]).given(b, 1).check_eq(b, 2)
7+
itest("1", tag=["add"]).given(b, 1).check_eq(b, 2).check_eq(time.sleep(sleep), None)
8+
itest("1", tag=["add"]).given(b, 1).check_eq(b, 2)
9+
itest("1", tag=["add"]).given(b, 1).check_eq(b, 2)
1010
b = b + 2
1111
itest("2").given(b, 1).check_eq(b, 3).check_eq(time.sleep(sleep), None)
1212
itest("2").given(b, 1).check_eq(b, 3)
1313
itest("2").given(b, 1).check_eq(b, 3)
1414
b = b - 1
15-
itest("3", tag = ["minus"]).given(b, 1).check_eq(b, 0).check_eq(time.sleep(sleep), None)
16-
itest("3", tag = ["minus"]).given(b, 1).check_eq(b, 0)
17-
itest("3", tag = ["minus"]).given(b, 1).check_eq(b, 0)
15+
itest("3", tag=["minus"]).given(b, 1).check_eq(b, 0).check_eq(time.sleep(sleep), None)
16+
itest("3", tag=["minus"]).given(b, 1).check_eq(b, 0)
17+
itest("3", tag=["minus"]).given(b, 1).check_eq(b, 0)

0 commit comments

Comments
 (0)