forked from 12to11/12to11
![]() * 12to11-test.xml (test_manager) <error>: Add invalid_user_time. <get_serial, serial> New request and event. (test_seat_controller) <set_last_user_time>: New request. * compositor.h (struct _TextInputFuncs): Make `filter_input' return keycode. * data_device.c (DestroyReference): Check if reference device is detached before unlinking reference. * seat.c (LookupKeysym): Delete function. (DispatchKey): Use keycodes instead. (XLSeatExplicitlyGrabSurface): Avoid using owner-events keyboard grab. * select.c (struct _SelectionOwnerInfo, HandleSelectionRequest): Allow CurrentTime in selection requests. Compensate for wraparound as well. (OwnSelection, DisownSelection): Use Timestamp instead of Time. * test.c (GetSerial): New function. (test_manager_impl): Add new function. * test_seat.c (SetLastUserTime): New function. (seat_controller_impl): Add new function. * tests/Imakefile (LOCAL_LIBRARIES): Remove GBM and DRM. (SRCS10, OBJS10, SRCS11, OBJS11): New variables. (dmabuf_test): Only link this program with GBM and DRM. (PROGRAMS): Add select_test, select_helper. (select_test, select_helper): New programs. * tests/README: Document that select_test needs to be run under vfb. * tests/run_tests.sh: Add TODO note. * tests/svnignore.txt: Add select_test and select_helper. * tests/test_harness.c (handle_test_manager_serial): New function. (test_manager_listener): Add new function. (open_test_display): Clear display->seat. (test_get_serial): New function. * tests/test_harness.h (struct test_display): New function `serial'. * text_input.c (CreateIC): Improve debugging code. (CalculateKeycodeForEvent): Move earlier. (FilterInputCallback): Handle keycodes here as well. (XLTextInputDispatchCoreEvent): Add more debugging code. * xdata.c (SelectSelectionInput): Obtain server time here. (XLOwnDragSelection, NoteLocalSelectionFooter): Convert times to Timestamp. |
||
---|---|---|
.. | ||
argb8888_implicit.dump | ||
argb8888_linear.dump | ||
basic_damage.png | ||
basic_test_card.png | ||
big.png | ||
blue.png | ||
buffer_scale_1_1.dump | ||
buffer_scale_1_2.dump | ||
buffer_scale_1_2_1.dump | ||
buffer_scale_1_2_2.dump | ||
buffer_scale_2_1.dump | ||
buffer_scale_2_2.dump | ||
buffer_scale_2_2_1.dump | ||
buffer_scale_2_2_2.dump | ||
cow_transparent.png | ||
damage_test.c | ||
damage_test_1.dump | ||
damage_test_2.dump | ||
dmabuf_test.c | ||
gradient.png | ||
Imakefile | ||
imgview.c | ||
README | ||
run_tests.sh | ||
scale.png | ||
scale_damage.png | ||
scale_test.c | ||
seat_child.png | ||
seat_test.c | ||
seat_test.png | ||
select_helper.c | ||
select_test.c | ||
simple_test.c | ||
simple_test.dump | ||
small.png | ||
subsurface_1.png | ||
subsurface_1_complex.png | ||
subsurface_1_damaged.png | ||
subsurface_base.png | ||
subsurface_damage.png | ||
subsurface_test.c | ||
subsurface_test_1.dump | ||
subsurface_test_2.dump | ||
subsurface_test_3.dump | ||
subsurface_test_4.dump | ||
subsurface_test_5.dump | ||
subsurface_test_6.dump | ||
subsurface_test_7.dump | ||
subsurface_test_8.dump | ||
subsurface_test_9.dump | ||
subsurface_test_10.dump | ||
subsurface_test_11.dump | ||
subsurface_test_12.dump | ||
subsurface_test_13.dump | ||
subsurface_test_14.dump | ||
subsurface_test_15.dump | ||
subsurface_test_16.dump | ||
subsurface_test_17.dump | ||
subsurface_test_18.dump | ||
subsurface_test_19.dump | ||
subsurface_test_20.dump | ||
subsurface_test_21.dump | ||
subsurface_test_22.dump | ||
subsurface_test_23.dump | ||
subsurface_test_24.dump | ||
subsurface_test_25.dump | ||
subsurface_test_26.dump | ||
subsurface_test_27.dump | ||
subsurface_test_28.dump | ||
subsurface_test_29.dump | ||
subsurface_test_30.dump | ||
subsurface_test_31.dump | ||
subsurface_test_32.dump | ||
subsurface_test_33.dump | ||
subsurface_test_34.dump | ||
subsurface_transparency.png | ||
subsurface_transparency_damage.png | ||
svnignore.txt | ||
test_harness.c | ||
test_harness.h | ||
tiny.png | ||
transform_test.c | ||
transform_test_90_1.dump | ||
transform_test_90_2.dump | ||
transform_test_180_1.dump | ||
transform_test_180_2.dump | ||
transform_test_270_1.dump | ||
transform_test_270_2.dump | ||
transform_test_flipped_1.dump | ||
transform_test_flipped_2.dump | ||
transform_test_flipped_90_1.dump | ||
transform_test_flipped_90_2.dump | ||
transform_test_flipped_180_1.dump | ||
transform_test_flipped_180_2.dump | ||
transform_test_flipped_270_1.dump | ||
transform_test_flipped_270_2.dump | ||
viewport_dest_200_150_1.dump | ||
viewport_dest_200_150_2.dump | ||
viewport_src_50_50_200_200_1.dump | ||
viewport_src_50_50_200_200_2.dump | ||
viewport_src_50_50_200_200_dest_50_75_1.dump | ||
viewport_src_50_50_200_200_dest_50_75_2.dump | ||
viewport_src_50_50_200_200_dest_500_500_1.dump | ||
viewport_src_50_50_200_200_dest_500_500_2.dump | ||
viewport_src_250_50_200_200_dest_50_75_90cw_1.dump | ||
viewport_src_250_50_200_200_dest_50_75_90cw_2.dump | ||
viewporter_test.c | ||
viewporter_test.png | ||
viewporter_test_1.png |
This directory holds some work-in-progress code for testing the protocol translator. The current test suite is nowhere near comprehensive. Each test must be individually run on a system with an a8r8g8b8 visual, GLOBAL_SCALE and OUTPUT_SCALE set to 1. They also rely on reference data; if some legitimate changes are made that affect test results, then the tests should be run with TEST_WRITE_REFERENCE=1, which will make the test binaries write out reference data to disk. When tests are being run, the tester must be very careful to not interfere with the test operation by moving or resizing the test window. A compositing manager should be running along with the test. These tests are supposed to test the functionality of the protocol translator by connecting to a running instance and validating the results of various high-level requests. In modern parlance, they would be ``integration tests''. Most likely, you do not want to run these tests manually, as the `run_tests.sh' script does all the setup for you. Please note that the EGL renderer currently does not pass some graphics tests, which is expected behavior, and that `select_test' must be run with no clipboard manager (or any other clients, for that matter) running.