Skip to content

Commit c8e86c6

Browse files
committed
🚨 Apply black formatting to Python files that need it
Problem: - Not all python passes the check-black-format target. Solution: - Format files with black.
1 parent e51b460 commit c8e86c6

File tree

2 files changed

+99
-38
lines changed

2 files changed

+99
-38
lines changed

test/pbt/conftest.py

Lines changed: 55 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import pytest
2-
import hypothesis
2+
import hypothesis
33
import json
44
import subprocess
55
import tempfile
@@ -12,14 +12,42 @@
1212
profile = os.environ.get("HYPOTHESIS_PROFILE", "fast")
1313
hypothesis.settings.load_profile(profile)
1414

15+
1516
def pytest_addoption(parser):
16-
parser.addoption("--compiler", action="store", help="C++ compiler", default=None, required=False)
17-
parser.addoption("--compiler-args", action="store", help="C++ compiler arguments", default="", required=False)
18-
parser.addoption("--includes", action="store", help="C++ include directories", default="", required=False)
17+
parser.addoption(
18+
"--compiler", action="store", help="C++ compiler", default=None, required=False
19+
)
20+
parser.addoption(
21+
"--compiler-args",
22+
action="store",
23+
help="C++ compiler arguments",
24+
default="",
25+
required=False,
26+
)
27+
parser.addoption(
28+
"--includes",
29+
action="store",
30+
help="C++ include directories",
31+
default="",
32+
required=False,
33+
)
34+
35+
parser.addoption(
36+
"--compile-commands",
37+
action="store",
38+
help="cmake compiler commands",
39+
default=None,
40+
required=False,
41+
)
42+
parser.addoption(
43+
"--prototype-driver",
44+
action="store",
45+
help="Prototype .cpp filename to gather compilation command from",
46+
default=None,
47+
required=False,
48+
)
49+
1950

20-
parser.addoption("--compile-commands", action="store", help="cmake compiler commands", default=None, required=False)
21-
parser.addoption("--prototype-driver", action="store", help="Prototype .cpp filename to gather compilation command from", default=None, required=False)
22-
2351
@pytest.fixture(scope="module")
2452
def cmake_compilation_command(pytestconfig):
2553
compile_commands_filename = pytestconfig.getoption("compile_commands")
@@ -40,42 +68,47 @@ def f(filename):
4068

4169
return f
4270

71+
4372
@pytest.fixture(scope="module")
4473
def args_compilation_command(pytestconfig):
4574
compiler = pytestconfig.getoption("compiler")
4675
if compiler is None:
4776
return None
4877

49-
include_dirs = [f"-I{i}" for i in pytestconfig.getoption("includes").split(",") if i]
50-
compiler_args = [i for i in pytestconfig.getoption("compiler_args").split(",") if i]
51-
78+
include_dirs = [
79+
f"-I{i}" for i in pytestconfig.getoption("includes").split(",") if i
80+
]
81+
compiler_args = [i for i in pytestconfig.getoption("compiler_args").split(",") if i]
82+
5283
def f(filename):
53-
compile_command = [
54-
compiler, temp_cpp_file_path,
55-
"-o", temp_cpp_file_path + ".o"
56-
] + compiler_args + include_args
84+
compile_command = (
85+
[compiler, temp_cpp_file_path, "-o", temp_cpp_file_path + ".o"]
86+
+ compiler_args
87+
+ include_args
88+
)
5789
return compile_command
58-
59-
return f
6090

91+
return f
6192

6293

6394
@pytest.fixture(scope="module")
6495
def compile(cmake_compilation_command, args_compilation_command):
6596
cmd = cmake_compilation_command
6697
if cmd is None:
6798
cmd = args_compilation_command
68-
99+
69100
def f(code_str):
70101
code_str += "\n"
71102
with tempfile.NamedTemporaryFile(delete=False, suffix=".cpp") as temp_cpp_file:
72-
temp_cpp_file.write(code_str.encode('utf-8'))
103+
temp_cpp_file.write(code_str.encode("utf-8"))
73104
temp_cpp_file_path = temp_cpp_file.name
74-
105+
75106
try:
76107
compile_command = cmd(temp_cpp_file_path)
77-
result = subprocess.run(compile_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
78-
108+
result = subprocess.run(
109+
compile_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE
110+
)
111+
79112
if result.returncode == 0:
80113
return True
81114
else:
@@ -87,7 +120,7 @@ def f(code_str):
87120
f"Compiler stdout:\n{result.stdout.decode('utf-8')}\n"
88121
)
89122
pytest.fail(error_message)
90-
123+
91124
except Exception as e:
92125
pytest.fail(str(e))
93126
finally:
@@ -96,4 +129,3 @@ def f(code_str):
96129
os.remove(temp_cpp_file_path + ".out")
97130

98131
return f
99-

test/pbt/tuple.py

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,64 @@
11
from hypothesis import strategies as st, given, settings, event, assume
22

3+
34
def unpack(l):
45
return ", ".join([str(i) for i in l])
56

7+
68
small_ints = st.integers(min_value=-100, max_value=100)
79

10+
811
@st.composite
912
def tuples(draw, children):
1013
values = draw(st.lists(children))
1114
return f"stdx::make_tuple({unpack(values)})"
1215

