> 1. Modify the float8 test so that the table contains exactly the same
> values on all platforms. In this case, this would mean removing
> the "extra" rows that creep in on NetBSD because of the different
> handling of small (in absolute value) numbers. Following this
> strategy generally (i.e., in other similar cases) would mean that
> all tables could be used at will by "derived" tests without
> propagating special cases beyond the direct tests where boundary
> cases are critical to include.
OK, I agree that the first option is probably preferable. But...
This will ripple across several of the regression tests, and we will
need to carefully check the changed results in those tests to ensure
that we understand the changes. We can't just assume that they are due
to the different input values.
Also, I would strongly prefer that we keep the internals of the float8
test the same, so it continues to test edge-effect operations and
results. Then, at or near the end of the float8 test, empty the table
and re-insert some better-behaved values (in fact, it could be the same
values that the table started with probably; I haven't looked).
Absolutely. That was my intent. The internal tests should be as
rigorous as possible. The last thing done would be to leave the table
in a state that is absolutely identical across all platforms. Yes,
deleting everything and reinserting the well-behaved values seems like
the easiest thing to do.
I don't think anything will ripple much, actually. The entire point,
though, is to reduce the possible ripple of special cases (after the
correct consistency is guarranteed). I should have no trouble
recognizing changes, since for me everything passes regression, except
the union test.
Cheers,
Brook