forked from goodboy/tractor
				
			Add ctl-c case to `subactor_breakpoint` example test
							parent
							
								
									ba7b355d9c
								
							
						
					
					
						commit
						a2e90194bc
					
				| 
						 | 
				
			
			@ -150,7 +150,7 @@ def do_ctlc(
 | 
			
		|||
    child,
 | 
			
		||||
    count: int = 3,
 | 
			
		||||
    delay: float = 0.1,
 | 
			
		||||
    expect_prompt: bool = False,
 | 
			
		||||
    expect_prompt: bool = True,
 | 
			
		||||
    patt: Optional[str] = None,
 | 
			
		||||
 | 
			
		||||
) -> None:
 | 
			
		||||
| 
						 | 
				
			
			@ -166,11 +166,11 @@ def do_ctlc(
 | 
			
		|||
            time.sleep(delay)
 | 
			
		||||
            child.expect(r"\(Pdb\+\+\)")
 | 
			
		||||
            time.sleep(delay)
 | 
			
		||||
            before = str(child.before.decode())
 | 
			
		||||
 | 
			
		||||
        before = str(child.before.decode())
 | 
			
		||||
        if patt:
 | 
			
		||||
            # should see the last line on console
 | 
			
		||||
            assert patt in before
 | 
			
		||||
            if patt:
 | 
			
		||||
                # should see the last line on console
 | 
			
		||||
                assert patt in before
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_root_actor_bp_forever(
 | 
			
		||||
| 
						 | 
				
			
			@ -258,7 +258,10 @@ def test_subactor_error(
 | 
			
		|||
    child.expect(pexpect.EOF)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_subactor_breakpoint(spawn):
 | 
			
		||||
def test_subactor_breakpoint(
 | 
			
		||||
    spawn,
 | 
			
		||||
    ctlc: bool,
 | 
			
		||||
):
 | 
			
		||||
    "Single subactor with an infinite breakpoint loop"
 | 
			
		||||
 | 
			
		||||
    child = spawn('subactor_breakpoint')
 | 
			
		||||
| 
						 | 
				
			
			@ -275,6 +278,9 @@ def test_subactor_breakpoint(spawn):
 | 
			
		|||
        child.sendline('next')
 | 
			
		||||
        child.expect(r"\(Pdb\+\+\)")
 | 
			
		||||
 | 
			
		||||
        if ctlc:
 | 
			
		||||
            do_ctlc(child)
 | 
			
		||||
 | 
			
		||||
    # now run some "continues" to show re-entries
 | 
			
		||||
    for _ in range(5):
 | 
			
		||||
        child.sendline('continue')
 | 
			
		||||
| 
						 | 
				
			
			@ -282,6 +288,9 @@ def test_subactor_breakpoint(spawn):
 | 
			
		|||
        before = str(child.before.decode())
 | 
			
		||||
        assert "Attaching pdb to actor: ('breakpoint_forever'" in before
 | 
			
		||||
 | 
			
		||||
        if ctlc:
 | 
			
		||||
            do_ctlc(child)
 | 
			
		||||
 | 
			
		||||
    # finally quit the loop
 | 
			
		||||
    child.sendline('q')
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -292,6 +301,9 @@ def test_subactor_breakpoint(spawn):
 | 
			
		|||
    assert "RemoteActorError: ('breakpoint_forever'" in before
 | 
			
		||||
    assert 'bdb.BdbQuit' in before
 | 
			
		||||
 | 
			
		||||
    if ctlc:
 | 
			
		||||
        do_ctlc(child)
 | 
			
		||||
 | 
			
		||||
    # quit the parent
 | 
			
		||||
    child.sendline('c')
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue