diff options
| author | allusive-dev <[email protected]> | 2023-09-19 17:46:20 +1000 |
|---|---|---|
| committer | allusive-dev <[email protected]> | 2023-09-19 17:46:20 +1000 |
| commit | 5650d887357bf2a3fac8c5fd4f467bf8795b5fc4 (patch) | |
| tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /tests | |
| parent | Update picom.sample.conf (diff) | |
| download | compfy-5650d887357bf2a3fac8c5fd4f467bf8795b5fc4.tar.xz compfy-5650d887357bf2a3fac8c5fd4f467bf8795b5fc4.zip | |
reset
Diffstat (limited to 'tests')
27 files changed, 0 insertions, 896 deletions
diff --git a/tests/configs/clear_shadow_unredirected.conf b/tests/configs/clear_shadow_unredirected.conf deleted file mode 100644 index f70b461..0000000 --- a/tests/configs/clear_shadow_unredirected.conf +++ /dev/null @@ -1,5 +0,0 @@ -shadow = true; -shadow-exclude = [ -"name = 'NoShadow'" -] -unredir-if-possible = true; diff --git a/tests/configs/empty.conf b/tests/configs/empty.conf deleted file mode 100644 index e69de29..0000000 --- a/tests/configs/empty.conf +++ /dev/null diff --git a/tests/configs/issue239.conf b/tests/configs/issue239.conf deleted file mode 100644 index 23a4c80..0000000 --- a/tests/configs/issue239.conf +++ /dev/null @@ -1,7 +0,0 @@ -fading = true; -fade-in-step = 1; -fade-out-step = 0.01; -shadow = true; -shadow-exclude = [ -"name = 'NoShadow'" -] diff --git a/tests/configs/issue239_2.conf b/tests/configs/issue239_2.conf deleted file mode 100644 index 5f89f47..0000000 --- a/tests/configs/issue239_2.conf +++ /dev/null @@ -1,8 +0,0 @@ -fading = true; -fade-in-step = 1; -fade-out-step = 0.01; -shadow = true; -shadow-exclude = [ -"name = 'NoShadow'" -] -unredir-if-possible = true; diff --git a/tests/configs/issue239_3.conf b/tests/configs/issue239_3.conf deleted file mode 100644 index b8a1d69..0000000 --- a/tests/configs/issue239_3.conf +++ /dev/null @@ -1,4 +0,0 @@ -shadow = true; -shadow-exclude = [ -"name = 'NoShadow'" -] diff --git a/tests/configs/issue314.conf b/tests/configs/issue314.conf deleted file mode 100644 index bb3c4cb..0000000 --- a/tests/configs/issue314.conf +++ /dev/null @@ -1,6 +0,0 @@ -fading = true -fade-in-step = 0.01 -fade-out-step = 0.01 -inactive-opacity = 0 -blur-background = true -force-win-blend = true diff --git a/tests/configs/issue357.conf b/tests/configs/issue357.conf deleted file mode 100644 index 00c3ba6..0000000 --- a/tests/configs/issue357.conf +++ /dev/null @@ -1,3 +0,0 @@ -fading = true; -fade-in-step = 1; -fade-out-step = 0.01; diff --git a/tests/configs/issue394.conf b/tests/configs/issue394.conf deleted file mode 100644 index 0e33a1c..0000000 --- a/tests/configs/issue394.conf +++ /dev/null @@ -1,4 +0,0 @@ -fading = true; -fade-in-step = 1; -fade-out-step = 0.01; -shadow = true; diff --git a/tests/configs/issue465.conf b/tests/configs/issue465.conf deleted file mode 100644 index 313371d..0000000 --- a/tests/configs/issue465.conf +++ /dev/null @@ -1,4 +0,0 @@ -shadow = true; -shadow-exclude = [ - "focused != 1" -]; diff --git a/tests/run_one_test.sh b/tests/run_one_test.sh deleted file mode 100644 index 4619359..0000000 --- a/tests/run_one_test.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -xe -if [ -z $DISPLAY ]; then - exec xvfb-run -s "+extension composite" -a $0 $1 $2 $3 -fi - -echo "Running test $2" - -# TODO keep the log file, and parse it to see if test is successful -($1 --dbus --experimental-backends --backend dummy --log-level=debug --log-file=$PWD/log --config=$2) & -main_pid=$! -$3 - -kill -INT $main_pid || true -cat log -rm log -wait $main_pid - - diff --git a/tests/run_tests.sh b/tests/run_tests.sh deleted file mode 100644 index 6a5a6b3..0000000 --- a/tests/run_tests.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -set -e -exe=$(realpath $1) -cd $(dirname $0) - -eval `dbus-launch --sh-syntax` - -./run_one_test.sh $exe configs/empty.conf testcases/basic.py -./run_one_test.sh $exe configs/issue357.conf testcases/issue357.py -./run_one_test.sh $exe configs/issue239.conf testcases/issue239.py -./run_one_test.sh $exe configs/issue239_2.conf testcases/issue239_2.py -./run_one_test.sh $exe configs/issue239_3.conf testcases/issue239_3.py -./run_one_test.sh $exe configs/issue239_3.conf testcases/issue239_3_norefresh.py -./run_one_test.sh $exe configs/issue314.conf testcases/issue314.py -./run_one_test.sh $exe configs/issue314.conf testcases/issue314_2.py -./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/clear_shadow_unredirected.conf testcases/clear_shadow_unredirected.py -./run_one_test.sh $exe configs/clear_shadow_unredirected.conf testcases/redirect_when_unmapped_window_has_shadow.py -./run_one_test.sh $exe configs/issue394.conf testcases/issue394.py -./run_one_test.sh $exe configs/issue239.conf testcases/issue525.py diff --git a/tests/testcases/basic.py b/tests/testcases/basic.py deleted file mode 100644 index d0ecaf1..0000000 --- a/tests/testcases/basic.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib - -conn = xcffib.connect() -setup = conn.get_setup() -root = setup.roots[0].root -visual = setup.roots[0].root_visual -depth = setup.roots[0].root_depth - -wid = conn.generate_id() -conn.core.CreateWindowChecked(depth, wid, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() -conn.core.MapWindowChecked(wid).check() -conn.core.UnmapWindowChecked(wid).check() -conn.core.DestroyWindowChecked(wid).check() - - diff --git a/tests/testcases/clear_shadow_unredirected.py b/tests/testcases/clear_shadow_unredirected.py deleted file mode 100644 index 4a9f531..0000000 --- a/tests/testcases/clear_shadow_unredirected.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -conn = xcffib.connect() -setup = conn.get_setup() -root = setup.roots[0].root -visual = setup.roots[0].root_visual -depth = setup.roots[0].root_depth - -name = "_NET_WM_STATE" -name_atom = conn.core.InternAtom(False, len(name), name).reply().atom -atom = "ATOM" -atom_atom = conn.core.InternAtom(False, len(atom), atom).reply().atom -fs = "_NET_WM_STATE_FULLSCREEN" -fs_atom = conn.core.InternAtom(False, len(fs), fs).reply().atom - -# making sure disabling shadow while screen is unredirected doesn't cause assertion failure -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 does get a shadow -set_window_name(conn, wid, "YesShadow") - -# Map the window -print("mapping") -conn.core.MapWindowChecked(wid).check() - -time.sleep(0.5) - -# Set fullscreen property, causing screen to be unredirected -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid, name_atom, atom_atom, 32, 1, [fs_atom]).check() - -time.sleep(0.5) - -# Set the Window name so it loses its shadow -print("set new name") -set_window_name(conn, wid, "NoShadow") - -# Unmap the window -conn.core.UnmapWindowChecked(wid).check() - -time.sleep(0.5) - -# Destroy the window -conn.core.DestroyWindowChecked(wid).check() diff --git a/tests/testcases/common.py b/tests/testcases/common.py deleted file mode 100644 index 8214aff..0000000 --- a/tests/testcases/common.py +++ /dev/null @@ -1,85 +0,0 @@ -import xcffib.xproto as xproto -import xcffib.randr as randr -import xcffib -import time -import random -import string - -def to_atom(conn, string): - return conn.core.InternAtom(False, len(string), string).reply().atom - -def set_window_name(conn, wid, name): - prop_name = to_atom(conn, "_NET_WM_NAME") - str_type = to_atom(conn, "UTF8_STRING") - conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid, prop_name, str_type, 8, len(name), name).check() - prop_name = to_atom(conn, "WM_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_state(conn, wid, state): - prop_name = to_atom(conn, "WM_STATE") - conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid, prop_name, prop_name, 32, 2, [state, 0]).check() - -def set_window_class(conn, wid, name): - if not isinstance(name, bytearray): - name = name.encode() - name = name+b"\0"+name+b"\0" - prop_name = to_atom(conn, "WM_CLASS") - 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_async(conn, wid, width, height): - value_mask = xproto.ConfigWindow.Width | xproto.ConfigWindow.Height - value_list = [width, height] - return conn.core.ConfigureWindowChecked(wid, value_mask, value_list) - -def find_picom_window(conn): - prop_name = to_atom(conn, "WM_NAME") - setup = conn.get_setup() - root = setup.roots[0].root - windows = conn.core.QueryTree(root).reply() - - ext = xproto.xprotoExtension(conn) - for w in windows.children: - name = ext.GetProperty(False, w, prop_name, xproto.GetPropertyType.Any, 0, (2 ** 32) - 1).reply() - if name.value.buf() == b"picom": - return w - -def prepare_root_configure(conn): - setup = conn.get_setup() - root = setup.roots[0].root - # Xorg sends root ConfigureNotify when we add a new mode to an output - rr = conn(randr.key) - name = ''.join([random.choice(string.ascii_letters + string.digits) for n in range(0, 32)]) - mode_info = randr.ModeInfo.synthetic(id = 0, width = 1000, height = 1000, dot_clock = 0, - hsync_start = 0, hsync_end = 0, htotal = 0, hskew = 0, vsync_start = 0, vsync_end = 0, - vtotal = 0, name_len = len(name), mode_flags = 0) - - reply = rr.CreateMode(root, mode_info, len(name), name).reply() - mode = reply.mode - reply = rr.GetScreenResourcesCurrent(root).reply() - # our xvfb is setup to only have 1 output - output = reply.outputs[0] - rr.AddOutputModeChecked(output, mode).check() - return reply, mode, output - -def trigger_root_configure(conn, reply, mode, output): - rr = conn(randr.key) - return rr.SetCrtcConfig(reply.crtcs[0], reply.timestamp, reply.config_timestamp, 0, 0, mode, randr.Rotation.Rotate_0, 1, [output]) - -def find_32bit_visual(conn): - setup = conn.get_setup() - render = conn(xcffib.render.key) - r = render.QueryPictFormats().reply() - pictfmt_ids = set() - for pictform in r.formats: - if (pictform.depth == 32 and - pictform.type == xcffib.render.PictType.Direct and - pictform.direct.alpha_mask != 0): - pictfmt_ids.add(pictform.id) - print(pictfmt_ids) - for screen in r.screens: - for depth in screen.depths: - for pv in depth.visuals: - if pv.format in pictfmt_ids: - return pv.visual diff --git a/tests/testcases/issue239.py b/tests/testcases/issue239.py deleted file mode 100644 index fe3f636..0000000 --- a/tests/testcases/issue239.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -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 239 is caused by a window gaining a shadow during its fade-out transition -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, "NoShadow") - -# Map the window -print("mapping") -conn.core.MapWindowChecked(wid).check() - -time.sleep(0.5) - -# Set the Window name so it gets a shadow -print("set new name") -set_window_name(conn, wid, "YesShadow") - -# Unmap the window -conn.core.UnmapWindowChecked(wid).check() - -time.sleep(0.5) - -# Destroy the window -conn.core.DestroyWindowChecked(wid).check() diff --git a/tests/testcases/issue239_2.py b/tests/testcases/issue239_2.py deleted file mode 100644 index 54f5412..0000000 --- a/tests/testcases/issue239_2.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time - -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 239 is caused by a window gaining a shadow during its fade-out transition -wid = conn.generate_id() -print("Window ids are ", hex(wid)) - -# Create a window -mask = xproto.CW.BackPixel -value = [ setup.roots[0].white_pixel ] -conn.core.CreateWindowChecked(depth, wid, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, mask, value).check() - -name = "_NET_WM_STATE" -name_atom = conn.core.InternAtom(False, len(name), name).reply().atom -atom = "ATOM" -atom_atom = conn.core.InternAtom(False, len(atom), atom).reply().atom -fs = "_NET_WM_STATE_FULLSCREEN" -fs_atom = conn.core.InternAtom(False, len(fs), fs).reply().atom - - -# Map the window, causing screen to be redirected -conn.core.MapWindowChecked(wid).check() - -time.sleep(0.5) - -# Set fullscreen property, causing screen to be unredirected -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid, name_atom, atom_atom, 32, 1, [fs_atom]).check() - -time.sleep(0.5) - -# Clear fullscreen property, causing screen to be redirected -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid, name_atom, atom_atom, 32, 0, []).check() - -# Do a round trip to X server so the compositor has a chance to start the rerun of _draw_callback -conn.core.GetInputFocus().reply() - -# Unmap the window, triggers the bug -conn.core.UnmapWindowChecked(wid).check() - -time.sleep(0.5) - -# Destroy the window -conn.core.DestroyWindowChecked(wid).check() diff --git a/tests/testcases/issue239_3.py b/tests/testcases/issue239_3.py deleted file mode 100644 index 3bc9661..0000000 --- a/tests/testcases/issue239_3.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -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 239 is caused by a window gaining a shadow during its fade-out transition -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 gets a shadow -set_window_name(conn, wid, "YesShadow") - -# Map the window -print("mapping") -conn.core.MapWindowChecked(wid).check() - -time.sleep(0.5) - -print("set new name") -set_window_name(conn, wid, "NoShadow") - -time.sleep(0.5) - -# Set the Window name so it gets a shadow -print("set new name") -set_window_name(conn, wid, "YesShadow") - -time.sleep(0.5) - -# Unmap the window -conn.core.UnmapWindowChecked(wid).check() - -time.sleep(0.5) - -# Destroy the window -conn.core.DestroyWindowChecked(wid).check() diff --git a/tests/testcases/issue239_3_norefresh.py b/tests/testcases/issue239_3_norefresh.py deleted file mode 100644 index edcf1c2..0000000 --- a/tests/testcases/issue239_3_norefresh.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -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 239 is caused by a window gaining a shadow during its fade-out transition -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 gets a shadow -set_window_name(conn, wid, "YesShadow") - -# Map the window -print("mapping") -conn.core.MapWindowChecked(wid).check() - -time.sleep(0.5) - -print("set new name") -set_window_name(conn, wid, "NoShadow") - -# Set the Window name so it gets a shadow -print("set new name") -set_window_name(conn, wid, "YesShadow") - -time.sleep(0.5) - -# Unmap the window -conn.core.UnmapWindowChecked(wid).check() - -time.sleep(0.5) - -# Destroy the window -conn.core.DestroyWindowChecked(wid).check() diff --git a/tests/testcases/issue299.py b/tests/testcases/issue299.py deleted file mode 100644 index d8be70c..0000000 --- a/tests/testcases/issue299.py +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/env python3 - -import xcffib.xproto as xproto -import xcffib -import time -import os -import subprocess -import asyncio -from dbus_next.aio import MessageBus -from dbus_next.message import Message, MessageType -from common import * - -display = os.environ["DISPLAY"].replace(":", "_") -conn = xcffib.connect() -setup = conn.get_setup() -root = setup.roots[0].root -visual = setup.roots[0].root_visual -depth = setup.roots[0].root_depth -x = xproto.xprotoExtension(conn) -visual32 = find_32bit_visual(conn) - -async def get_client_win_async(wid): - message = await bus.call(Message(destination='com.github.chjj.compton.'+display, - path='/', - interface='com.github.chjj.compton', - member='win_get', - signature='us', - body=[wid, 'client_win'])) - return message.body[0] - -def get_client_win(wid): - return loop.run_until_complete(get_client_win_async(wid)) - -def wait(): - time.sleep(0.5) - -def create_client_window(name): - client_win = conn.generate_id() - print("Window : ", hex(client_win)) - conn.core.CreateWindowChecked(depth, client_win, root, 0, 0, 100, 100, 0, - xproto.WindowClass.InputOutput, visual, 0, []).check() - set_window_name(conn, client_win, "Test window "+name) - set_window_class(conn, client_win, "Test windows") - set_window_state(conn, client_win, 1) - conn.core.MapWindowChecked(client_win).check() - return client_win - -loop = asyncio.get_event_loop() -bus = loop.run_until_complete(MessageBus().connect()) - -cmid = conn.generate_id() -colormap = conn.core.CreateColormapChecked(xproto.ColormapAlloc._None, cmid, root, visual32).check() - -# Create window -client_wins = [] -for i in range(0,2): - client_wins.append(create_client_window(str(i))) - -# Create frame window -frame_win = conn.generate_id() -print("Window : ", hex(frame_win)) -conn.core.CreateWindowChecked(depth, frame_win, root, 0, 0, 200, 200, 0, - xproto.WindowClass.InputOutput, visual, 0, []).check() -set_window_name(conn, frame_win, "Frame") -conn.core.MapWindowChecked(frame_win).check() - -# Scenario 1.1 -# 1. reparent placeholder to frame -conn.core.ReparentWindowChecked(client_wins[0], frame_win, 0, 0).check() -wait() -# 2. reparent real client to frame -conn.core.ReparentWindowChecked(client_wins[1], frame_win, 0, 0).check() -wait() -# 3. detach the placeholder -conn.core.ReparentWindowChecked(client_wins[0], root, 0, 0).check() -wait() -assert get_client_win(frame_win) == client_wins[1] - -# Scenario 1.2 -# 1. reparent placeholder to frame -conn.core.ReparentWindowChecked(client_wins[0], frame_win, 0, 0).check() -wait() -# 2. reparent real client to frame -conn.core.ReparentWindowChecked(client_wins[1], frame_win, 0, 0).check() -wait() -# 3. destroy the placeholder -conn.core.DestroyWindowChecked(client_wins[0]).check() -wait() -assert get_client_win(frame_win) == client_wins[1] - -client_wins[0] = create_client_window("0") - -# Scenario 2 -# 1. frame is unmapped -conn.core.UnmapWindowChecked(frame_win).check() -wait() -# 2. reparent placeholder to frame -conn.core.ReparentWindowChecked(client_wins[0], frame_win, 0, 0).check() -wait() -# 3. destroy placeholder, map frame and reparent real client to frame -conn.core.DestroyWindowChecked(client_wins[0]).check() -conn.core.MapWindowChecked(frame_win).check() -conn.core.ReparentWindowChecked(client_wins[1], frame_win, 0, 0).check() -wait() -assert get_client_win(frame_win) == client_wins[1] - -client_wins[0] = create_client_window("0") - -# Destroy the windows -for wid in client_wins: - conn.core.DestroyWindowChecked(wid).check() -conn.core.DestroyWindowChecked(frame_win).check() diff --git a/tests/testcases/issue314.py b/tests/testcases/issue314.py deleted file mode 100644 index ee29fc4..0000000 --- a/tests/testcases/issue314.py +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name, trigger_root_configure - -conn = xcffib.connect() -setup = conn.get_setup() -root = setup.roots[0].root -visual = setup.roots[0].root_visual -depth = setup.roots[0].root_depth -x = xproto.xprotoExtension(conn) - -# issue 314 is caused by changing a windows target opacity during its fade-in/-out transition -wid1 = conn.generate_id() -print("Window 1: ", hex(wid1)) -wid2 = conn.generate_id() -print("Window 2: ", hex(wid2)) - -# Create windows -conn.core.CreateWindowChecked(depth, wid1, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() -conn.core.CreateWindowChecked(depth, wid2, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() - -# Set Window names -set_window_name(conn, wid1, "Test window 1") -set_window_name(conn, wid2, "Test window 2") - -# Check updating opacity while UNMAPPING/DESTROYING windows -print("Mapping 1") -conn.core.MapWindowChecked(wid1).check() -print("Mapping 2") -conn.core.MapWindowChecked(wid2).check() -time.sleep(0.5) - -x.SetInputFocusChecked(0, wid1, xproto.Time.CurrentTime).check() -time.sleep(0.5) - -# Destroy the windows -print("Destroy 1 while fading out") -conn.core.DestroyWindowChecked(wid1).check() -x.SetInputFocusChecked(0, wid2, xproto.Time.CurrentTime).check() -time.sleep(1) -conn.core.DestroyWindowChecked(wid2).check() diff --git a/tests/testcases/issue314_2.py b/tests/testcases/issue314_2.py deleted file mode 100644 index c19d6cd..0000000 --- a/tests/testcases/issue314_2.py +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -conn = xcffib.connect() -setup = conn.get_setup() -root = setup.roots[0].root -visual = setup.roots[0].root_visual -depth = setup.roots[0].root_depth -x = xproto.xprotoExtension(conn) - -opacity_80 = [int(0xffffffff * 0.8), ] -opacity_single = [int(0xffffffff * 0.002), ] - -# issue 314 is caused by changing a windows target opacity during its fade-in/-out transition -wid1 = conn.generate_id() -print("Window 1: ", hex(wid1)) - -atom = "_NET_WM_WINDOW_OPACITY" -opacity_atom = conn.core.InternAtom(False, len(atom), atom).reply().atom - -# Create windows -conn.core.CreateWindowChecked(depth, wid1, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() - -# Set Window names -set_window_name(conn, wid1, "Test window 1") - -# Check updating opacity while MAPPING windows -print("Mapping window") -conn.core.MapWindowChecked(wid1).check() -time.sleep(0.5) - -print("Update opacity while fading in") -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_80).check() -time.sleep(0.2) -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_single).check() -time.sleep(1) - -conn.core.DeletePropertyChecked(wid1, opacity_atom).check() -time.sleep(0.5) - -# Destroy the windows -conn.core.DestroyWindowChecked(wid1).check() diff --git a/tests/testcases/issue314_3.py b/tests/testcases/issue314_3.py deleted file mode 100644 index 9d4ee3a..0000000 --- a/tests/testcases/issue314_3.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -conn = xcffib.connect() -setup = conn.get_setup() -root = setup.roots[0].root -visual = setup.roots[0].root_visual -depth = setup.roots[0].root_depth -x = xproto.xprotoExtension(conn) - -opacity_100 = [0xffffffff, ] -opacity_80 = [int(0xffffffff * 0.8), ] -opacity_single = [int(0xffffffff * 0.002), ] -opacity_0 = [0, ] - -# issue 314 is caused by changing a windows target opacity during its fade-in/-out transition -wid1 = conn.generate_id() -print("Window 1: ", hex(wid1)) - -atom = "_NET_WM_WINDOW_OPACITY" -opacity_atom = conn.core.InternAtom(False, len(atom), atom).reply().atom - -# Create windows -conn.core.CreateWindowChecked(depth, wid1, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() - -# Set Window names -set_window_name(conn, wid1, "Test window 1") - -# Check updating opacity while FADING windows -print("Mapping window") -conn.core.MapWindowChecked(wid1).check() -time.sleep(1.2) - -print("Update opacity while fading out") -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_single).check() -time.sleep(0.2) -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_0).check() -time.sleep(1) - -print("Change from fading in to fading out") -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_80).check() -time.sleep(0.5) -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_0).check() -time.sleep(1) - -print("Update opacity while fading in") -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_80).check() -time.sleep(0.2) -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_100).check() -time.sleep(1) - -print("Change from fading out to fading in") -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_0).check() -time.sleep(0.5) -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid1, opacity_atom, xproto.Atom.CARDINAL, 32, 1, opacity_80).check() -time.sleep(1) - -# Destroy the windows -conn.core.DestroyWindowChecked(wid1).check() diff --git a/tests/testcases/issue357.py b/tests/testcases/issue357.py deleted file mode 100644 index 9f95a4d..0000000 --- a/tests/testcases/issue357.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name, trigger_root_configure, prepare_root_configure - -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 357 is triggered when a window is destroyed right after configure_root -wid = conn.generate_id() -print("Window 1: ", 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 -set_window_name(conn, wid, "Test window 1") - -print("mapping 1") -conn.core.MapWindowChecked(wid).check() -time.sleep(0.5) - -reply, mode, output = prepare_root_configure(conn) -trigger_root_configure(conn, reply, mode, output).reply() - -# Destroy the windows -conn.core.DestroyWindowChecked(wid).check() - -time.sleep(1) diff --git a/tests/testcases/issue394.py b/tests/testcases/issue394.py deleted file mode 100644 index 3bc4877..0000000 --- a/tests/testcases/issue394.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name, set_window_size_async - -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_async(conn, wid, 150, 150) -conn.core.DestroyWindowChecked(wid).check() - -time.sleep(0.5) diff --git a/tests/testcases/issue465.py b/tests/testcases/issue465.py deleted file mode 100644 index 588be91..0000000 --- a/tests/testcases/issue465.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -conn = xcffib.connect() -setup = conn.get_setup() -root = setup.roots[0].root -visual = setup.roots[0].root_visual -depth = setup.roots[0].root_depth -x = xproto.xprotoExtension(conn) - -# issue 465 is triggered when focusing a new window with a shadow-exclude rule for unfocused windows. -wid1 = conn.generate_id() -print("Window 1: ", hex(wid1)) -wid2 = conn.generate_id() -print("Window 2: ", hex(wid2)) - -# Create a window -conn.core.CreateWindowChecked(depth, wid1, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() -conn.core.CreateWindowChecked(depth, wid2, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() - -# Set Window name -set_window_name(conn, wid1, "Test window 1") -set_window_name(conn, wid2, "Test window 2") - -print("mapping 1") -conn.core.MapWindowChecked(wid1).check() -print("mapping 2") -conn.core.MapWindowChecked(wid2).check() -time.sleep(0.5) - -x.SetInputFocusChecked(0, wid1, xproto.Time.CurrentTime).check() -time.sleep(0.5) - -# Destroy the windows -conn.core.DestroyWindowChecked(wid1).check() -time.sleep(1) diff --git a/tests/testcases/issue525.py b/tests/testcases/issue525.py deleted file mode 100644 index 317e308..0000000 --- a/tests/testcases/issue525.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -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 525 happens when a window is unmapped with pixmap stale flag set -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() - -# Map the window -print("mapping") -conn.core.MapWindowChecked(wid).check() - -time.sleep(0.5) - -# change window size, invalidate the pixmap -conn.core.ConfigureWindow(wid, xproto.ConfigWindow.X | xproto.ConfigWindow.Width, [100, 200]) - -# unmap the window immediately after -conn.core.UnmapWindowChecked(wid).check() - -time.sleep(0.1) - -# Destroy the window -conn.core.DestroyWindowChecked(wid).check() diff --git a/tests/testcases/redirect_when_unmapped_window_has_shadow.py b/tests/testcases/redirect_when_unmapped_window_has_shadow.py deleted file mode 100644 index aeceb33..0000000 --- a/tests/testcases/redirect_when_unmapped_window_has_shadow.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python - -import xcffib.xproto as xproto -import xcffib -import time -from common import set_window_name - -conn = xcffib.connect() -setup = conn.get_setup() -root = setup.roots[0].root -visual = setup.roots[0].root_visual -depth = setup.roots[0].root_depth - -name = "_NET_WM_STATE" -name_atom = conn.core.InternAtom(False, len(name), name).reply().atom -atom = "ATOM" -atom_atom = conn.core.InternAtom(False, len(atom), atom).reply().atom -fs = "_NET_WM_STATE_FULLSCREEN" -fs_atom = conn.core.InternAtom(False, len(fs), fs).reply().atom - -wid1 = conn.generate_id() -print("Window 1 id is ", hex(wid1)) - -# Create a window -conn.core.CreateWindowChecked(depth, wid1, root, 0, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() - -# Map the window -print("mapping 1") -conn.core.MapWindowChecked(wid1).check() - -time.sleep(0.5) - -print("unmapping 1") -# Unmap the window -conn.core.UnmapWindowChecked(wid1).check() - -time.sleep(0.5) - -# create and map a second window -wid2 = conn.generate_id() -print("Window 2 id is ", hex(wid2)) -conn.core.CreateWindowChecked(depth, wid2, root, 200, 0, 100, 100, 0, xproto.WindowClass.InputOutput, visual, 0, []).check() -print("mapping 2") -conn.core.MapWindowChecked(wid2).check() -time.sleep(0.5) - -# Set fullscreen property on the second window, causing screen to be unredirected -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid2, name_atom, atom_atom, 32, 1, [fs_atom]).check() - -time.sleep(0.5) - -# Unset fullscreen property on the second window, causing screen to be redirected -conn.core.ChangePropertyChecked(xproto.PropMode.Replace, wid2, name_atom, atom_atom, 32, 0, []).check() - -time.sleep(0.5) - -# map the first window again -print("mapping 1") -conn.core.MapWindowChecked(wid1).check() - -time.sleep(0.5) - -# Destroy the windows -conn.core.DestroyWindowChecked(wid1).check() -conn.core.DestroyWindowChecked(wid2).check() |