16+
1317
@st.composite
1418
def list_trees(draw, leaves=st.integers(), max_leaves=100):
15-
l = draw(st.recursive(leaves, lambda children: st.lists(children), max_leaves=max_leaves))
19+
l = draw(
20+
st.recursive(leaves, lambda children: st.lists(children), max_leaves=max_leaves)
21+
)
1622
if not isinstance(l, list):
1723
l = [l]
1824
return l
1925

26+
2027
def as_tuple_tree(value):
2128
if isinstance(value, list):
2229
values = [as_tuple_tree(v) for v in value]
2330
return f"stdx::make_tuple({unpack(values)})"
2431
else:
2532
return value
2633

34+
2735
@st.composite
2836
def tuple_trees(draw, leaves=st.integers()):
2937
return draw(st.recursive(leaves, lambda children: tuples(children)))
3038

39+
3140
@settings(deadline=50000)
3241
@given(tuple_trees(small_ints))
3342
def test_tuple_trees(compile, t):
34-
assert compile(f"""
43+
assert compile(
44+
f"""
3545
#include <stdx/tuple.hpp>
3646
3747
[[maybe_unused]] constexpr auto t = {t};
3848
3949
int main() {{
4050
return 0;
4151
}}
42-
""")
52+
"""
53+
)
54+
4355

4456
@settings(deadline=50000)
4557
@given(list_trees(small_ints))
4658
def test_tuple_size(compile, l):
4759
t = as_tuple_tree(l)
48-
assert compile(f"""
60+
assert compile(
61+
f"""
4962
#include <stdx/tuple.hpp>
5063
5164
constexpr auto t = {t};
@@ -55,7 +68,8 @@ def test_tuple_size(compile, l):
5568
int main() {{
5669
return 0;
5770
}}
58-
""")
71+
"""
72+
)
5973

6074

6175
@settings(deadline=50000)
@@ -67,7 +81,8 @@ def test_get_by_index(compile, l, i):
6781

6882
expected_v = as_tuple_tree(l[i])
6983

70-
assert compile(f"""
84+
assert compile(
85+
f"""
7186
#include <stdx/tuple.hpp>
7287
7388
using namespace stdx::literals;
@@ -84,7 +99,8 @@ def test_get_by_index(compile, l, i):
8499
int main() {{
85100
return 0;
86101
}}
87-
""")
102+
"""
103+
)
88104

89105

90106
@settings(deadline=50000)
@@ -95,7 +111,8 @@ def test_tuple_cat(compile, ls):
95111
flattened_ls = [i for subl in ls for i in subl]
96112
expected = as_tuple_tree(flattened_ls)
97113

98-
assert compile(f"""
114+
assert compile(
115+
f"""
99116
#include <stdx/tuple.hpp>
100117
#include <stdx/tuple_algorithms.hpp>
101118
@@ -104,7 +121,8 @@ def test_tuple_cat(compile, ls):
104121
int main() {{
105122
return 0;
106123
}}
107-
""")
124+
"""
125+
)
108126

109127

110128
@settings(deadline=50000)
@@ -120,7 +138,8 @@ def test_push(compile, l, elem):
120138

121139
t = as_tuple_tree(l)
122140

123-
assert compile(f"""
141+
assert compile(
142+
f"""
124143
#include <stdx/tuple.hpp>
125144
#include <stdx/tuple_algorithms.hpp>
126145
@@ -138,24 +157,29 @@ def test_push(compile, l, elem):
138157
int main() {{
139158
return 0;
140159
}}
141-
""")
160+
"""
161+
)
162+
142163

143164
from itertools import product
144165

166+
145167
def put_in_list(i):
146168
if isinstance(i, list):
147169
return i
148170
else:
149171
return [i]
150172

173+
151174
@settings(deadline=50000)
152175
@given(list_trees(small_ints, max_leaves=15))
153176
def test_cartesian_product(compile, ls):
154177
ls = [put_in_list(i) for i in ls]
155178
ts = [as_tuple_tree(l) for l in ls]
156179
expected = as_tuple_tree([list(p) for p in product(*ls)])
157180

158-
assert compile(f"""
181+
assert compile(
182+
f"""
159183
#include <stdx/tuple.hpp>
160184
#include <stdx/tuple_algorithms.hpp>
161185
@@ -164,10 +188,13 @@ def test_cartesian_product(compile, ls):
164188
int main() {{
165189
return 0;
166190
}}
167-
""")
191+
"""
192+
)
193+
168194

169195
from functools import reduce
170196

197+
171198
@settings(deadline=50000)
172199
@given(st.lists(small_ints))
173200
def test_star_of(compile, l):
@@ -177,7 +204,8 @@ def test_star_of(compile, l):
177204

178205
t = as_tuple_tree(l)
179206

180-
assert compile(f"""
207+
assert compile(
208+
f"""
181209
#include <stdx/tuple.hpp>
182210
#include <stdx/tuple_algorithms.hpp>
183211
@@ -190,4 +218,5 @@ def test_star_of(compile, l):
190218
int main() {{
191219
return 0;
192220
}}
193-
""")
221+
"""
222+
)

0 commit comments

Comments
 (0)