From 684acd7caff47df669e5bdd266d92dc523ffdd20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicki=20K=C5=99=C3=AD=C5=BEek?= Date: Fri, 5 Dec 2025 17:19:59 +0100 Subject: [PATCH] Use jinja2 templates in statistics test - Merge ns*/statistics-channels.conf.in config snippets into conditionally rendered section in ns*/named.conf.j2 files. - Turn ns2/named.conf.in into ns2/named1.conf.j2 because it is used later in the test to restore the original config. - Symlink the ns2/named.conf.j2 ns2/named1.conf.j2 to pick a starting config. (cherry picked from commit cb88d1eda65299f225cd6b55c18367fca689b8fd) --- .../ns1/{named.conf.in => named.conf.j2} | 6 ++++- .../ns1/statistics-channels.conf.in | 16 ------------ bin/tests/system/statistics/ns2/named.conf.j2 | 1 + .../ns2/{named.conf.in => named1.conf.j2} | 7 ++++-- .../ns2/{named2.conf.in => named2.conf.j2} | 6 ++++- .../ns2/statistics-channels.conf.in | 16 ------------ .../ns3/{named.conf.in => named.conf.j2} | 7 ++++-- .../ns3/statistics-channels.conf.in | 16 ------------ bin/tests/system/statistics/setup.sh | 25 ------------------- bin/tests/system/statistics/tests.sh | 6 ++--- 10 files changed, 24 insertions(+), 82 deletions(-) rename bin/tests/system/statistics/ns1/{named.conf.in => named.conf.j2} (85%) delete mode 100644 bin/tests/system/statistics/ns1/statistics-channels.conf.in create mode 120000 bin/tests/system/statistics/ns2/named.conf.j2 rename bin/tests/system/statistics/ns2/{named.conf.in => named1.conf.j2} (87%) rename bin/tests/system/statistics/ns2/{named2.conf.in => named2.conf.j2} (87%) delete mode 100644 bin/tests/system/statistics/ns2/statistics-channels.conf.in rename bin/tests/system/statistics/ns3/{named.conf.in => named.conf.j2} (88%) delete mode 100644 bin/tests/system/statistics/ns3/statistics-channels.conf.in delete mode 100644 bin/tests/system/statistics/setup.sh diff --git a/bin/tests/system/statistics/ns1/named.conf.in b/bin/tests/system/statistics/ns1/named.conf.j2 similarity index 85% rename from bin/tests/system/statistics/ns1/named.conf.in rename to bin/tests/system/statistics/ns1/named.conf.j2 index 2048d73bf9..efd54f2651 100644 --- a/bin/tests/system/statistics/ns1/named.conf.in +++ b/bin/tests/system/statistics/ns1/named.conf.j2 @@ -24,7 +24,11 @@ options { notify yes; }; -include "statistics-channels.conf"; +{% if FEATURE_LIBXML2 == "1" or FEATURE_JSON_C == "1" %} +statistics-channels { + inet 10.53.0.1 port @EXTRAPORT1@ allow { any; }; +}; +{% endif %} zone "." { type primary; diff --git a/bin/tests/system/statistics/ns1/statistics-channels.conf.in b/bin/tests/system/statistics/ns1/statistics-channels.conf.in deleted file mode 100644 index 12a1e27003..0000000000 --- a/bin/tests/system/statistics/ns1/statistics-channels.conf.in +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, you can obtain one at https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -statistics-channels { - inet 10.53.0.1 port @EXTRAPORT1@ allow { any; }; -}; diff --git a/bin/tests/system/statistics/ns2/named.conf.j2 b/bin/tests/system/statistics/ns2/named.conf.j2 new file mode 120000 index 0000000000..96e5f1dcd1 --- /dev/null +++ b/bin/tests/system/statistics/ns2/named.conf.j2 @@ -0,0 +1 @@ +named1.conf.j2 \ No newline at end of file diff --git a/bin/tests/system/statistics/ns2/named.conf.in b/bin/tests/system/statistics/ns2/named1.conf.j2 similarity index 87% rename from bin/tests/system/statistics/ns2/named.conf.in rename to bin/tests/system/statistics/ns2/named1.conf.j2 index fa34de55d8..832e5cf73c 100644 --- a/bin/tests/system/statistics/ns2/named.conf.in +++ b/bin/tests/system/statistics/ns2/named1.conf.j2 @@ -24,8 +24,11 @@ options { notify yes; }; - -include "statistics-channels.conf"; +{% if FEATURE_LIBXML2 == "1" or FEATURE_JSON_C == "1" %} +statistics-channels { + inet 10.53.0.2 port @EXTRAPORT1@ allow { any; }; +}; +{% endif %} key rndc_key { secret "1234abcd8765"; diff --git a/bin/tests/system/statistics/ns2/named2.conf.in b/bin/tests/system/statistics/ns2/named2.conf.j2 similarity index 87% rename from bin/tests/system/statistics/ns2/named2.conf.in rename to bin/tests/system/statistics/ns2/named2.conf.j2 index 4b8e5030f1..7b41fb06c0 100644 --- a/bin/tests/system/statistics/ns2/named2.conf.in +++ b/bin/tests/system/statistics/ns2/named2.conf.j2 @@ -24,7 +24,11 @@ options { notify yes; }; -include "statistics-channels.conf"; +{% if FEATURE_LIBXML2 == "1" or FEATURE_JSON_C == "1" %} +statistics-channels { + inet 10.53.0.2 port @EXTRAPORT1@ allow { any; }; +}; +{% endif %} key rndc_key { secret "1234abcd8765"; diff --git a/bin/tests/system/statistics/ns2/statistics-channels.conf.in b/bin/tests/system/statistics/ns2/statistics-channels.conf.in deleted file mode 100644 index 6dd1516962..0000000000 --- a/bin/tests/system/statistics/ns2/statistics-channels.conf.in +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, you can obtain one at https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -statistics-channels { - inet 10.53.0.2 port @EXTRAPORT1@ allow { any; }; -}; diff --git a/bin/tests/system/statistics/ns3/named.conf.in b/bin/tests/system/statistics/ns3/named.conf.j2 similarity index 88% rename from bin/tests/system/statistics/ns3/named.conf.in rename to bin/tests/system/statistics/ns3/named.conf.j2 index 2caaf8cfbe..74e185fc62 100644 --- a/bin/tests/system/statistics/ns3/named.conf.in +++ b/bin/tests/system/statistics/ns3/named.conf.j2 @@ -27,8 +27,11 @@ options { zone-statistics yes; }; - -include "statistics-channels.conf"; +{% if FEATURE_LIBXML2 == "1" or FEATURE_JSON_C == "1" %} +statistics-channels { + inet 10.53.0.3 port @EXTRAPORT1@ allow { any; }; +}; +{% endif %} key rndc_key { secret "1234abcd8765"; diff --git a/bin/tests/system/statistics/ns3/statistics-channels.conf.in b/bin/tests/system/statistics/ns3/statistics-channels.conf.in deleted file mode 100644 index a755c39439..0000000000 --- a/bin/tests/system/statistics/ns3/statistics-channels.conf.in +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, you can obtain one at https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -statistics-channels { - inet 10.53.0.3 port @EXTRAPORT1@ allow { any; }; -}; diff --git a/bin/tests/system/statistics/setup.sh b/bin/tests/system/statistics/setup.sh deleted file mode 100644 index 37f52f5e32..0000000000 --- a/bin/tests/system/statistics/setup.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -# Copyright (C) Internet Systems Consortium, Inc. ("ISC") -# -# SPDX-License-Identifier: MPL-2.0 -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, you can obtain one at https://mozilla.org/MPL/2.0/. -# -# See the COPYRIGHT file distributed with this work for additional -# information regarding copyright ownership. - -. ../conf.sh - -for d in ns1 ns2 ns3; do - conf=named.conf - copy_setports "${d}/${conf}.in" "${d}/${conf}" - conf=statistics-channels.conf - if $FEATURETEST --have-libxml2 || $FEATURETEST --have-json-c; then - copy_setports "${d}/${conf}.in" "${d}/${conf}" - else - echo "" >"${d}/${conf}" - fi -done diff --git a/bin/tests/system/statistics/tests.sh b/bin/tests/system/statistics/tests.sh index a0364057c1..565808e347 100644 --- a/bin/tests/system/statistics/tests.sh +++ b/bin/tests/system/statistics/tests.sh @@ -258,17 +258,17 @@ ret=0 rndc_stats ns2 10.53.0.2 || ret=1 sed -n '/Per Zone Query Statistics/,/^++/p' $last_stats | grep -F '[example]' >/dev/null && ret=0 # turn on -copy_setports ns2/named2.conf.in ns2/named.conf +cp ns2/named2.conf ns2/named.conf rndc_reconfig ns2 10.53.0.2 rndc_stats ns2 10.53.0.2 || ret=1 sed -n '/Per Zone Query Statistics/,/^++/p' $last_stats | grep -F '[example]' >/dev/null || ret=1 # turn off -copy_setports ns2/named.conf.in ns2/named.conf +cp ns2/named1.conf ns2/named.conf rndc_reconfig ns2 10.53.0.2 rndc_stats ns2 10.53.0.2 || ret=1 sed -n '/Per Zone Query Statistics/,/^++/p' $last_stats | grep -F '[example]' >/dev/null && ret=0 # turn on -copy_setports ns2/named2.conf.in ns2/named.conf +cp ns2/named2.conf ns2/named.conf rndc_reconfig ns2 10.53.0.2 rndc_stats ns2 10.53.0.2 || ret=1 sed -n '/Per Zone Query Statistics/,/^++/p' $last_stats | grep -F '[example]' >/dev/null || ret=1