def test_pickle_span(): logger1 = Loggable("Parent") logger1.set_level("INFO") logger2 = logger1.spawn("new name") assert logger1._children assert logger2._children == {} logger3 = pickle.loads(pickle.dumps(logger1)) logger4 = pickle.loads(pickle.dumps(logger2)) assert dict(logger3._children) assert logger3._children[logger2._id] is logger2 assert logger4._children == {} for lvl in ["ERROR", "DEBUG", "INFO"]: logger1.set_level(lvl) assert logger1.level_name() == lvl assert logger2.level_name() == lvl assert logger3.level_name() == lvl assert logger4.level_name() == lvl