neon: Backport redirect test debug improvements

The redirect test in neon 0.30.2 intermittently fails with
"did not get NE_REDIRECT", making it hard to debug.

Backport relevant upstream changes from updated neon version to:
- log actual return value when NE_REDIRECT is not received
- use double_serve_sstring for improved test reliability

Upstream-Status: Backport
[https://github.com/notroj/neon/commit/f7a3d8f1366c7df6578d79af3b5d28a316011be0]
[https://github.com/notroj/neon/commit/0f8dec6c8e7d672f74bb5f81fc7c6bd0d5c56619]
[https://github.com/notroj/neon/commit/1e562888d85efc492c434474c8d90cef3aaa8b18]
[https://github.com/notroj/neon/commit/9e836bb63bf41fd78e12175cd7b35bfb07a031e3]

Signed-off-by: Bhabu Bindu <bhabu.bindu@kpit.com>
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
This commit is contained in:
Bhabu Bindu
2026-04-06 12:15:13 +05:30
committed by Gyorgy Sarvari
parent 00a70a727e
commit b11accc51b
5 changed files with 196 additions and 0 deletions
@@ -0,0 +1,45 @@
From f7a3d8f1366c7df6578d79af3b5d28a316011be0 Mon Sep 17 00:00:00 2001
From: Joe Orton <jorton@redhat.com>
Date: Thu, 7 Mar 2019 09:56:57 +0000
Subject: [PATCH 1/4] Temporarily disable redirect.c:no_redirect
Upstream-Status: Backport
[https://github.com/notroj/neon/commit/f7a3d8f1366c7df6578d79af3b5d28a316011be0]
Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
---
test/redirect.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/test/redirect.c b/test/redirect.c
index c93b388..920c481 100644
--- a/test/redirect.c
+++ b/test/redirect.c
@@ -162,6 +162,7 @@ static int fail_loop(void)
}
#endif
+#if 0
/* ensure that ne_redirect_location returns NULL when no redirect has
* been encountered, or redirect hooks aren't registered. */
static int no_redirect(void)
@@ -187,6 +188,7 @@ static int no_redirect(void)
ne_session_destroy(sess);
return OK;
}
+#endif
ne_test tests[] = {
T(lookup_localhost),
@@ -194,7 +196,9 @@ ne_test tests[] = {
T(non_absolute),
T(relative_1),
T(relative_2),
+#if 0
T(no_redirect),
+#endif
T(NULL)
};
--
2.34.1
@@ -0,0 +1,50 @@
From 0f8dec6c8e7d672f74bb5f81fc7c6bd0d5c56619 Mon Sep 17 00:00:00 2001
From: Joe Orton <jorton@redhat.com>
Date: Mon, 8 Apr 2019 10:22:52 +0100
Subject: [PATCH 2/4] * test/redirect: Try re-enabling no_redirect with more
debugging.
Upstream-Status: Backport
[https://github.com/notroj/neon/commit/0f8dec6c8e7d672f74bb5f81fc7c6bd0d5c56619]
Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
---
test/redirect.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/test/redirect.c b/test/redirect.c
index 920c481..e7ecc19 100644
--- a/test/redirect.c
+++ b/test/redirect.c
@@ -64,7 +64,10 @@ static int serve_redir(ne_socket *sock, void *ud)
static int process_redir(ne_session *sess, const char *path,
const ne_uri **redir)
{
- ONN("did not get NE_REDIRECT", any_request(sess, path) != NE_REDIRECT);
+ int ret = any_request(sess, path);
+ ONV(ret != NE_REDIRECT,
+ ("request got %d (%s) rather than NE_REDIRECT",
+ ret, ne_get_error(sess)));
*redir = ne_redirect_location(sess);
return OK;
}
@@ -162,7 +165,7 @@ static int fail_loop(void)
}
#endif
-#if 0
+#if 01
/* ensure that ne_redirect_location returns NULL when no redirect has
* been encountered, or redirect hooks aren't registered. */
static int no_redirect(void)
@@ -196,7 +199,7 @@ ne_test tests[] = {
T(non_absolute),
T(relative_1),
T(relative_2),
-#if 0
+#if 1
T(no_redirect),
#endif
T(NULL)
--
2.34.1
@@ -0,0 +1,48 @@
From 1e562888d85efc492c434474c8d90cef3aaa8b18 Mon Sep 17 00:00:00 2001
From: Joe Orton <jorton@redhat.com>
Date: Mon, 8 Apr 2019 10:32:27 +0100
Subject: [PATCH 3/4] * test/redirect.c (no_redirect): Switch to using
double_serve_sstring.
Upstream-Status: Backport
[https://github.com/notroj/neon/commit/1e562888d85efc492c434474c8d90cef3aaa8b18]
Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
---
test/redirect.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/test/redirect.c b/test/redirect.c
index e7ecc19..42deadb 100644
--- a/test/redirect.c
+++ b/test/redirect.c
@@ -166,17 +166,23 @@ static int fail_loop(void)
#endif
#if 01
+
+#define RESP1 "HTTP/1.1 200 OK\r\n" "Content-Length: 0\r\n\r\n"
+#define RESP2 "HTTP/1.0 302 Get Ye Away\r\n" "Location: /blah\r\n" "\r\n"
/* ensure that ne_redirect_location returns NULL when no redirect has
* been encountered, or redirect hooks aren't registered. */
static int no_redirect(void)
{
ne_session *sess;
const ne_uri *loc;
+ struct double_serve_args resp;
+
+ resp.first.data = RESP1;
+ resp.first.len = strlen(RESP1);
+ resp.second.data = RESP2;
+ resp.second.len = strlen(RESP2);
- CALL(session_server(&sess, single_serve_string,
- "HTTP/1.1 200 OK\r\n" "Content-Length: 0\r\n\r\n"
- "HTTP/1.0 302 Get Ye Away\r\n"
- "Location: /blah\r\n" "\r\n"));
+ CALL(session_server(&sess, double_serve_sstring, &resp));
ONN("redirect non-NULL before register", ne_redirect_location(sess));
ne_redirect_register(sess);
ONN("initial redirect non-NULL", ne_redirect_location(sess));
--
2.34.1
@@ -0,0 +1,49 @@
From 9e836bb63bf41fd78e12175cd7b35bfb07a031e3 Mon Sep 17 00:00:00 2001
From: Joe Orton <jorton@redhat.com>
Date: Mon, 8 Apr 2019 10:35:42 +0100
Subject: [PATCH 4/4] * test/redirect.c: Cleanup.
Upstream-Status: Backport
[https://github.com/notroj/neon/commit/9e836bb63bf41fd78e12175cd7b35bfb07a031e3]
Signed-off-by: Bindu Bhabu <bhabu.bindu@kpit.com>
---
test/redirect.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/test/redirect.c b/test/redirect.c
index 42deadb..682097d 100644
--- a/test/redirect.c
+++ b/test/redirect.c
@@ -165,10 +165,9 @@ static int fail_loop(void)
}
#endif
-#if 01
-
#define RESP1 "HTTP/1.1 200 OK\r\n" "Content-Length: 0\r\n\r\n"
#define RESP2 "HTTP/1.0 302 Get Ye Away\r\n" "Location: /blah\r\n" "\r\n"
+
/* ensure that ne_redirect_location returns NULL when no redirect has
* been encountered, or redirect hooks aren't registered. */
static int no_redirect(void)
@@ -197,7 +196,6 @@ static int no_redirect(void)
ne_session_destroy(sess);
return OK;
}
-#endif
ne_test tests[] = {
T(lookup_localhost),
@@ -205,9 +203,7 @@ ne_test tests[] = {
T(non_absolute),
T(relative_1),
T(relative_2),
-#if 1
T(no_redirect),
-#endif
T(NULL)
};
--
2.34.1
@@ -9,6 +9,10 @@ SRC_URI = "${DEBIAN_MIRROR}/main/n/neon27/neon27_${PV}.orig.tar.gz \
file://pkgconfig.patch \
file://fix-package-check-for-libxml2.patch \
file://run-ptest \
file://0001-Temporarily-disable-no_redirect.patch \
file://0002-Re-enabling-no_redirect-with-more-debugging.patch \
file://0003-no_redirect-Switch-to-using-double_serve_sstring.patch \
file://0004-test-redirect.c-Cleanup.patch \
"
SRC_URI[md5sum] = "e28d77bf14032d7f5046b3930704ef41"