On 02.02.2011 16:11, Kevin Grittner wrote:
> Heikki Linnakangas wrote:
>> On 02.02.2011 12:20, Heikki Linnakangas wrote:
>
>>> The tests don't seem very complicated, and they don't seem to
>>> depend much on the dtester features. How hard would it be to
>>> rewrite the test engine in C or perl?
>>>
>>> I'm thinking of defining each test in a simple text file, and
>>> write a small test engine to parse that.
>>
>> I took a stab at doing that. Attached, untar in the top source
>> tree, and do "cd src/test/isolation; make check". It's like
>> "installcheck", so it needs a postgres server to be running. Also
>> available in my git repository at
>> git://git.postgresql.org/git/users/heikki/postgres.git,
>> branch "serializable".
>>
>> I think this will work. This is a rough first version, but it
>> already works. We can extend the test framework later if we need
>> more features, but I believe this is enough for all the existing
>> tests.
>
> Thanks for this. It does seem the way to go.
>
> I can fill it out with the rest of the tests, unless you'd rather.
Thanks, please do. I converted the next test, receipt-report, grab that
from my git repository first. It produces over two hundred permutations,
so it's going to be a bit tedious to check the output for that, but I
think it's still acceptable so that we don't need more complicated rules
for what is accepted. IOW, we can just print the output of all
permutations and "diff", we won't need "if step X ran before step Y,
commit should succeed" rules that the python version had.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com