From: Alan T. DeKok Date: Sat, 19 Aug 2023 12:57:20 +0000 (-0400) Subject: migrate more tests to new methods X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04e11bdaa91480d75fa48014e0c697472368b42f;p=thirdparty%2Ffreeradius-server.git migrate more tests to new methods --- diff --git a/src/tests/keywords/all.mk b/src/tests/keywords/all.mk index bcbc361bab0..fe578d9ef03 100644 --- a/src/tests/keywords/all.mk +++ b/src/tests/keywords/all.mk @@ -65,13 +65,13 @@ endif # # Tests for the "update" keyword -KEYWORD_UPDATE_TESTS := update-attr-ref-null update-error-3 update-group-error update-null-value-assign update-remove-index update-filter +KEYWORD_UPDATE_TESTS := update-attr-ref-null update-error-3 update-group-error update-null-value-assign update-remove-index update-filter update-proto update-proto-error vendor-specific-error comments smash # Tests for rewriting "udpate" -KEYWORD_UPDATE_REWRITE_TESTS := update-all update-array update-delete update-remove-any update-group update-hex update-remove-value update-index update-list-error update-remove-list update-prepend unknown-update update-error update-error-2 update-exec-error update-list-null-rhs update-exec +KEYWORD_UPDATE_REWRITE_TESTS := update-all update-array update-delete update-remove-any update-group update-hex update-remove-value update-index update-list-error update-remove-list update-prepend unknown-update update-error update-error-2 update-exec-error update-list-null-rhs update-exec -# Tests which can use new conditions, but which can't use tmpl_tokenize_all_nested=yes -KEYWORD_UPDATE_TMPL_TESTS := foreach-regex xlat-dhcpv4 +# the protocol decoder puts the attributes into a flat namespace +KEYWORD_UPDATE_TMPL_TESTS := xlat-dhcpv4 # # Migration support. Some of the tests don't run under the new @@ -80,11 +80,11 @@ KEYWORD_UPDATE_TMPL_TESTS := foreach-regex xlat-dhcpv4 ifneq "$(findstring ${1}, paircmp if-paircmp)" "" $(OUTPUT)/${1}: NEW_COND=-S use_new_conditions=no -else ifneq "$(findstring ${1}, comments update-to-edit if-regex-multivalue smash unknown $(KEYWORD_UPDATE_TESTS) vendor_specific vendor_specific.raw xlat-unknown update-proto update-proto-error)" "" +else ifneq "$(findstring ${1}, update-to-edit $(KEYWORD_UPDATE_TESTS) xlat-unknown )" "" $(OUTPUT)/${1}: NEW_COND=-S use_new_conditions=yes else ifneq "$(findstring ${1}, $(KEYWORD_UPDATE_REWRITE_TESTS))" "" -$(OUTPUT)/${1}: NEW_COND=-S use_new_conditions=yes -S rewrite_update=yes +$(OUTPUT)/${1}: NEW_COND=-S use_new_conditions=yes -S rewrite_update=yes -S tmpl_tokenize_all_nested=yes else ifneq "$(findstring ${1}, $(KEYWORD_UPDATE_TMPL_TESTS))" "" $(OUTPUT)/${1}: NEW_COND=-S use_new_conditions=yes -S forbid_update=yes diff --git a/src/tests/keywords/change-proto b/src/tests/keywords/change-proto new file mode 100644 index 00000000000..8779815d965 --- /dev/null +++ b/src/tests/keywords/change-proto @@ -0,0 +1,9 @@ +# +# PROTOCOL: dhcpv4 +# +# Not really, but it's a way to test cross-protocol issues +# +&Proto.radius.User-Name = 'uid' +&Password.With-Header = 'userPassword' + +success diff --git a/src/tests/keywords/change-proto.attrs b/src/tests/keywords/change-proto.attrs new file mode 100644 index 00000000000..6065f635e6e --- /dev/null +++ b/src/tests/keywords/change-proto.attrs @@ -0,0 +1,4 @@ +Packet-Type = Discover + +Result-Status == success +Packet-Type == Offer diff --git a/src/tests/keywords/if-regex-multivalue b/src/tests/keywords/if-regex-multivalue index 75525fd51be..e1f989e319f 100644 --- a/src/tests/keywords/if-regex-multivalue +++ b/src/tests/keywords/if-regex-multivalue @@ -2,11 +2,8 @@ # PRE: update if # -update request { - &Vendor-Specific.Cisco.AVPair := 'foo=bar' - &Vendor-Specific.Cisco.AVPair += 'bar=baz' - &Vendor-Specific.Cisco.AVPair += 'baz=foo' -} +&Vendor-Specific.Cisco.AVPair := { 'foo=bar', 'bar=baz', 'baz=foo' } + if (&Vendor-Specific.Cisco.AVPair[1] =~ /bar=(.*)/) { if (!("%{1}" == 'baz')) { diff --git a/src/tests/keywords/unknown b/src/tests/keywords/unknown index c3790cb938f..f498fc91940 100644 --- a/src/tests/keywords/unknown +++ b/src/tests/keywords/unknown @@ -1,9 +1,7 @@ # # PRE: wimax # -update request { - &Vendor-Specific.FreeRADIUS.Proxied-To := 127.0.0.2 -} +&Vendor-Specific.FreeRADIUS.Proxied-To := 127.0.0.2 # # Check that a known but malformed attr is malformed diff --git a/src/tests/keywords/vendor_specific b/src/tests/keywords/vendor-specific-error similarity index 100% rename from src/tests/keywords/vendor_specific rename to src/tests/keywords/vendor-specific-error diff --git a/src/tests/keywords/vendor_specific.raw b/src/tests/keywords/vendor-specific.raw similarity index 64% rename from src/tests/keywords/vendor_specific.raw rename to src/tests/keywords/vendor-specific.raw index 331140aa447..2b168967fc9 100644 --- a/src/tests/keywords/vendor_specific.raw +++ b/src/tests/keywords/vendor-specific.raw @@ -1,11 +1,6 @@ -# -# PRE: vendor_specific -# # Tests for Vendor-Specific # -update request { - &raw.26 := 0x01020304 -} +&raw.26 := 0x01020304 if (!&raw.26) { test_fail diff --git a/src/tests/keywords/xlat-dhcpv4 b/src/tests/keywords/xlat-dhcpv4 index 6035c5d0fac..eb88cd843fe 100644 --- a/src/tests/keywords/xlat-dhcpv4 +++ b/src/tests/keywords/xlat-dhcpv4 @@ -3,6 +3,8 @@ # &Tmp-Octets-0 := 0x520d0103abcdef0206010203040506 + +# the protocol decoder puts the attributes into a flat namespace if (!("%(dhcpv4.decode:%{Tmp-Octets-0})" == 2)) { test_fail }