mirror of
				https://github.com/yshui/picom.git
				synced 2025-10-30 23:46:46 -04:00 
			
		
		
		
	Add testcase for #394
This commit is contained in:
		
							parent
							
								
									6c6b1afeb3
								
							
						
					
					
						commit
						f53fbdccca
					
				
					 4 changed files with 45 additions and 0 deletions
				
			
		
							
								
								
									
										4
									
								
								tests/configs/issue394.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								tests/configs/issue394.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
fading = true;
 | 
			
		||||
fade-in-step = 1;
 | 
			
		||||
fade-out-step = 0.01;
 | 
			
		||||
shadow = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -16,3 +16,4 @@ eval `dbus-launch --sh-syntax`
 | 
			
		|||
./run_one_test.sh $exe configs/issue314.conf testcases/issue314_3.py
 | 
			
		||||
./run_one_test.sh $exe /dev/null testcases/issue299.py
 | 
			
		||||
./run_one_test.sh $exe configs/issue465.conf testcases/issue465.py
 | 
			
		||||
./run_one_test.sh $exe configs/issue394.conf testcases/issue394.py
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,6 +28,11 @@ def set_window_class(conn, wid, name):
 | 
			
		|||
    str_type = to_atom(conn, "STRING")
 | 
			
		||||
    conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid, prop_name, str_type, 8, len(name), name).check()
 | 
			
		||||
 | 
			
		||||
def set_window_size(conn, wid, width, height):
 | 
			
		||||
    value_mask = xproto.ConfigWindow.Width | xproto.ConfigWindow.Height
 | 
			
		||||
    value_list = [width, height]
 | 
			
		||||
    conn.core.ConfigureWindowChecked(wid, value_mask, value_list).check()
 | 
			
		||||
 | 
			
		||||
def find_picom_window(conn):
 | 
			
		||||
    prop_name = to_atom(conn, "WM_NAME")
 | 
			
		||||
    setup = conn.get_setup()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										35
									
								
								tests/testcases/issue394.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										35
									
								
								tests/testcases/issue394.py
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
import xcffib.xproto as xproto
 | 
			
		||||
import xcffib
 | 
			
		||||
import time
 | 
			
		||||
from common import set_window_name, set_window_size
 | 
			
		||||
 | 
			
		||||
conn = xcffib.connect()
 | 
			
		||||
setup = conn.get_setup()
 | 
			
		||||
root = setup.roots[0].root
 | 
			
		||||
visual = setup.roots[0].root_visual
 | 
			
		||||
depth = setup.roots[0].root_depth
 | 
			
		||||
 | 
			
		||||
# issue 394 is caused by a window getting a size update just before destroying leading to a shadow update on destroyed window.
 | 
			
		||||
wid = conn.generate_id()
 | 
			
		||||
print("Window id is ", hex(wid))
 | 
			
		||||
 | 
			
		||||
# Create a window
 | 
			
		||||
conn.core.CreateWindowChecked(depth, wid, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check()
 | 
			
		||||
 | 
			
		||||
# Set Window name so it doesn't get a shadow
 | 
			
		||||
set_window_name(conn, wid, "Test Window")
 | 
			
		||||
 | 
			
		||||
# Map the window
 | 
			
		||||
print("mapping")
 | 
			
		||||
conn.core.MapWindowChecked(wid).check()
 | 
			
		||||
 | 
			
		||||
time.sleep(0.5)
 | 
			
		||||
 | 
			
		||||
# Resize the window and destroy
 | 
			
		||||
print("resize and destroy")
 | 
			
		||||
set_window_size(conn, wid, 150, 150)
 | 
			
		||||
conn.core.DestroyWindowChecked(wid).check()
 | 
			
		||||
 | 
			
		||||
time.sleep(0.5)
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue