Skip to content

Commit

Permalink
Add test for gef-remote cmd (#712)
Browse files Browse the repository at this point in the history
  • Loading branch information
theguy147 committed Sep 7, 2021
1 parent f02e9ae commit f1ffad0
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/run-tests.yml
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Install python and toolchain
run: |
sudo apt-get update
sudo apt-get install -y gdb-multiarch python3-dev python3-pip python3-wheel python3-setuptools git cmake gcc g++ pkg-config libglib2.0-dev
sudo apt-get install -y gdb-multiarch python3-dev python3-pip python3-wheel python3-setuptools git cmake gcc g++ pkg-config libglib2.0-dev gdbserver
sudo python3 -m pip install --upgrade pip
- name: Get pip cache dir
Expand Down
20 changes: 20 additions & 0 deletions tests/runtests.py
Expand Up @@ -167,6 +167,26 @@ def test_cmd_got(self):
self.assertNotIn("strcpy", res)
return

def test_cmd_gef_remote(self):
def start_gdbserver(exe="/tmp/default.out", port=1234):
return subprocess.Popen(["gdbserver", ":{}".format(port), exe],
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)

def stop_gdbserver(gdbserver):
"""Stops the gdbserver and waits until it is terminated if it was
still running. Needed to make the used port available again."""
if gdbserver.poll() is None:
gdbserver.kill()
gdbserver.wait()
return

before = ["gef-remote :1234"]
gdbserver = start_gdbserver()
res = gdb_start_silent_cmd("vmmap", before=before)
self.assertNoException(res)
stop_gdbserver(gdbserver)
return

def test_cmd_heap_arenas(self):
cmd = "heap arenas"
target = "/tmp/heap.out"
Expand Down

0 comments on commit f1ffad0

Please sign in to comment.