[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/pq 45a732a4c2 31/63: Add test for signal error
From: |
ELPA Syncer |
Subject: |
[elpa] externals/pq 45a732a4c2 31/63: Add test for signal error |
Date: |
Mon, 14 Feb 2022 23:24:23 -0500 (EST) |
branch: externals/pq
commit 45a732a4c26c5a04a407c3e6476d76b9a8bb8ea9
Author: Mario Rodas <marsam@users.noreply.github.com>
Commit: Mario Rodas <marsam@users.noreply.github.com>
Add test for signal error
Signal "error" instead of "pg:error" to avoid defining our custom error
signals
---
pq.c | 12 ++++++------
test.el | 3 +++
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/pq.c b/pq.c
index 2f1b5d4839..8fb7726377 100644
--- a/pq.c
+++ b/pq.c
@@ -17,7 +17,7 @@ static emacs_value Qt;
static void pq_notice_rx (void *arg, const PGresult *res)
{
- char *msg = PQresultErrorMessage(res);
+ const char *msg = PQresultErrorMessage(res);
emacs_env *env = arg;
emacs_value Fmessage = env->intern (env, "message");
size_t len = strlen(msg);
@@ -50,9 +50,9 @@ static bool result_ok(emacs_env *env, PGresult *res)
case PGRES_FATAL_ERROR:
default:
{
- char *errmsg = PQresultErrorMessage(res);
+ const char *errmsg = PQresultErrorMessage(res);
emacs_value errstring = env->make_string(env, errmsg, strlen(errmsg));
- emacs_value Qpq_error = env->intern (env, "pq:error");
+ emacs_value Qpq_error = env->intern (env, "error");
PQclear(res);
env->non_local_exit_signal(env, Qpq_error, errstring);
@@ -87,10 +87,10 @@ Fpq_connectdb (emacs_env *env, ptrdiff_t nargs, emacs_value
args[], void *data)
char *conninfo = nargs ? my_string_to_c(env, args[0]) : "";
PGconn *conn = PQconnectdb(conninfo);
- char *errmsg = PQerrorMessage(conn);
- if (strlen(errmsg)) {
+ if (PQstatus(conn) != CONNECTION_OK) {
+ const char *errmsg = PQerrorMessage(conn);
emacs_value errstring = env->make_string(env, errmsg, strlen(errmsg));
- emacs_value Qpq_error = env->intern (env, "pq:error");
+ emacs_value Qpq_error = env->intern (env, "error");
env->non_local_exit_signal(env, Qpq_error, errstring);
if (nargs)
diff --git a/test.el b/test.el
index 3eafc21736..1c8f8561bb 100644
--- a/test.el
+++ b/test.el
@@ -27,3 +27,6 @@
(let ((conn (pq:connectdb *conninfo*)))
(should (equal (pq:escapeLiteral conn "mo'oo\"oo") "'mo''oo\"oo'"))
(should (equal (pq:escapeIdentifier conn "moo'oo\"oo")
"\"moo'oo\"\"oo\""))))
+
+(ert-deftest pq-signal-error-test ()
+ (should-error (pq:connectdb "invalid-conninfo")))
- [elpa] externals/pq dfa4ad04bb 03/63: README: clarify., (continued)
- [elpa] externals/pq dfa4ad04bb 03/63: README: clarify., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 8e13d07737 16/63: Update Makefile, ELPA Syncer, 2022/02/14
- [elpa] externals/pq e9e1998796 10/63: Handle booleans and fix some NULL handling., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 09e320f63f 29/63: Initial travis ci configuration, ELPA Syncer, 2022/02/14
- [elpa] externals/pq 76f81f5ca5 05/63: Replace low-level functions with a higher level one., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 1048d41b99 28/63: Use pg_config to detect postgresql include directory, ELPA Syncer, 2022/02/14
- [elpa] externals/pq fb79f059fb 19/63: Flush debug fprintf()s., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 2c03e4aba4 42/63: Make garbage-collection test more robust., ELPA Syncer, 2022/02/14
- [elpa] externals/pq dc688341b0 35/63: test: Check more raised errors in different parts of the code., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 33e626d5b8 11/63: README: It's no longer quick and dirty., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 45a732a4c2 31/63: Add test for signal error,
ELPA Syncer <=
- [elpa] externals/pq 6ab076af29 26/63: Fix memory leak., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 191b842a56 21/63: Add missing static declarations., ELPA Syncer, 2022/02/14
- [elpa] externals/pq f896dabb85 22/63: Install notice receiver while fetching results as well., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 8964028f11 25/63: Coerce non-string query parameters into strings., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 83157bd41e 32/63: Cleanup session initialization., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 3026279578 48/63: Use pg_config with --includedir instead of --pkgincludedir., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 56fde7b255 53/63: Improve docstrings., ELPA Syncer, 2022/02/14
- [elpa] externals/pq c9df58b1ac 49/63: Always look up t and nil instead of caching them., ELPA Syncer, 2022/02/14
- [elpa] externals/pq 04c91e8374 63/63: add pq.el and move pq.c -> pq-core.c, ELPA Syncer, 2022/02/14
- [elpa] externals/pq 8cc484c68b 62/63: README: Fix typos., ELPA Syncer, 2022/02/14