Holography
The final validation for HOLOGRAPHY has been performed based on ACS-5.0.4
The reports have been prepared on the software tagged with Holography-2006-06-AfterMerge-ITER-8. A final tag has not yet been applied.
Note that most of the regression and unit tests have been run on the tag Holography-2006-06-AfterMerge-ITER-7 + manual patches for EXEC and CDB (the final result should not be much different from Holography-2006-06-AfterMerge-ITER-8)
With the final tag Holography-2006-06-AfterMerge-ITER-8 we intend to close the validation work for Holography in the STE. But there is still quite a lot of work going on in the PSIL and at the ATF, to verify the integration with the real hardware. So it is possible that we will do more iterations. In particular, we still expect changes in the CONTROl and CORR parts of the software. Furthermore, there are still some problems that should be fixed. It is not clear at the time of writing whether the fixes will make it into the Holography branch or if we will get those fixes during the R4 integration. In particular, the point 2 and 3 under the "Known Problems" should be fixed as soon as possible.
Successes:
OP Regression Test Runs Manually SS Regression Test Runs Manually SS Regression Test Runs Automatically (ITS/SS/test)- e2e test passing a holography SB passes (but to correctly generate the ASDM, it is better to comment out the second antenna in the CDB)
The Holography Scheduling Block Integration Unit Test (CONTROL/IntTest/test) Runs (provided that an exception thown in a cpp file is commented out: edit the file CONTROL/ObservingModes/Antenna/TowerHolography/src/TowerHolographyImpl.cpp, look for the line "throw ex.getBadDataEx();" and comment it out) New Scheduling Panel works for Interactive Scheduling and Queue Scheduling. It does not work yet for Dynamic Scheduling, The 0th order MDB test has been verified (ARCHIVE/MonitorReceiver/test) DeviceMonitoring is storing all expected values into the archive for the LORR component The Holography APDM Test has been verified (ITS/FunctionalTests/obsp/test)
To be done:
Integration with GILDAS: we just received the package; the build works but the tests should still be verified; rgression tests should be re-run again. Verify exported ASDMs: the work began within the Holography FBT, but it will be probably be completed within the SharedSimulator2 FBT.
Known Problems:
Antenna_Id field problem -> CONTROL : when passing a HG SB, an array of one antenna is used but then the Antenna table in the ASDM produced contains two antennas. This, as a side effect, makes the asdmExport crash. HG asdm without binary data Minor: There are an enormous number of AMBErrors being reported at error logging level both in simulation and with real hardware. They effectively nullify the ability of jlog/loggingClient to be useful.
Known Annoyances - not to be fixed immediately:
Major: The AMBLBSimulator in CONTROL does not run with realtime priority so can get preempted by the linux kernel. If this happens, it can cause timestamp issues while trying to simulate realtime devices.
These timestamp issues cause intermittent bogus failures when simulating hardware for certain regression tests. There is no workaround other than commenting out exceptions in the actual code. Running high priority as root does not fix the lack of realtime performance. A fix for this is _not_ planned. Major: We are generating enough logs now for the Notify_Service crash to become prominent in simulation if jlog is ever opened. This will not be fixed definitively until ACS-6.0. Minor: There is a circular dependency in ARCHIVE/Utils regarding the ICDs. This is being worked on independently of this code base. Minor: The existing CONTROL plugins for EXEC are now broken. It seems Scott in control will be assigned to fix this, but this will not be done within the Holography FBT. Minor: There is a bug in the RTLogger for CORR such that it generates excessive container log messages. This will be removed soon. Minor: The EXEC is not displaying antennas in the antenna panel.
SLOC detailed figures:
Note: Starting from Release R1.1 ITS and SE have used a common approach in calculating SLOC.
Assessment on the sufficiency of Doxygen-like in-line documentation: Graph
See the log at this link. Note that there are only few tests which fail for real problems which still need to be investigated. For every failure, a comment ahs been put, just look for the string "@@@".
You will have a page with the results per each subsystem (see list below). In this page of results, there is a table with 3 columns:
- the first one lists the modules belonging to the subsystem,
- the second gives the results of the tests (PASSED, FAILED, UNDETERMINED, when it is neither PASSED nor FAILED); sometimes the test directory can be missing, so you will just see the message: "No test directory, nothing to do here".
- the third one gives a resume produced by Purify/Coverage reporting the analysis results on:
Functions
Functions and exits
Statement blocks
Implicit blocks
Decisions
Loops
The values reported for every item in the list above give the number of hits for that item.
In the same cell with the resume there is a link to the "Complete Report" produced by Purify. In the Complete Report one has information about the lines where the hit happened. For a loop, one has also the values: 0 (the loop is executed without entering into it), 1 (the loop is entered once), 2+ (the loop is entered and repeated once or more times).
Sometimes, instead of the resume, you will see a message like:
ERROR: No coverage info available
No atlout.spt
This happens when the modular test of that module is a fake one (for example the test is actually just an "echo something"), so there is no code (Java, Python or Cpp) that can be instrumented.
Note: the Test Coverage Analysis is not yet stable. Work is in progress to improve the results. You will see errors like:
This means that the test exists and is executed but Purify is not able to dump the information collected in the result file. This error is under investigation. We had 5 cases in ACS only
still under investigation, we don't know yet the reasons
We hope to clarify the problems under investigation as soon as possible!
See the list at this link.
See details at this link.