Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-2257

test framework misparses status trees

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • all
    • unscheduled
    • tests
    • None

    Description

      The test suite's handling of status output is a royal mess.  Three problems Ben
      Collins-Sussman and I just found:
      
         1. The 'repos_rev' attribute is totally obsolete and needs to go away.
            It holds the repository head revision, for historical reasons
            having to do with what our 'status -u' output used to give, but no
            longer gives.
      
         2. tree.py:build_tree_from_status() misparses status lines for dirs
            that are scheduled delete and missing.  For example, basic_tests
            10 does this with A/B/E at one point, and because the working
            rev is expected to be either a series of digits or a "-", the
            entire line fails to match, because the working rev is actually
            "?" (see example below).
      
         3. That same function handles its match groups very sloppily.  We
            need to start parsing out information more strictly.
      
         4. The singleton handler 'expect_extra_files' should just say
            "object", not "disk object", since in basic_tests 10, for
            example, it is handling status trees not disk trees.
      
         5. Singleton handlers in general should be classes!  This is Python,
            not C, for crying out loud.  The whole callback/baton idiom is
            silly in an object-oriented language.
      
      The example of the missing schedule-delete directory status line is:
      
      D      *        -       ?   ?           working_copies/basic_tests-10/A/B/E
      
      Note that that is *with* the patch from issue #1553; without the patch, the
      working rev might be "?" or "0" instead of "-".  But we can't apply that patch
      until the test suite can be fixed to tolerate its new, more correct output, and
      that will be hard before the above problems are fixed.
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              kfogel Karl Fogel
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: