ai-content-maker/.venv/Lib/site-packages/numba/tests/gdb/test_basic.py

40 lines
1.1 KiB
Python

# NOTE: This test is sensitive to line numbers as it checks breakpoints
from numba import njit, types
from numba.tests.gdb_support import GdbMIDriver
from numba.tests.support import TestCase, needs_subprocess
import unittest
@needs_subprocess
class Test(TestCase):
def test(self):
@njit(debug=True)
def foo(x):
z = 7 + x # break here
return x, z
foo(120)
sz = types.intp.bitwidth
driver = GdbMIDriver(__file__)
driver.set_breakpoint(line=14)
driver.run()
driver.check_hit_breakpoint(1)
driver.stack_list_arguments(2)
expect = ('[frame={level="0",args=[{name="x",type="int%s",'
'value="120"}]}]' % sz)
driver.assert_output(expect)
driver.stack_list_variables(1)
expect = '[{name="x",arg="1",value="120"},{name="z",value="0"}]'
driver.assert_output(expect)
driver.next()
driver.stack_list_variables(1)
expect = '[{name="x",arg="1",value="120"},{name="z",value="127"}]'
driver.assert_output(expect)
driver.quit()
if __name__ == '__main__':
unittest.main()