(self)
| 2276 | assert u1 in s2 |
| 2277 | |
| 2278 | def test_fast_discard_race(self): |
| 2279 | # test issue #4068 |
| 2280 | users, User = self.tables.users, self.classes.User |
| 2281 | |
| 2282 | self.mapper_registry.map_imperatively(User, users) |
| 2283 | gc_collect() |
| 2284 | |
| 2285 | sess = fixture_session() |
| 2286 | |
| 2287 | u1 = User(name="u1") |
| 2288 | sess.add(u1) |
| 2289 | sess.commit() |
| 2290 | |
| 2291 | u1_state = u1._sa_instance_state |
| 2292 | ref = u1_state.obj |
| 2293 | u1_state.obj = lambda: None |
| 2294 | |
| 2295 | u2 = sess.query(User).first() |
| 2296 | u1_state._cleanup(ref) |
| 2297 | |
| 2298 | u3 = sess.query(User).first() |
| 2299 | |
| 2300 | is_(u2, u3) |
| 2301 | |
| 2302 | u2_state = u2._sa_instance_state |
| 2303 | ref = u2_state.obj |
| 2304 | u2_state.obj = lambda: None |
| 2305 | u2_state._cleanup(ref) |
| 2306 | assert not sess.identity_map.contains_state(u2._sa_instance_state) |
| 2307 | |
| 2308 | |
| 2309 | class IsModifiedTest(_fixtures.FixtureTest): |
nothing calls this directly
no test coverage detected