Changeset 5480d5e in mainline for uspace/lib/display/test/display.c
- Timestamp:
- 2020-05-19T21:51:11Z (4 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9242ad9
- Parents:
- 4c4d6142
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/display/test/display.c
r4c4d6142 r5480d5e 62 62 static errno_t test_window_resize(void *, sysarg_t, gfx_coord2_t *, 63 63 gfx_rect_t *); 64 static errno_t test_window_set_cursor(void *, sysarg_t, display_stock_cursor_t); 64 65 static errno_t test_get_event(void *, sysarg_t *, display_wnd_ev_t *); 65 66 static errno_t test_get_info(void *, display_info_t *); … … 74 75 .window_resize_req = test_window_resize_req, 75 76 .window_resize = test_window_resize, 77 .window_set_cursor = test_window_set_cursor, 76 78 .get_event = test_get_event, 77 79 .get_info = test_get_info … … 122 124 gfx_rect_t resize_nbound; 123 125 sysarg_t resize_wnd_id; 126 127 bool window_set_cursor_called; 128 sysarg_t set_cursor_wnd_id; 129 display_stock_cursor_t set_cursor_cursor; 124 130 125 131 bool get_event_called; … … 777 783 PCUT_ASSERT_INT_EQUALS(nrect.p1.x, resp.resize_nbound.p1.x); 778 784 PCUT_ASSERT_INT_EQUALS(nrect.p1.y, resp.resize_nbound.p1.y); 785 786 display_window_destroy(wnd); 787 display_close(disp); 788 rc = loc_service_unregister(sid); 789 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 790 } 791 792 /** display_window_set_cursor() with server returning error response works. */ 793 PCUT_TEST(window_set_cursor_failure) 794 { 795 errno_t rc; 796 service_id_t sid; 797 display_t *disp = NULL; 798 display_wnd_params_t params; 799 display_window_t *wnd; 800 test_response_t resp; 801 802 async_set_fallback_port_handler(test_display_conn, &resp); 803 804 // FIXME This causes this test to be non-reentrant! 805 rc = loc_server_register(test_display_server); 806 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 807 808 rc = loc_service_register(test_display_svc, &sid); 809 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 810 811 rc = display_open(test_display_svc, &disp); 812 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 813 PCUT_ASSERT_NOT_NULL(disp); 814 815 resp.rc = EOK; 816 display_wnd_params_init(¶ms); 817 params.rect.p0.x = 0; 818 params.rect.p0.y = 0; 819 params.rect.p0.x = 100; 820 params.rect.p0.y = 100; 821 822 rc = display_window_create(disp, ¶ms, &test_display_wnd_cb, 823 (void *) &resp, &wnd); 824 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 825 PCUT_ASSERT_NOT_NULL(wnd); 826 827 resp.rc = EIO; 828 resp.window_set_cursor_called = false; 829 830 rc = display_window_set_cursor(wnd, dcurs_size_ud); 831 PCUT_ASSERT_INT_EQUALS(wnd->id, resp.set_cursor_wnd_id); 832 PCUT_ASSERT_TRUE(resp.window_set_cursor_called); 833 PCUT_ASSERT_ERRNO_VAL(resp.rc, rc); 834 PCUT_ASSERT_INT_EQUALS(dcurs_size_ud, resp.set_cursor_cursor); 835 836 display_window_destroy(wnd); 837 display_close(disp); 838 rc = loc_service_unregister(sid); 839 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 840 } 841 842 /** display_window_set_cursor() with server returning success response works. */ 843 PCUT_TEST(window_set_cursor_success) 844 { 845 errno_t rc; 846 service_id_t sid; 847 display_t *disp = NULL; 848 display_wnd_params_t params; 849 display_window_t *wnd; 850 test_response_t resp; 851 852 async_set_fallback_port_handler(test_display_conn, &resp); 853 854 // FIXME This causes this test to be non-reentrant! 855 rc = loc_server_register(test_display_server); 856 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 857 858 rc = loc_service_register(test_display_svc, &sid); 859 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 860 861 rc = display_open(test_display_svc, &disp); 862 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 863 PCUT_ASSERT_NOT_NULL(disp); 864 865 resp.rc = EOK; 866 display_wnd_params_init(¶ms); 867 params.rect.p0.x = 0; 868 params.rect.p0.y = 0; 869 params.rect.p0.x = 100; 870 params.rect.p0.y = 100; 871 872 rc = display_window_create(disp, ¶ms, &test_display_wnd_cb, 873 (void *) &resp, &wnd); 874 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 875 PCUT_ASSERT_NOT_NULL(wnd); 876 877 resp.rc = EOK; 878 resp.window_set_cursor_called = false; 879 880 rc = display_window_set_cursor(wnd, dcurs_size_ud); 881 PCUT_ASSERT_INT_EQUALS(wnd->id, resp.set_cursor_wnd_id); 882 PCUT_ASSERT_TRUE(resp.window_set_cursor_called); 883 PCUT_ASSERT_ERRNO_VAL(resp.rc, EOK); 884 PCUT_ASSERT_INT_EQUALS(dcurs_size_ud, resp.set_cursor_cursor); 779 885 780 886 display_window_destroy(wnd); … … 1500 1606 } 1501 1607 1608 static errno_t test_window_set_cursor(void *arg, sysarg_t wnd_id, 1609 display_stock_cursor_t cursor) 1610 { 1611 test_response_t *resp = (test_response_t *) arg; 1612 1613 resp->window_set_cursor_called = true; 1614 resp->set_cursor_wnd_id = wnd_id; 1615 resp->set_cursor_cursor = cursor; 1616 1617 return resp->rc; 1618 } 1619 1502 1620 static errno_t test_get_event(void *arg, sysarg_t *wnd_id, 1503 1621 display_wnd_ev_t *event)
Note:
See TracChangeset
for help on using the changeset viewer.