Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-10503

Fix false positives in s_all

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Minor - P4 Minor - P4
    • WT11.2.0, 6.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • 1
    • StorEng - 2023-01-24

      Running s_all after compiling WiredTiger with the HAVE_UNITTEST=1 flag results in three false positives:

      ####################### MESSAGE ############################
      s_all run of: "./s_export" resulted in:
          =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
          unexpected external symbols in the WiredTiger library ../build/libwiredtiger.a
          =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
          __ut_block_first_srch
          __ut_block_off_srch
          __ut_block_off_srch_last
          __ut_block_size_srch
          __ut_ckpt_add_blkmod_entry
          __ut_ovfl_discard_verbose
          __ut_ovfl_discard_wrapup
      #######################
      
      ####################### MESSAGE ############################
      s_all run of: "./s_evergreen
      ./s_evergreen_validate -F" resulted in:
          =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
          ./s_evergreen: /home/ubuntu/src/wiredtiger/test/evergreen/evg_cfg.py check
          Task 'build--deps-catch2-src-projects-test' (for directory 'build/_deps/catch2-src/projects') is missing in test/evergreen.yml!
          Task 'build--deps-catch2-src-projects-ExtraTests-test' (for directory 'build/_deps/catch2-src/projects/ExtraTests') is missing in test/evergreen.yml!
          
          *** Some tests are missing in Evergreen configuration ***
          Please
              1) Run '/home/ubuntu/src/wiredtiger/test/evergreen/evg_cfg.py generate' to generate and apply the Evergreen changes.
              2) Run 'git diff' to see the detail of the Evergreen changes.
              3) Trigger Evergreen patch build to verify the changes before merging.
          
          =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
      ####################### Traceback (most recent call last):
        File "/home/ubuntu/src/wiredtiger/dist/comment_style.py", line 146, in <module>
          count += check_c_comments(file_name)
        File "/home/ubuntu/src/wiredtiger/dist/comment_style.py", line 11, in check_c_comments
          with open(file_name) as f:
      FileNotFoundError: [Errno 2] No such file or directory: ''

      The first is due to testing functions being exported in order to run unit tests - This is acceptable behaviour as we only use it for testing.

      The second is detecting our third party catch2 dependency and incorrectly expecting evergreen tests for it.

      The final false positive is not due to the HAVE_UNITTEST=1 flag, but rather due to a lack of files changed since the branch has diverged from develop. When run in fast mode we only check modified files, but in this case there are none and the script doesn't handle and empty list of files.

       

      These two errors need to be suppressed in s_all.

            Assignee:
            andrew.morton@mongodb.com Andrew Morton
            Reporter:
            andrew.morton@mongodb.com Andrew Morton
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: