Fixing test of non blocking analysis
This fixes a bug in the test of the non blocking analysis. But it still does not catch two bugs I found in the scan_base.
Still to be done:
-
While the interpreted files in the test look fine, they do not match the fixture and cause the test to fail. -
While the main process closes its bdaq instance after finishing the scan, the analysis process doesn't close it and keeps it's socket open. So, currently no other scan can open a new connection to the bdaq board while the analysis runs. The analysis process just has to close its bdaq instance. But apparently the bdaq mock doesn't catch this problem. -
Currently, the analysis process is started as daemon. This clashes with s-curve fits, since they cannot run on daemon processes. Additionally, the main process doesn't wait for the analysis process to finish. Thus, any analysis stops once the main process finishes when one does not explicitly call scan.wait_for_analysis()
I think we have no way of checking the last behavior in a test. And also the second point is hard to check without changing the bdaq mock. And I am not sure whether we should change the fixture or if we e.g. only check whether the analysis succeeds.
Edited by Konstantin Mauer