diff --git a/gdb-port/startup_scripts/README.md b/gdb-port/startup_scripts/README.md new file mode 100644 index 0000000000000000000000000000000000000000..6efb31b50da3b5c31fc008e52812ce53bd75877a --- /dev/null +++ b/gdb-port/startup_scripts/README.md @@ -0,0 +1 @@ +These scripts serve as examples of loading the hammer commands and various use cases, e.g. non-interactive use, running tests, etc. Primarily for informational purposes, and may be outdated. diff --git a/gdb-port/startup_scripts/shell.sh b/gdb-port/startup_scripts/shell.sh new file mode 100755 index 0000000000000000000000000000000000000000..e32a9582741b9228d7952bef9269849b0c1a861e --- /dev/null +++ b/gdb-port/startup_scripts/shell.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +gdb -ex "set python print-stack full" -ex "source perf-instrumentation/gdb-port/parser.py" -ex "source perf-instrumentation/gdb-port/utility-commands.py" -ex "source perf-instrumentation/gdb-port/commands.py" -ex "source perf-instrumentation/gdb-port/hammer-breakpoints.py" -ex "source perf-instrumentation/gdb-port/ast.py" -ex "source perf-instrumentation/gdb-port/breakpoint-manager.py" -ex "source perf-instrumentation/gdb-port/top-level-parse.py" -ex "hammer-parse-stop-at-pos 50" -ex "source perf-instrumentation/gdb-port/parser-type-instrumentation-gdb.py" -ex "source perf-instrumentation/gdb-port/parser-name-instrumentation-gdb.py" \ +-ex "hammer-parse-step 7" \ +-ex "python [gdb.execute('hammer-parse-apply') for x in range(8)]" \ +--args pdf t/000143.pdf + +# hammer-parse-step 7 is arbitrary, but happens to get to a location in the file that's convenient for testing token printing + diff --git a/gdb-port/startup_scripts/shell_with_exit.sh b/gdb-port/startup_scripts/shell_with_exit.sh new file mode 100755 index 0000000000000000000000000000000000000000..4bd4e6e677997f9c6d935209c4af6fd1ac051ffe --- /dev/null +++ b/gdb-port/startup_scripts/shell_with_exit.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +gdb -ex "set python print-stack full" -ex "source perf-instrumentation/gdb-port/parser.py" -ex "source perf-instrumentation/gdb-port/utility-commands.py" -ex "source perf-instrumentation/gdb-port/commands.py" -ex "source perf-instrumentation/gdb-port/hammer-breakpoints.py" -ex "source perf-instrumentation/gdb-port/ast.py" -ex "source perf-instrumentation/gdb-port/breakpoint-manager.py" -ex "source perf-instrumentation/gdb-port/top-level-parse.py" -ex "hammer-parse-stop-at-pos 50" -ex "source perf-instrumentation/gdb-port/parser-type-instrumentation-gdb.py" -ex "source perf-instrumentation/gdb-port/parser-name-instrumentation-gdb.py" \ +-ex "hammer-parse-step 7" \ +-ex "python [gdb.execute('hammer-parse-apply') for x in range(8)]" \ +-ex "set confirm off" \ +-ex "q" \ +--args pdf t/000143.pdf + +# hammer-parse-step 7 is arbitrary, but happens to get to a location in the file that's convenient for testing token printing + diff --git a/gdb-port/startup_scripts/tests.sh b/gdb-port/startup_scripts/tests.sh new file mode 100755 index 0000000000000000000000000000000000000000..a7572a6f7d2fbe49b9ea559bb381647e910160fe --- /dev/null +++ b/gdb-port/startup_scripts/tests.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +gdb -ex "set python print-stack full" -ex "source perf-instrumentation/gdb-port/parser.py" -ex "source perf-instrumentation/gdb-port/utility-commands.py" -ex "source perf-instrumentation/gdb-port/commands.py" -ex "source perf-instrumentation/gdb-port/hammer-breakpoints.py" -ex "source perf-instrumentation/gdb-port/ast.py" -ex "source perf-instrumentation/gdb-port/breakpoint-manager.py" -ex "source perf-instrumentation/gdb-port/top-level-parse.py" -ex "hammer-parse-stop-at-pos 50" -ex "source perf-instrumentation/gdb-port/parser-type-instrumentation-gdb.py" -ex "source perf-instrumentation/gdb-port/parser-name-instrumentation-gdb.py" -ex "source perf-instrumentation/gdb-port/tests/unit/top-level-parse.py" -ex "source perf-instrumentation/gdb-port/tests/unit/breakpoint-manager.py" -ex "source perf-instrumentation/gdb-port/tests/unit/hammer-breakpoints.py" -ex "source perf-instrumentation/gdb-port/tests/unit/ast.py" -ex "source perf-instrumentation/gdb-port/tests/run_unittest_main.py" --args pdf t/000143.pdf + diff --git a/gdb-port/startup_scripts/tests_with_shell.sh b/gdb-port/startup_scripts/tests_with_shell.sh new file mode 100755 index 0000000000000000000000000000000000000000..f4992f43e8d3dbddc63ac58e823b8f8a95227614 --- /dev/null +++ b/gdb-port/startup_scripts/tests_with_shell.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +gdb -ex "set python print-stack full" -ex "source perf-instrumentation/gdb-port/utility-commands.py" -ex "source perf-instrumentation/gdb-port/commands.py" -ex "source perf-instrumentation/gdb-port/hammer-breakpoints.py" -ex "source perf-instrumentation/gdb-port/ast.py" -ex "source perf-instrumentation/gdb-port/breakpoint-manager.py" -ex "source perf-instrumentation/gdb-port/top-level-parse.py" -ex "hammer-parse-stop-at-pos 50" -ex "source perf-instrumentation/gdb-port/parser-type-instrumentation-gdb.py" -ex "source perf-instrumentation/gdb-port/parser-name-instrumentation-gdb.py" -ex "source perf-instrumentation/gdb-port/tests/unit/top-level-parse.py" -ex "source perf-instrumentation/gdb-port/tests/unit/breakpoint-manager.py" -ex "source perf-instrumentation/gdb-port/tests/unit/hammer-breakpoints.py" -ex "source perf-instrumentation/gdb-port/tests/unit/ast.py" -ex "source perf-instrumentation/gdb-port/tests/run_unittest_main_noexit.py" --args pdf t/000143.pdf +