Open collumb-siemens opened 7 years ago
Thanks for reporting this. In the APIVS project, the fio_query_fiod() functionality was tested in test case APIRI.TCS.3010. I am not sure how that could pass, but I do see from the source code that the function is incomplete. Also, there does not seem to be a test case specifically covering APIR3.1.2[22].
Expected behavior and actual behavior.
From the standard, it does not seem like you should need to register the device already and enabled it just to query whether it is there. But that is definitely the case in the current implementation. There is already a "TBD" comment in fioman_query_fiod to do it in the future.
Since the only argument to query is an fio_app_handle and then port information it doesn't make sense that you have to register and get a fio_dev_handle.
The current behavior also seems to directly contradict the requirement APIR3.1.2.[22].
If the API does not have the communications port open at the time of the query and it is necessary for the API to open the communications port to determine the Field I/O Device, the API shall close the communications port after the query is completed.
Steps to reproduce the problem.
Write a test app to query all devices just to see what fio types are out there. You will not be able to without first registering and enabling them first.
Specifications (e.g. version of the project, Linux version, and hardware specifications).
Using latest revision in master branch.