diff mbox series

[meta-oe,kirkstone,v2] neon: Backport redirect test debug improvements

Message ID 20260406064513.449580-1-bhabu.bindu@kpit.com
State New
Headers show
Series [meta-oe,kirkstone,v2] neon: Backport redirect test debug improvements | expand

Commit Message

Bhabu Bindu April 6, 2026, 6:45 a.m. UTC
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>
---
 ...0001-Temporarily-disable-no_redirect.patch | 45 +++++++++++++++++
 ...ling-no_redirect-with-more-debugging.patch | 50 +++++++++++++++++++
 ...Switch-to-using-double_serve_sstring.patch | 48 ++++++++++++++++++
 .../neon/0004-test-redirect.c-Cleanup.patch   | 49 ++++++++++++++++++
 meta-oe/recipes-support/neon/neon_0.30.2.bb   |  4 ++
 5 files changed, 196 insertions(+)
 create mode 100644 meta-oe/recipes-support/neon/neon/0001-Temporarily-disable-no_redirect.patch
 create mode 100644 meta-oe/recipes-support/neon/neon/0002-Re-enabling-no_redirect-with-more-debugging.patch
 create mode 100644 meta-oe/recipes-support/neon/neon/0003-no_redirect-Switch-to-using-double_serve_sstring.patch
 create mode 100644 meta-oe/recipes-support/neon/neon/0004-test-redirect.c-Cleanup.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/neon/neon/0001-Temporarily-disable-no_redirect.patch b/meta-oe/recipes-support/neon/neon/0001-Temporarily-disable-no_redirect.patch
new file mode 100644
index 0000000000..e0c373d416
--- /dev/null
+++ b/meta-oe/recipes-support/neon/neon/0001-Temporarily-disable-no_redirect.patch
@@ -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
+
diff --git a/meta-oe/recipes-support/neon/neon/0002-Re-enabling-no_redirect-with-more-debugging.patch b/meta-oe/recipes-support/neon/neon/0002-Re-enabling-no_redirect-with-more-debugging.patch
new file mode 100644
index 0000000000..e21a43f0b6
--- /dev/null
+++ b/meta-oe/recipes-support/neon/neon/0002-Re-enabling-no_redirect-with-more-debugging.patch
@@ -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
+
diff --git a/meta-oe/recipes-support/neon/neon/0003-no_redirect-Switch-to-using-double_serve_sstring.patch b/meta-oe/recipes-support/neon/neon/0003-no_redirect-Switch-to-using-double_serve_sstring.patch
new file mode 100644
index 0000000000..21c011f8e5
--- /dev/null
+++ b/meta-oe/recipes-support/neon/neon/0003-no_redirect-Switch-to-using-double_serve_sstring.patch
@@ -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
+
diff --git a/meta-oe/recipes-support/neon/neon/0004-test-redirect.c-Cleanup.patch b/meta-oe/recipes-support/neon/neon/0004-test-redirect.c-Cleanup.patch
new file mode 100644
index 0000000000..602dd4286e
--- /dev/null
+++ b/meta-oe/recipes-support/neon/neon/0004-test-redirect.c-Cleanup.patch
@@ -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
+
diff --git a/meta-oe/recipes-support/neon/neon_0.30.2.bb b/meta-oe/recipes-support/neon/neon_0.30.2.bb
index 646a9eca13..f620d547a9 100644
--- a/meta-oe/recipes-support/neon/neon_0.30.2.bb
+++ b/meta-oe/recipes-support/neon/neon_0.30.2.bb
@@ -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"