Skip to content

Commit d9c59c1

Browse files
committed
Add unit test for inspector module
1 parent 09af7e2 commit d9c59c1

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

tests/runtime/test_runtime.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,3 +163,55 @@ def test_arrow_parquet_runtime():
163163
interpreter.execute(tree)
164164

165165
assert isinstance(interpreter.get_name_value("result"), bool)
166+
167+
168+
@pytest.mark.skipif(
169+
not _has_module("inspector"), reason="Inspector is not available"
170+
)
171+
def test_inspector_is_available():
172+
code = """
173+
result = inspector.is_available()
174+
"""
175+
parser = ExpressionsParser()
176+
interpreter = ExpressionsInterpreter()
177+
tree = parser.parse(code)
178+
interpreter.execute(tree)
179+
180+
assert isinstance(interpreter.get_name_value("result"), bool)
181+
182+
183+
@pytest.mark.skipif(
184+
not _has_module("inspector"), reason="Inspector is not available"
185+
)
186+
def test_inspector_runtime():
187+
code = """
188+
sig = inspector.signature(json.dumps)
189+
"""
190+
parser = ExpressionsParser()
191+
interpreter = ExpressionsInterpreter()
192+
tree = parser.parse(code)
193+
interpreter.execute(tree)
194+
195+
sig = interpreter.get_name_value("sig")
196+
assert isinstance(sig, str)
197+
assert "json.dumps" in sig
198+
199+
code = """
200+
def add(a: int, b: int) -> int:
201+
return a + b
202+
203+
sig = inspector.signature(add)
204+
"""
205+
tree = parser.parse(code)
206+
interpreter.execute(tree)
207+
208+
sig = interpreter.get_name_value("sig")
209+
assert isinstance(sig, str)
210+
assert "add" in sig
211+
212+
code = """
213+
sig = inspector.signature(json)
214+
"""
215+
with pytest.raises(ValueError):
216+
tree = parser.parse(code)
217+
interpreter.execute(tree)

0 commit comments

Comments
 (0)