def test_nestable(self): args1, args2 = ["first"], ["second"] with patch_args(args1) as args: assert args is sys.argv is args1 with patch_args(args2) as args: assert args is sys.argv is args2 assert sys.argv is not self.original_args assert sys.argv is self.original_args
def test_args_change_and_change_back(self): """Using patch_args context manager temporarily changes sys.argv.""" assert sys.argv != self.new_args with patch_args(self.new_args) as args: assert args is sys.argv is self.new_args assert sys.argv is not self.original_args assert sys.argv != self.new_args assert sys.argv is self.original_args
def test_reentrant_context_manager(self): cm = patch_args(self.new_args) with cm as args: assert args is sys.argv is self.new_args with cm as args: assert args is sys.argv is self.new_args assert sys.argv is not self.original_args assert sys.argv != self.new_args assert sys.argv is self.original_args