Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-27084

Write the Test Framework of SAL LabVIEW API in Phase 3

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: ts_main_telescope
    • Labels:
    • Story Points:
      2
    • Sprint:
      TSSW Sprint - Sep 28 - Oct 12, TSSW Sprint - Oct 12 - Oct 26
    • Team:
      Telescope and Site
    • Urgent?:
      No

      Description

      Write the test framework of SAL LabVIEW API. This task begins to construct a framework to test the LabVIEW API for each new SAL update. In the past, we used the component CSC in LabVIEW to test this. Now, we need a framework to test this automatically. The SAL LabVIEW APIs rely on the shared memory, which is not needed for the C++ and JAVA APIs. Therefore, this kind of automatic test framework should be helpful for the maintenance of CSC in LabVIEW. This task is in the phase 3.

      Based on Dave, I should use the LSST_TEST_LVDEBUG instead of LSST_Test_LVDEBUG to get the debug message. The CSC name should be capitalized in environment variables.

        Attachments

        1. coreDumpErrorCPP.png
          coreDumpErrorCPP.png
          47 kB
        2. execGetEventByFilePath.png
          execGetEventByFilePath.png
          40 kB
        3. getEvent.png
          getEvent.png
          102 kB
        4. labviewSharedMemorySegment.png
          labviewSharedMemorySegment.png
          38 kB
        5. outputMonitor.txt
          1 kB
        6. reportGetEvent.txt
          0.1 kB
        7. triggerGetEventViByFilePath.png
          triggerGetEventViByFilePath.png
          18 kB

          Issue Links

            Activity

            Hide
            ttsai Te-Wei Tsai added a comment -

            Get the event by the file path only (do not instantiate any SAL LabVIEW vi):

            Show
            ttsai Te-Wei Tsai added a comment - Get the event by the file path only (do not instantiate any SAL LabVIEW vi):
            Hide
            ttsai Te-Wei Tsai added a comment - - edited

            Added the command line task to get the SAL event (use the CPP executable to send the SAL event). At this moment, only the summary state event is supported. Added the test cases.

            The output of monitor is outputMonitor.txt.
            The output of test of getting the event is reportGetEvent.txt.

            Show
            ttsai Te-Wei Tsai added a comment - - edited Added the command line task to get the SAL event (use the CPP executable to send the SAL event). At this moment, only the summary state event is supported. Added the test cases. The output of monitor is  outputMonitor.txt . The output of test of getting the event is reportGetEvent.txt .
            Hide
            ttsai Te-Wei Tsai added a comment -

            Please help to review the PR:
            https://github.com/lsst-ts/ts_SALLabVIEW_test/pull/3

            To use the command line task of getting the event (only the summary state at this moment), do:

            labview64 $path_to_test_vi -- $abs_path_to_monitor_file $abs_path_to_lvlib $abs_path_to_cpp_send_summary_state
            

            For example, in my case:

            labview64 src/testGetEventTask.vi -- /home/ttsai/Documents/github/ts_SALLabVIEW_test/tests/testData/SALLV_Test_Monitor /home/ttsai/Documents/github/ts_SALLabVIEW_test/tests/testData/SALLV_Test.lvlib /home/ttsai/Documents/github/ts_sal/test/Test/cpp/src/sacpp_Test_summaryState_send
            

            The report will be in the log/ directory. The related settings are in config/ directory. The details can follow the README.md.

            Thanks!

            Show
            ttsai Te-Wei Tsai added a comment - Please help to review the PR: https://github.com/lsst-ts/ts_SALLabVIEW_test/pull/3 To use the command line task of getting the event (only the summary state at this moment), do: labview64 $path_to_test_vi -- $abs_path_to_monitor_file $abs_path_to_lvlib $abs_path_to_cpp_send_summary_state For example, in my case: labview64 src/testGetEventTask.vi -- /home/ttsai/Documents/github/ts_SALLabVIEW_test/tests/testData/SALLV_Test_Monitor /home/ttsai/Documents/github/ts_SALLabVIEW_test/tests/testData/SALLV_Test.lvlib /home/ttsai/Documents/github/ts_sal/test/Test/cpp/src/sacpp_Test_summaryState_send The report will be in the log/ directory. The related settings are in config/ directory. The details can follow the README.md . Thanks!
            Hide
            ttsai Te-Wei Tsai added a comment -

            Tested to publish 500 times of summary state event by CPP and get them by LabVIEW. There is no problem to receive all messages.

            Show
            ttsai Te-Wei Tsai added a comment - Tested to publish 500 times of summary state event by CPP and get them by LabVIEW. There is no problem to receive all messages.
            Hide
            dmills Dave Mills added a comment -

            A great improvement for LV testing

            Show
            dmills Dave Mills added a comment - A great improvement for LV testing

              People

              Assignee:
              ttsai Te-Wei Tsai
              Reporter:
              ttsai Te-Wei Tsai
              Reviewers:
              Dave Mills
              Watchers:
              Dave Mills, Te-Wei Tsai
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Start date:
                End date:

                  Jenkins

                  No builds found.