[prev in list] [next in list] [prev in thread] [next in thread] 

List:       subversion-issues
Subject:    =?UTF-8?B?W0lzc3VlIDIyNTddIE5ldyAtIHRlc3QgZnJhbWV3b3JrIG1pc3Bhcg==?=
From:       kfogel () tigris ! org
Date:       2005-03-31 21:43:37
Message-ID: 20050331214337.11615.qmail () tigris ! org
[Download RAW message or body]

http://subversion.tigris.org/issues/show_bug.cgi?id=2257
                  Issue #:|2257
                  Summary:|test framework misparses status trees
                Component:|subversion
                  Version:|all
                 Platform:|All
                      URL:|
               OS/Version:|All
                   Status:|NEW
        Status whiteboard:|
                 Keywords:|
               Resolution:|
               Issue type:|DEFECT
                 Priority:|P3
             Subcomponent:|tests
              Assigned to:|issues@subversion
              Reported by:|kfogel






------- Additional comments from kfogel@tigris.org Thu Mar 31 13:43:37 -0800 2005 -------
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.

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@subversion.tigris.org
For additional commands, e-mail: issues-help@subversion.tigris.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic