(resend) msi: Fix bug in handling of multivolume CAB files.

James Hawkins truiken at gmail.com
Wed Mar 5 21:25:31 CST 2008


On Wed, Mar 5, 2008 at 9:15 PM, Ove Kaaven <ovek at transgaming.com> wrote:
> James Hawkins skrev:
>
> > The tests that now pass with native cabinet dll are test_continuouscab
>  > (which is similar to what you're trying to test).  The point of
>  > maxsize is so that it creates continuous cabs...there's no other way
>  > to do it, and builtin doesn't create continuous cabs at all.
>
>  No? Then I really wonder what those hundreds of .cab files it creates
>  from that 50k testfile is, if not continuous cabs. What else are they?
>

Sorry, I meant that it doesn't create the compressed continuous cabs
that the tests expect.

>  > The
>  > answer to your question is no, because there is no test currently that
>  > runs down the code path you are fixing.
>
>  Looks like it takes an order of magnitude more time writing test cases
>  for this stuff than actually fixing that darn bug (fixing the bug took 2
>  hours, figuring out how to put a working test case together (trying to
>  take differences between native and builtin cabinet into account) has
>  taken me all day, probably longer).
>

You have to keep in consideration all the time that has been saved
fixing bugs later down the road because the test cases have kept
regressions to a minimum (and just flat out wrong code being added).

>  Here's what I managed to put together that seems to trigger the problem
>  condition... the cab extraction sequence was somehow different in my
>  real-world case, so I had to fudge this testcase a little by packing a
>  third file into the continuous cab. So what do you think about this
>  test, then?
>

Looks good to me, as long as the test fails without your fix and
succeeds with your fix (with the cabinet override of course).  When
submitting the tests to wine-patches, make sure you add todo_wine to
the failing tests (because of cabinet).

-- 
James Hawkins



More information about the wine-devel mailing list