1*0b897fbdSJohannes Berg // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2*0b897fbdSJohannes Berg /* 3*0b897fbdSJohannes Berg * KUnit tests for channel helper functions 4*0b897fbdSJohannes Berg * 5*0b897fbdSJohannes Berg * Copyright (C) 2025 Intel Corporation 6*0b897fbdSJohannes Berg */ 7*0b897fbdSJohannes Berg #include <kunit/test.h> 8*0b897fbdSJohannes Berg 9*0b897fbdSJohannes Berg #include <iwl-trans.h> 10*0b897fbdSJohannes Berg #include "../mvm.h" 11*0b897fbdSJohannes Berg 12*0b897fbdSJohannes Berg MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING"); 13*0b897fbdSJohannes Berg 14*0b897fbdSJohannes Berg static void test_hcmd_names_sorted(struct kunit *test) 15*0b897fbdSJohannes Berg { 16*0b897fbdSJohannes Berg for (int i = 0; i < iwl_mvm_groups_size; i++) { 17*0b897fbdSJohannes Berg const struct iwl_hcmd_arr *arr = &iwl_mvm_groups[i]; 18*0b897fbdSJohannes Berg 19*0b897fbdSJohannes Berg if (!arr->arr) 20*0b897fbdSJohannes Berg continue; 21*0b897fbdSJohannes Berg 22*0b897fbdSJohannes Berg for (int j = 0; j < arr->size - 1; j++) 23*0b897fbdSJohannes Berg KUNIT_EXPECT_LE(test, arr->arr[j].cmd_id, 24*0b897fbdSJohannes Berg arr->arr[j + 1].cmd_id); 25*0b897fbdSJohannes Berg } 26*0b897fbdSJohannes Berg } 27*0b897fbdSJohannes Berg 28*0b897fbdSJohannes Berg static struct kunit_case hcmd_names_cases[] = { 29*0b897fbdSJohannes Berg KUNIT_CASE(test_hcmd_names_sorted), 30*0b897fbdSJohannes Berg {}, 31*0b897fbdSJohannes Berg }; 32*0b897fbdSJohannes Berg 33*0b897fbdSJohannes Berg static struct kunit_suite hcmd_names = { 34*0b897fbdSJohannes Berg .name = "iwlmvm-hcmd-names", 35*0b897fbdSJohannes Berg .test_cases = hcmd_names_cases, 36*0b897fbdSJohannes Berg }; 37*0b897fbdSJohannes Berg 38*0b897fbdSJohannes Berg kunit_test_suite(hcmd_names); 39