Uploaded image for project: 'Apache NiFi MiNiFi C++'
  1. Apache NiFi MiNiFi C++
  2. MINIFICPP-235

Enable resource files to be loaded easily in unit tests

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Won't Fix
    • None
    • 0.3.0
    • None

    Description

      As part of MINIFI-275, unit test cases were introduced that rely on YAML configuration input. Currently, the YAML is defined as string constants in the test cases (see [1]).

      During peer review of MINIFI-275, it was suggested by Marc Parisi to move the YAML inputs to resource files and load them for the test. This ticket captures that improvement which will cleanup the unit test code by making the YAML input easier to locate and maintain.

      As part of this, we need a clean way to set resource file locations in CMAKE so that they are easily available in ctest test cases. As the `test` target which invokes ctest is a builtin/standard CMAKE generated target, it is more limited in its configurability for items such as command line arguments [2] and environment variables (SET (CTEST_ENVIRONMENT ...) apparently does not work in CMakeLists.txt files, only when CMake is invoked via the CLI). This needs some more experimenting / digging into with our specific version of CMAKE before we decide on an approach for implementation.

      [1] https://github.com/apache/nifi-minifi-cpp/pull/85
      [2] http://stackoverflow.com/a/16163137

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            kdoran Kevin Doran
            kdoran Kevin Doran
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment