| 765 | } |
| 766 | |
| 767 | static int |
| 768 | test_bbdev_driver_init(void) |
| 769 | { |
| 770 | struct rte_bbdev *dev1, *dev2; |
| 771 | const char *name = "dev_name"; |
| 772 | char name_tmp[32]; |
| 773 | int num_devs, num_devs_tmp; |
| 774 | |
| 775 | dev1 = rte_bbdev_allocate(NULL); |
| 776 | TEST_ASSERT(dev1 == NULL, |
| 777 | "Failed initialize bbdev driver with NULL name"); |
| 778 | |
| 779 | dev1 = rte_bbdev_allocate(name); |
| 780 | TEST_ASSERT(dev1 != NULL, "Failed to initialize bbdev driver"); |
| 781 | |
| 782 | dev2 = rte_bbdev_allocate(name); |
| 783 | TEST_ASSERT(dev2 == NULL, |
| 784 | "Failed to initialize bbdev driver: " |
| 785 | "driver with the same name has been initialized before"); |
| 786 | |
| 787 | num_devs = rte_bbdev_count() - 1; |
| 788 | num_devs_tmp = num_devs; |
| 789 | |
| 790 | /* Initialize the maximum amount of devices */ |
| 791 | do { |
| 792 | sprintf(name_tmp, "%s%i", "name_", num_devs); |
| 793 | dev2 = rte_bbdev_allocate(name_tmp); |
| 794 | TEST_ASSERT(dev2 != NULL, |
| 795 | "Failed to initialize bbdev driver"); |
| 796 | ++num_devs; |
| 797 | } while (num_devs < (RTE_BBDEV_MAX_DEVS - 1)); |
| 798 | |
| 799 | sprintf(name_tmp, "%s%i", "name_", num_devs); |
| 800 | dev2 = rte_bbdev_allocate(name_tmp); |
| 801 | TEST_ASSERT(dev2 == NULL, "Failed to initialize bbdev driver number %d " |
| 802 | "more drivers than RTE_BBDEV_MAX_DEVS: %d ", num_devs, |
| 803 | RTE_BBDEV_MAX_DEVS); |
| 804 | |
| 805 | num_devs--; |
| 806 | |
| 807 | while (num_devs >= num_devs_tmp) { |
| 808 | sprintf(name_tmp, "%s%i", "name_", num_devs); |
| 809 | dev2 = rte_bbdev_get_named_dev(name_tmp); |
| 810 | TEST_ASSERT_SUCCESS(rte_bbdev_release(dev2), |
| 811 | "Failed to uninitialize bbdev driver %s ", |
| 812 | name_tmp); |
| 813 | num_devs--; |
| 814 | } |
| 815 | |
| 816 | TEST_ASSERT(dev1->data->dev_id < RTE_BBDEV_MAX_DEVS, |
| 817 | "Failed test rte_bbdev_allocate: " |
| 818 | "invalid dev_id %" PRIu8 ", max number of devices %d ", |
| 819 | dev1->data->dev_id, RTE_BBDEV_MAX_DEVS); |
| 820 | |
| 821 | TEST_ASSERT(dev1->state == RTE_BBDEV_INITIALIZED, |
| 822 | "Failed test rte_bbdev_allocate: " |
| 823 | "invalid state %d (0 - RTE_BBDEV_UNUSED, 1 - RTE_BBDEV_INITIALIZED", |
| 824 | dev1->state); |
nothing calls this directly
no test coverage detected