From 3b5be939aa7502ed6566cb344a87c8e4bbedc12e Mon Sep 17 00:00:00 2001
From: Michael Paquier <michael@paquier.xyz>
Date: Mon, 10 Nov 2025 10:08:19 +0900
Subject: [PATCH] injection_points: Add tests for name limits

---
 .../injection_points/expected/injection_points.out       | 9 +++++++++
 .../modules/injection_points/sql/injection_points.sql    | 6 ++++++
 2 files changed, 15 insertions(+)

diff --git a/src/test/modules/injection_points/expected/injection_points.out b/src/test/modules/injection_points/expected/injection_points.out
index e02d6446dd44..e89a9f3d0a37 100644
--- a/src/test/modules/injection_points/expected/injection_points.out
+++ b/src/test/modules/injection_points/expected/injection_points.out
@@ -308,6 +308,15 @@ SELECT injection_points_detach('TestConditionLocal1');
 (1 row)
 
 -- Function variant for attach.
+SELECT injection_points_attach(repeat('a', 64), 'injection_notice',
+  'TestInjectionNoticeFunc', NULL);
+ERROR:  injection point name aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa too long (maximum of 64)
+SELECT injection_points_attach('injection_points', repeat('a', 128),
+  'TestInjectionNoticeFunc', NULL);
+ERROR:  injection point library aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa too long (maximum of 128)
+SELECT injection_points_attach('injection_points', 'injection_notice',
+  repeat('a', 128), NULL);
+ERROR:  injection point function aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa too long (maximum of 128)
 SELECT injection_points_attach(NULL, NULL, NULL, NULL);
 ERROR:  injection point name cannot be NULL
 SELECT injection_points_attach('injection_points', NULL, NULL, NULL);
diff --git a/src/test/modules/injection_points/sql/injection_points.sql b/src/test/modules/injection_points/sql/injection_points.sql
index 87f7184b291d..3418ede543a5 100644
--- a/src/test/modules/injection_points/sql/injection_points.sql
+++ b/src/test/modules/injection_points/sql/injection_points.sql
@@ -89,6 +89,12 @@ SELECT injection_points_attach('TestConditionLocal1', 'error');
 SELECT injection_points_detach('TestConditionLocal1');
 
 -- Function variant for attach.
+SELECT injection_points_attach(repeat('a', 64), 'injection_notice',
+  'TestInjectionNoticeFunc', NULL);
+SELECT injection_points_attach('injection_points', repeat('a', 128),
+  'TestInjectionNoticeFunc', NULL);
+SELECT injection_points_attach('injection_points', 'injection_notice',
+  repeat('a', 128), NULL);
 SELECT injection_points_attach(NULL, NULL, NULL, NULL);
 SELECT injection_points_attach('injection_points', NULL, NULL, NULL);
 SELECT injection_points_attach('injection_points', 'injection_notice', NULL, NULL);
-- 
2.51.0

