@@ -75,20 +75,41 @@ jobs:
75
75
results="${{ toJSON(needs.interoptests.outputs) }}"
76
76
echo "results=${results}"
77
77
78
+ # Define an associative array (dictionary) to store the results
79
+ declare -A results_dict
80
+
81
+ # Loop through known output keys and populate the dictionary
82
+ output_keys=(
83
+ "result_libdatachannel_libdatachannel"
84
+ "result_libdatachannel_sipsorcery"
85
+ "result_libdatachannel_werift"
86
+ "result_sipsorcery_libdatachannel"
87
+ "result_sipsorcery_sipsorcery"
88
+ "result_sipsorcery_werift"
89
+ "result_werift_libdatachannel"
90
+ "result_werift_sipsorcery"
91
+ "result_werift_werift"
92
+ )
93
+
94
+ for key in "${output_keys[@]}"; do
95
+ value="${{ needs.interoptests.outputs[key] }}"
96
+ # Store in dictionary
97
+ results_dict["$key"]="$value"
98
+ done
99
+
100
+ # Write the header of the Markdown file
78
101
echo "| Server | Client | Test Result |" > DataChannel_Echo_test_results.md
79
102
echo "|--------|--------|-------------|" >> DataChannel_Echo_test_results.md
80
-
81
- # Define the server and client combinations
82
- servers=("libdatachannel" "sipsorcery" "werift")
83
- clients=("libdatachannel" "sipsorcery" "werift")
84
103
85
- # Loop through each combination to populate the results
86
- for server in "${servers[@]}"; do
87
- for client in "${clients[@]}"; do
88
- key="result_${server}_${client}"
89
- value="${{ needs.interoptests.outputs[key] }}"
90
- echo "| ${server} | ${client} | ${value} |" >> DataChannel_Echo_test_results.md
91
- done
104
+ # Loop through the dictionary to create the Markdown table
105
+ for key in "${!results_dict[@]}"; do
106
+ # Split the key into server and client
107
+ server_client="${key#result_}"
108
+ server="${server_client%%_*}"
109
+ client="${server_client##*_}"
110
+ value="${results_dict[$key]}"
111
+
112
+ echo "| ${server} | ${client} | ${value} |" >> DataChannel_Echo_test_results.md
92
113
done
93
114
94
115
cat DataChannel_Echo_test_results.md
0 commit comments