Как отладить бинарный регрессионный тест pg_regress в postgreSQL? - PullRequest
0 голосов
/ 30 декабря 2018

Я попытался отладить pg_regress в postgreSQL, используя lldb на mac.Однако, когда я запускаю pg_regress с использованием lldb, тест не пройден и выдает сообщение: «не удалось дождаться подпроцессов: прерван системный вызов»

Я настроил файл расписания тестирования, в котором есть только один тест SQL.Когда я выполняю make check, регрессионный тест пройден.

Ниже приведен вывод при отладке с помощью lldb через Clion:

============== removing existing temp instance        ==============
============== creating temporary instance            ==============
============== initializing database system           ==============
============== starting postmaster                    ==============
running on port 60848 with PID 16262
============== creating database "regression"         ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test some_test               ... failed to wait for subprocesses: Interrupted system call

Process finished with exit code 2

Ожидаемый результат должен быть

============== removing existing temp instance        ==============
============== creating temporary instance            ==============
============== initializing database system           ==============
============== starting postmaster                    ==============
running on port 60848 with PID 16262
============== creating database "regression"         ==============
CREATE DATABASE
ALTER DATABASE
============== running regression test queries        ==============
test some_test               ... ok

1 Ответ

0 голосов
/ 20 февраля 2019

Я, наконец, не нашел способа использовать gdb для отладки многопроцессорного процесса pg_regress.Единственный способ отладки - использовать базовую команду printf.Если кто-нибудь знает, как использовать gdb или lldb для отслеживания многопроцессорных программ, просьба предоставить ответ.

...