On Sat, Jun 20, 2009 at 3:08 AM, Jason Baker<[email protected]> wrote: > There's one test in tests/store/base.py that I'm running in to trouble with: > > def test_find_group_by_table(self): > result = self.store.find( > (Sum(FooValue.value2), Foo), Foo.id == FooValue.foo_id) > result.group_by(Foo) > foo1 = self.store.get(Foo, 10) > foo2 = self.store.get(Foo, 20) > self.assertEquals(list(result), [(5, foo1), (16, foo2)]) > > This test is failing because list(result) looks like this: [(16, > foo2), (5, foo1)]. This is the same result, but in a different order. > I know at least at the SQL level, a query such as the above wouldn't > be guaranteed to be in any order. But is this the case with storm?
A while back, I was working on a randomisation branch for Storm. This added a flag that would automatically append "random()" (or whatever the DB uses) to the end of ORDER BY clauses. The intended use was to prevent tests from depending on undefined ordering. I haven't yet finished the branch, since it generated invalid SQL in a few cases but I did try turning it on for the Storm test suite itself and ran into a few problems like the one you've found. I am inclined to consider such tests broken rather than say that back ends that fail on those tests are broken. I guess it'd be worth trying out my branch again, and at least merge fixes for the failures it discovers. James. -- storm mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/storm
