|
1 | 1 | import gdbgui |
2 | 2 | import pytest # type: ignore |
3 | 3 | import sys |
| 4 | +from gdbgui.statemanager import StateManager, GDB_MI_FLAG |
4 | 5 |
|
5 | 6 |
|
6 | 7 | @pytest.mark.parametrize( |
7 | | - "test_argv, init_bin_args, gdb_args", |
| 8 | + "test_argv, expected_gdb_args", |
8 | 9 | [ |
9 | | - (["gdbgui"], [], []), |
10 | | - (["gdbgui", "--gdb-args", "mybin -myargs"], [], ["mybin", "-myargs"]), |
11 | | - (["gdbgui", "--args", "mybin", "-myargs"], ["mybin", "-myargs"], []), |
| 10 | + (["gdbgui"], GDB_MI_FLAG), |
| 11 | + (["gdbgui", "mybin -myargs"], GDB_MI_FLAG + ["mybin", "-myargs"]), |
| 12 | + ( |
| 13 | + ["gdbgui", "--gdb-args", "--nx --tty=/dev/ttys002 mybin -myargs"], |
| 14 | + GDB_MI_FLAG + ["--nx", "--tty=/dev/ttys002", "mybin", "-myargs"], |
| 15 | + ), |
| 16 | + ( |
| 17 | + ["gdbgui", "-n", "--args", "mybin", "-myargs"], |
| 18 | + GDB_MI_FLAG + ["--args", "mybin", "-myargs"], |
| 19 | + ), |
12 | 20 | ], |
13 | 21 | ) |
14 | | -def test_argument_parsing(monkeypatch, test_argv, init_bin_args, gdb_args): |
| 22 | +def test_arguments_passed_to_gdb(monkeypatch, test_argv, expected_gdb_args): |
15 | 23 | def mock_setup_backend(*args, **kwargs): |
16 | 24 | pass |
17 | 25 |
|
18 | 26 | monkeypatch.setattr(gdbgui.backend, "setup_backend", mock_setup_backend) |
19 | 27 | monkeypatch.setattr(sys, "argv", test_argv) |
20 | 28 | gdbgui.backend.main() |
21 | | - assert gdbgui.backend.app.config.get("initial_binary_and_args") == init_bin_args |
22 | | - assert gdbgui.backend.app.config.get("gdb_args") == gdb_args |
| 29 | + |
| 30 | + state = StateManager(gdbgui.backend.app.config) |
| 31 | + assert len(state.get_gdb_args()) == len(expected_gdb_args) |
0 commit comments