@@ -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