@@ -29,13 +29,16 @@ modules {
2929 # Common linelog module configuration
3030 {% include "environments/configs/freeradius/common/mods-available/linelog" %}
3131
32- # Test-framework specific linelog module configuration based on OS environment
32+ # Test framework linelog module configuration based on OS environment
3333 {% if listener_type == "unix" %}
3434 {% include "environments/configs/freeradius/common/mods-available/linelog_socket" %}
3535 {% elif listener_type == "file" %}
3636 {% include "environments/configs/freeradius/common/mods-available/linelog_file" %}
3737 {% endif %}
3838
39+ # Common json module configuration
40+ {% include "environments/configs/freeradius/common/mods-available/json" %}
41+
3942 # Common stats module configuration
4043 {% include "environments/configs/freeradius/common/mods-available/stats" %}
4144
@@ -154,10 +157,30 @@ server load-generator {
154157 # Receive a Status-Server packet
155158 #
156159 recv Status-Server {
160+ uint32 Status-Server-Counter
161+ uint32 Access-Request-Counter
162+ uint32 Access-Accept-Counter
163+ uint32 Access-Reject-Counter
164+ string Test-Result
165+ string Test-Result-Message
166+
167+ # Initialization
168+ Status-Server-Counter := 0
169+ Access-Request-Counter := 0
170+ Access-Accept-Counter := 0
171+ Access-Reject-Counter := 0
172+ Test-Result := "FAIL"
173+ Test-Result-Message := "-"
174+
157175 # stats module required to have access to the Status-Server's global statistics
158176 stats
159177
160178 {% raw %}
179+ Status-Server-Counter := %{reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server || 0}
180+ Access-Request-Counter := %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request || 0}
181+ Access-Accept-Counter := %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept || 0}
182+ Access-Reject-Counter := %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Reject || 0}
183+
161184 %linelog_test_framework("loadgen-recv-status-server - INFO - reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server: %{reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server || 0}")
162185 %linelog_test_framework("loadgen-recv-status-server - INFO - reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request: %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request || 0}")
163186 %linelog_test_framework("loadgen-recv-status-server - INFO - reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept: %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept || 0}")
@@ -166,12 +189,19 @@ server load-generator {
166189 # The Stats Module documentation explicitly states: "When listed in a recv Status-Server section, it will add global server statistics to the packet,
167190 # hence the reason "reply.FreeRADIUS.Stats4" is used below.
168191 if ((reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept - reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server) != reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request) {
169- %linelog_test_framework("loadgen-recv-status-server - ERROR - expected vs actual stat missmatch, reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request = %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request}, reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept = %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept}, reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server: %{reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server}")
192+ Test-Result := "FAIL"
193+ Test-Result-Message := "expected vs actual stat mismatch"
194+ %linelog_test_framework("loadgen-recv-status-server - ERROR - expected vs actual stat mismatch, reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request = %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request}, reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept = %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept}, reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server: %{reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server}")
170195 }
171196
172197 if (reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request == (reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept - reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server)) {
198+ Test-Result := "PASS"
199+ Test-Result-Message := "requests processed successfully"
173200 %linelog_test_framework("loadgen-recv-status-server - INFO - %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request} requests processed successfully, reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request = %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Request}, reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept = %{reply.FreeRADIUS.Stats4.Packet-Counters.Access-Accept}, reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server = %{reply.FreeRADIUS.Stats4.Packet-Counters.Status-Server}")
174201 }
202+
203+ %linelog_test_framework("load-generator-status-server {\"Test-Result\": %{Test-Result}, \"Test-Result-Message\": %{Test-Result-Message}, \"Status-Server-Counter\": %{Status-Server-Counter}, \"Access-Request-Counter\": %{Access-Request-Counter}, \"Access-Accept-Counter\": %{Access-Accept-Counter}, \"Access-Reject-Counter\": %{Access-Reject-Counter}}")
204+
175205 {% endraw %}
176206 }
177207
0 commit comments