mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	bpo-32416: Add two new tests in test_sys_settrace. (#5072)
Move other test to more proper place.
This commit is contained in:
		
							parent
							
								
									14709144b5
								
							
						
					
					
						commit
						e8ed96550c
					
				
					 1 changed files with 30 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -789,6 +789,14 @@ def test_jump_within_except_block(output):
 | 
			
		|||
            output.append(6)
 | 
			
		||||
        output.append(7)
 | 
			
		||||
 | 
			
		||||
    @jump_test(2, 4, [1, 4, 5, -4])
 | 
			
		||||
    def test_jump_across_with(output):
 | 
			
		||||
        output.append(1)
 | 
			
		||||
        with tracecontext(output, 2):
 | 
			
		||||
            output.append(3)
 | 
			
		||||
        with tracecontext(output, 4):
 | 
			
		||||
            output.append(5)
 | 
			
		||||
 | 
			
		||||
    @jump_test(8, 11, [1, 3, 5, 11, 12])
 | 
			
		||||
    def test_jump_out_of_complex_nested_blocks(output):
 | 
			
		||||
        output.append(1)
 | 
			
		||||
| 
						 | 
				
			
			@ -840,6 +848,17 @@ def test_jump_over_break_in_try_finally_block(output):
 | 
			
		|||
            break
 | 
			
		||||
        output.append(13)
 | 
			
		||||
 | 
			
		||||
    @jump_test(1, 7, [7, 8])
 | 
			
		||||
    def test_jump_over_for_block_before_else(output):
 | 
			
		||||
        output.append(1)
 | 
			
		||||
        if not output:  # always false
 | 
			
		||||
            for i in [3]:
 | 
			
		||||
                output.append(4)
 | 
			
		||||
        else:
 | 
			
		||||
            output.append(6)
 | 
			
		||||
            output.append(7)
 | 
			
		||||
        output.append(8)
 | 
			
		||||
 | 
			
		||||
    # The second set of 'jump' tests are for things that are not allowed:
 | 
			
		||||
 | 
			
		||||
    @jump_test(2, 3, [1], (ValueError, 'after'))
 | 
			
		||||
| 
						 | 
				
			
			@ -997,21 +1016,24 @@ def test_no_jump_out_of_finally_block(output):
 | 
			
		|||
        finally:
 | 
			
		||||
            output.append(5)
 | 
			
		||||
 | 
			
		||||
    @jump_test(2, 4, [1, 4, 5, -4])
 | 
			
		||||
    def test_jump_across_with(output):
 | 
			
		||||
    @jump_test(3, 5, [1, 2, -2], (ValueError, 'into'))
 | 
			
		||||
    def test_no_jump_between_with_blocks(output):
 | 
			
		||||
        output.append(1)
 | 
			
		||||
        with tracecontext(output, 2):
 | 
			
		||||
            output.append(3)
 | 
			
		||||
        with tracecontext(output, 4):
 | 
			
		||||
            output.append(5)
 | 
			
		||||
 | 
			
		||||
    @jump_test(3, 5, [1, 2, -2], (ValueError, 'into'))
 | 
			
		||||
    def test_jump_across_with_2(output):
 | 
			
		||||
    @jump_test(7, 4, [1, 6], (ValueError, 'into'))
 | 
			
		||||
    def test_no_jump_into_for_block_before_else(output):
 | 
			
		||||
        output.append(1)
 | 
			
		||||
        with tracecontext(output, 2):
 | 
			
		||||
            output.append(3)
 | 
			
		||||
        with tracecontext(output, 4):
 | 
			
		||||
            output.append(5)
 | 
			
		||||
        if not output:  # always false
 | 
			
		||||
            for i in [3]:
 | 
			
		||||
                output.append(4)
 | 
			
		||||
        else:
 | 
			
		||||
            output.append(6)
 | 
			
		||||
            output.append(7)
 | 
			
		||||
        output.append(8)
 | 
			
		||||
 | 
			
		||||
    def test_no_jump_to_non_integers(self):
 | 
			
		||||
        self.run_test(no_jump_to_non_integers, 2, "Spam", [True])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue