xref: /freebsd/sys/tools/gdb/selftest.py (revision ea675a43f09ba569adf1dd17b4f1ced970e48de4)
1*ea675a43SMark Johnston#
2*ea675a43SMark Johnston# Copyright (c) 2025 Mark Johnston <markj@FreeBSD.org>
3*ea675a43SMark Johnston#
4*ea675a43SMark Johnston# SPDX-License-Identifier: BSD-2-Clause
5*ea675a43SMark Johnston#
6*ea675a43SMark Johnston
7*ea675a43SMark Johnstonimport gdb
8*ea675a43SMark Johnston
9*ea675a43SMark Johnstoncmds = ["acttrace",
10*ea675a43SMark Johnston        "p $V(\"tcbinfo\")",
11*ea675a43SMark Johnston        "p $V(\"tcbinfo\", vnet0)",
12*ea675a43SMark Johnston        "p $V(\"pf_status\")",
13*ea675a43SMark Johnston        "p $V(\"pf_status\", \"gdbselftest\")",
14*ea675a43SMark Johnston        "p $PCPU(\"curthread\")",
15*ea675a43SMark Johnston        "p $PCPU(\"curthread\", 0)",
16*ea675a43SMark Johnston        "p/x $PCPU(\"hardclocktime\", 1)",
17*ea675a43SMark Johnston        "p $PCPU(\"pqbatch\")[0][0]",
18*ea675a43SMark Johnston        "p $PCPU(\"ss\", 1)",
19*ea675a43SMark Johnston        ]
20*ea675a43SMark Johnston
21*ea675a43SMark Johnstonfor cmd in cmds:
22*ea675a43SMark Johnston    try:
23*ea675a43SMark Johnston        print(f"Running command: '{cmd}'")
24*ea675a43SMark Johnston        gdb.execute(cmd)
25*ea675a43SMark Johnston    except gdb.error as e:
26*ea675a43SMark Johnston        print(f"Command '{cmd}' failed: {e}")
27*ea675a43SMark Johnston        break
28*ea675a43SMark Johnston
29*ea675a43SMark Johnston# We didn't hit any unexpected errors.  This isn't as good as actually
30*ea675a43SMark Johnston# verifying the output, but it's better than nothing.
31*ea675a43SMark Johnstonprint("Everything seems OK")
32