MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / test_fast_discard_race

Method test_fast_discard_race

test/orm/test_session.py:2278–2306  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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
2309class IsModifiedTest(_fixtures.FixtureTest):

Callers

nothing calls this directly

Calls 10

fixture_sessionFunction · 0.90
is_Function · 0.90
map_imperativelyMethod · 0.80
UserClass · 0.70
addMethod · 0.45
commitMethod · 0.45
firstMethod · 0.45
queryMethod · 0.45
_cleanupMethod · 0.45
contains_stateMethod · 0.45

Tested by

no test coverage detected