Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-8453

ROOTTEST_GENERATE_REFLEX_DICTIONARY output does not depend on rootcling/genreflex

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 6.10/00, 6.08/02
    • Fix Version/s: 6.10/00
    • Component/s: Testing
    • Labels:
      None
    • Environment:

      all

      Description

      Hi,

      The dictionary generated in roottest via the ctest ROOTTEST_GENERATE_REFLEX_DICTIONARY macro do not always get rebuild when rootcling/genreflex is updated resulting in false failure.

      For example in roottest/root/io/cpp11Containers, I build ROOT and ran ctest. Then I modified rootcling and libCling in a way that only new dictionary works with the new libCling. Then I rebuild ROOT and ran ctest (simply by typing ctest from the build directory). The result is that the test in roottest/root/io/cpp11Containers (and others) failed in way that made it clear the dictionary were not rebuild and indeed, I have:

      -rw-r--r--   1 pcanal  wheel    72049 Nov 13 20:40 forwardList.cxx

      but I also have:

      -rwxr-xr-x  3 pcanal  wheel  55207100 Nov 13 22:16 /opt/build/root_builds/rootcling.cmake/bin/rootcling
      -rwxr-xr-x  3 pcanal  wheel  55207100 Nov 13 22:16 /opt/build/root_builds/rootcling.cmake/bin/genreflex

      I re-ran ctest several time, including after cd-ing to roottest/root/io/cpp11Containers in the build directory and the dictionary never got rebuild until I deleted them by hand ...

      Philippe.

      mac-122034:cpp11Containers pcanal$ ctest .
      Test project /opt/build/root_builds/rootcling.cmake/roottest/root/io/cpp11Containers
      Start 1: roottest-root-io-cpp11Containers-forwardList-libgen-build
      1/7 Test #1: roottest-root-io-cpp11Containers-forwardList-libgen-build .... Passed 0.62 sec
      Start 2: roottest-root-io-cpp11Containers-forwardList
      2/7 Test #2: roottest-root-io-cpp11Containers-forwardList .................***Failed 5.47 sec
      Start 3: roottest-root-io-cpp11Containers-unorderedSet-libgen-build
      3/7 Test #3: roottest-root-io-cpp11Containers-unorderedSet-libgen-build ... Passed 0.46 sec
      Start 4: roottest-root-io-cpp11Containers-unorderedSet
      4/7 Test #4: roottest-root-io-cpp11Containers-unorderedSet ................***Failed 4.58 sec
      Start 5: roottest-root-io-cpp11Containers-unorderedMap-libgen-build
      5/7 Test #5: roottest-root-io-cpp11Containers-unorderedMap-libgen-build ... Passed 0.46 sec
      Start 6: roottest-root-io-cpp11Containers-unorderedMap
      6/7 Test #6: roottest-root-io-cpp11Containers-unorderedMap ................***Failed 20.06 sec
      Start 7: roottest-root-io-cpp11Containers-Names
      7/7 Test #7: roottest-root-io-cpp11Containers-Names .......................***Failed 2.34 sec

      PS. Alternatively what is the way to 'clean' for sure the ctest build area?

        Attachments

          Activity

            People

            Assignee:
            mato Pere Mato Vila
            Reporter:
            pcanal Philippe Canal
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Actual End: