[dpdk-dev] [PATCH v8 2/9] test: add basic bus infrastructure tests

Shreyansh Jain shreyansh.jain at nxp.com
Wed Jan 18 09:42:14 CET 2017

On Wednesday 18 January 2017 12:58 PM, Thomas Monjalon wrote:
> 2017-01-18 06:56, Shreyansh Jain:
>>>>> +/* Bus list exposed */
>>>>> +extern struct rte_bus_list rte_bus_list;
>>>> I think it should be possible to write a test without the real list
>>>> of registered bus.
>>> Yes, it is possible. I just modeled it on test_pci assuming that is a kind of
>>> expected/standard. But, it seems probably it is not. I will change the tests.
>> After sending out this mail I realized the real reason for using the actual lists. Functions like rte_eal_pci_register (for PCI) or rte_bus_register (for Bus), use global lists for registration. Test cases calls these functions for registering dummy device/bus.
> Why access to the bus list is externally required?
> I feel there is something wrong here. It should be private in PCI.

When I stated rte_eal_pci_register required global lists, I meant in 
previous code base (pre bus), the pci_device_list and pci_driver_list
were public because registration function used them and test cases used
the registration function.

>> One way is to not worry about adding these test/dummy devices/buses to original list as they would be unregistered anyway. But, risk is of impacting running list assuming multiple cases need to be run from same application/binary context.
>> Another way is to rewrite these functions locally in test case, but that also means not testing these global registration/de-registration functions.
>> Former method would continue to have symbols exported. Later is not testing some entry/exit functions of a sub-system.
>> You still interested in this change?
> I would prefer you do not lose time with testing at this stage.

Ok. I will leave it as it is for now.

More information about the dev mailing list