| 2746 | } |
| 2747 | |
| 2748 | static int |
| 2749 | fips_test_one_vector_set(void) |
| 2750 | { |
| 2751 | int ret; |
| 2752 | json_t *test_groups, *write_groups, *write_version, *write_set, *mode; |
| 2753 | size_t group_idx, num_groups; |
| 2754 | |
| 2755 | test_groups = json_object_get(json_info.json_vector_set, "testGroups"); |
| 2756 | num_groups = json_array_size(test_groups); |
| 2757 | |
| 2758 | json_info.json_write_set = json_array(); |
| 2759 | write_version = json_object(); |
| 2760 | json_object_set_new(write_version, "acvVersion", json_string(ACVVERSION)); |
| 2761 | json_array_append_new(json_info.json_write_set, write_version); |
| 2762 | |
| 2763 | write_set = json_object(); |
| 2764 | json_array_append(json_info.json_write_set, write_set); |
| 2765 | write_groups = json_array(); |
| 2766 | |
| 2767 | json_object_set(write_set, "vsId", |
| 2768 | json_object_get(json_info.json_vector_set, "vsId")); |
| 2769 | json_object_set(write_set, "algorithm", |
| 2770 | json_object_get(json_info.json_vector_set, "algorithm")); |
| 2771 | mode = json_object_get(json_info.json_vector_set, "mode"); |
| 2772 | if (mode != NULL) |
| 2773 | json_object_set_new(write_set, "mode", mode); |
| 2774 | |
| 2775 | json_object_set(write_set, "revision", |
| 2776 | json_object_get(json_info.json_vector_set, "revision")); |
| 2777 | json_object_set_new(write_set, "isSample", |
| 2778 | json_boolean(json_info.is_sample)); |
| 2779 | json_object_set_new(write_set, "testGroups", write_groups); |
| 2780 | |
| 2781 | ret = fips_test_parse_one_json_vector_set(); |
| 2782 | if (ret < 0) { |
| 2783 | RTE_LOG(ERR, USER1, "Error: Unsupported or invalid vector set algorithm: %s\n", |
| 2784 | json_string_value(json_object_get(json_info.json_vector_set, "algorithm"))); |
| 2785 | return ret; |
| 2786 | } |
| 2787 | |
| 2788 | for (group_idx = 0; group_idx < num_groups; group_idx++) { |
| 2789 | json_info.json_test_group = json_array_get(test_groups, group_idx); |
| 2790 | ret = fips_test_one_test_group(); |
| 2791 | json_array_append_new(write_groups, json_info.json_write_group); |
| 2792 | } |
| 2793 | |
| 2794 | return 0; |
| 2795 | } |
| 2796 | |
| 2797 | static int |
| 2798 | fips_test_one_json_file(void) |
no test coverage detected