Changeset 80847 in vbox for trunk/src/VBox/HostServices/SharedClipboard/testcase
- Timestamp:
- Sep 17, 2019 9:38:16 AM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 133417
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedClipboard/testcase/tstClipboardServiceHost.cpp
r80664 r80847 63 63 RTTESTI_CHECK_MSG_RETV(RT_SUCCESS(rc), ("rc=%Rrc\n", rc)); 64 64 /* Reset global variable which doesn't reset itself. */ 65 HGCMSvcSetU32(&parms[0], VBOX_SH ARED_CLIPBOARD_MODE_OFF);66 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_MODE,65 HGCMSvcSetU32(&parms[0], VBOX_SHCL_MODE_OFF); 66 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_MODE, 67 67 1, parms); 68 68 RTTESTI_CHECK_RC_OK(rc); 69 69 u32Mode = TestClipSvcGetMode(); 70 RTTESTI_CHECK_MSG(u32Mode == VBOX_SH ARED_CLIPBOARD_MODE_OFF,70 RTTESTI_CHECK_MSG(u32Mode == VBOX_SHCL_MODE_OFF, 71 71 ("u32Mode=%u\n", (unsigned) u32Mode)); 72 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_MODE,72 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_MODE, 73 73 0, parms); 74 74 RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER); 75 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_MODE,75 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_MODE, 76 76 2, parms); 77 77 RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER); 78 78 HGCMSvcSetU64(&parms[0], 99); 79 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_MODE,80 1, parms); 81 RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER); 82 HGCMSvcSetU32(&parms[0], VBOX_SH ARED_CLIPBOARD_MODE_HOST_TO_GUEST);83 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_MODE,79 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_MODE, 80 1, parms); 81 RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER); 82 HGCMSvcSetU32(&parms[0], VBOX_SHCL_MODE_HOST_TO_GUEST); 83 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_MODE, 84 84 1, parms); 85 85 RTTESTI_CHECK_RC_OK(rc); 86 86 u32Mode = TestClipSvcGetMode(); 87 RTTESTI_CHECK_MSG(u32Mode == VBOX_SH ARED_CLIPBOARD_MODE_HOST_TO_GUEST,87 RTTESTI_CHECK_MSG(u32Mode == VBOX_SHCL_MODE_HOST_TO_GUEST, 88 88 ("u32Mode=%u\n", (unsigned) u32Mode)); 89 89 HGCMSvcSetU32(&parms[0], 99); 90 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_MODE,90 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_MODE, 91 91 1, parms); 92 92 RTTESTI_CHECK_RC(rc, VERR_NOT_SUPPORTED); 93 93 u32Mode = TestClipSvcGetMode(); 94 RTTESTI_CHECK_MSG(u32Mode == VBOX_SH ARED_CLIPBOARD_MODE_OFF,94 RTTESTI_CHECK_MSG(u32Mode == VBOX_SHCL_MODE_OFF, 95 95 ("u32Mode=%u\n", (unsigned) u32Mode)); 96 96 table.pfnUnload(NULL); … … 105 105 int rc; 106 106 107 RTTestISub("Setting up VBOX_SH ARED_CLIPBOARD_FN_GET_HOST_MSG test");107 RTTestISub("Setting up VBOX_SHCL_FN_GET_HOST_MSG test"); 108 108 rc = setupTable(&table); 109 109 RTTESTI_CHECK_MSG_RETV(RT_SUCCESS(rc), ("rc=%Rrc\n", rc)); 110 110 /* Unless we are bidirectional the host message requests will be dropped. */ 111 HGCMSvcSetU32(&parms[0], VBOX_SH ARED_CLIPBOARD_MODE_BIDIRECTIONAL);112 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_MODE,111 HGCMSvcSetU32(&parms[0], VBOX_SHCL_MODE_BIDIRECTIONAL); 112 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_MODE, 113 113 1, parms); 114 114 RTTESTI_CHECK_RC_OK(rc); … … 120 120 call.rc = VERR_TRY_AGAIN; 121 121 table.pfnConnect(NULL, 1 /* clientId */, &g_Client, 0, 0); 122 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,122 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 123 123 2, parms, 0); 124 124 RTTESTI_CHECK_RC(call.rc, VERR_TRY_AGAIN); /* This should get updated only when the guest call completes. */ 125 sharedClipboardSvcOldReportMsg(&g_Client, VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA,126 VBOX_SH ARED_CLIPBOARD_FMT_UNICODETEXT);127 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA);128 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SH ARED_CLIPBOARD_FMT_UNICODETEXT);129 RTTESTI_CHECK_RC_OK(call.rc); 130 call.rc = VERR_TRY_AGAIN; 131 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,125 sharedClipboardSvcOldReportMsg(&g_Client, VBOX_SHCL_HOST_MSG_READ_DATA, 126 VBOX_SHCL_FMT_UNICODETEXT); 127 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SHCL_HOST_MSG_READ_DATA); 128 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SHCL_FMT_UNICODETEXT); 129 RTTESTI_CHECK_RC_OK(call.rc); 130 call.rc = VERR_TRY_AGAIN; 131 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 132 132 2, parms, 0); 133 133 RTTESTI_CHECK_RC(call.rc, VERR_TRY_AGAIN); /* This call should not complete yet. */ … … 135 135 RTTestISub("Testing FN_GET_HOST_MSG, one format, no waiting guest calls."); 136 136 RT_ZERO(g_Client.State); 137 sharedClipboardSvcOldReportMsg(&g_Client, VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA,138 VBOX_SH ARED_CLIPBOARD_FMT_HTML);139 HGCMSvcSetU32(&parms[0], 0); 140 HGCMSvcSetU32(&parms[1], 0); 141 call.rc = VERR_TRY_AGAIN; 142 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,143 2, parms, 0); 144 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA);145 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SH ARED_CLIPBOARD_FMT_HTML);146 RTTESTI_CHECK_RC_OK(call.rc); 147 call.rc = VERR_TRY_AGAIN; 148 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,137 sharedClipboardSvcOldReportMsg(&g_Client, VBOX_SHCL_HOST_MSG_READ_DATA, 138 VBOX_SHCL_FMT_HTML); 139 HGCMSvcSetU32(&parms[0], 0); 140 HGCMSvcSetU32(&parms[1], 0); 141 call.rc = VERR_TRY_AGAIN; 142 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 143 2, parms, 0); 144 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SHCL_HOST_MSG_READ_DATA); 145 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SHCL_FMT_HTML); 146 RTTESTI_CHECK_RC_OK(call.rc); 147 call.rc = VERR_TRY_AGAIN; 148 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 149 149 2, parms, 0); 150 150 RTTESTI_CHECK_RC(call.rc, VERR_TRY_AGAIN); /* This call should not complete yet. */ … … 155 155 HGCMSvcSetU32(&parms[1], 0); 156 156 call.rc = VERR_TRY_AGAIN; 157 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,157 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 158 158 2, parms, 0); 159 159 RTTESTI_CHECK_RC(call.rc, VERR_TRY_AGAIN); /* This should get updated only when the guest call completes. */ 160 sharedClipboardSvcOldReportMsg(&g_Client, VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA,161 VBOX_SH ARED_CLIPBOARD_FMT_UNICODETEXT | VBOX_SHARED_CLIPBOARD_FMT_HTML);162 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA);163 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SH ARED_CLIPBOARD_FMT_UNICODETEXT);164 RTTESTI_CHECK_RC_OK(call.rc); 165 call.rc = VERR_TRY_AGAIN; 166 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,167 2, parms, 0); 168 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA);169 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SH ARED_CLIPBOARD_FMT_HTML);170 RTTESTI_CHECK_RC_OK(call.rc); 171 call.rc = VERR_TRY_AGAIN; 172 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,160 sharedClipboardSvcOldReportMsg(&g_Client, VBOX_SHCL_HOST_MSG_READ_DATA, 161 VBOX_SHCL_FMT_UNICODETEXT | VBOX_SHCL_FMT_HTML); 162 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SHCL_HOST_MSG_READ_DATA); 163 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SHCL_FMT_UNICODETEXT); 164 RTTESTI_CHECK_RC_OK(call.rc); 165 call.rc = VERR_TRY_AGAIN; 166 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 167 2, parms, 0); 168 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SHCL_HOST_MSG_READ_DATA); 169 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SHCL_FMT_HTML); 170 RTTESTI_CHECK_RC_OK(call.rc); 171 call.rc = VERR_TRY_AGAIN; 172 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 173 173 2, parms, 0); 174 174 RTTESTI_CHECK_RC(call.rc, VERR_TRY_AGAIN); /* This call should not complete yet. */ … … 176 176 RTTestISub("Testing FN_GET_HOST_MSG, two formats, no waiting guest calls."); 177 177 RT_ZERO(g_Client.State); 178 sharedClipboardSvcOldReportMsg(&g_Client, VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA,179 VBOX_SH ARED_CLIPBOARD_FMT_UNICODETEXT | VBOX_SHARED_CLIPBOARD_FMT_HTML);180 HGCMSvcSetU32(&parms[0], 0); 181 HGCMSvcSetU32(&parms[1], 0); 182 call.rc = VERR_TRY_AGAIN; 183 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,184 2, parms, 0); 185 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA);186 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SH ARED_CLIPBOARD_FMT_UNICODETEXT);187 RTTESTI_CHECK_RC_OK(call.rc); 188 call.rc = VERR_TRY_AGAIN; 189 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,190 2, parms, 0); 191 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SH ARED_CLIPBOARD_HOST_MSG_READ_DATA);192 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SH ARED_CLIPBOARD_FMT_HTML);193 RTTESTI_CHECK_RC_OK(call.rc); 194 call.rc = VERR_TRY_AGAIN; 195 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SH ARED_CLIPBOARD_GUEST_FN_GET_HOST_MSG_OLD,178 sharedClipboardSvcOldReportMsg(&g_Client, VBOX_SHCL_HOST_MSG_READ_DATA, 179 VBOX_SHCL_FMT_UNICODETEXT | VBOX_SHCL_FMT_HTML); 180 HGCMSvcSetU32(&parms[0], 0); 181 HGCMSvcSetU32(&parms[1], 0); 182 call.rc = VERR_TRY_AGAIN; 183 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 184 2, parms, 0); 185 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SHCL_HOST_MSG_READ_DATA); 186 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SHCL_FMT_UNICODETEXT); 187 RTTESTI_CHECK_RC_OK(call.rc); 188 call.rc = VERR_TRY_AGAIN; 189 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 190 2, parms, 0); 191 RTTESTI_CHECK(parms[0].u.uint32 == VBOX_SHCL_HOST_MSG_READ_DATA); 192 RTTESTI_CHECK(parms[1].u.uint32 == VBOX_SHCL_FMT_HTML); 193 RTTESTI_CHECK_RC_OK(call.rc); 194 call.rc = VERR_TRY_AGAIN; 195 table.pfnCall(NULL, &call, 1 /* clientId */, &g_Client, VBOX_SHCL_GUEST_FN_GET_HOST_MSG_OLD, 196 196 2, parms, 0); 197 197 RTTESTI_CHECK_RC(call.rc, VERR_TRY_AGAIN); /* This call should not complete yet. */ … … 213 213 /* Reset global variable which doesn't reset itself. */ 214 214 HGCMSvcSetU32(&parms[0], false); 215 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_HEADLESS,215 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_HEADLESS, 216 216 1, parms); 217 217 RTTESTI_CHECK_RC_OK(rc); 218 218 fHeadless = VBoxSvcClipboardGetHeadless(); 219 219 RTTESTI_CHECK_MSG(fHeadless == false, ("fHeadless=%RTbool\n", fHeadless)); 220 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_HEADLESS,220 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_HEADLESS, 221 221 0, parms); 222 222 RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER); 223 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_HEADLESS,223 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_HEADLESS, 224 224 2, parms); 225 225 RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER); 226 226 HGCMSvcSetU64(&parms[0], 99); 227 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_HEADLESS,227 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_HEADLESS, 228 228 1, parms); 229 229 RTTESTI_CHECK_RC(rc, VERR_INVALID_PARAMETER); 230 230 HGCMSvcSetU32(&parms[0], true); 231 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_HEADLESS,231 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_HEADLESS, 232 232 1, parms); 233 233 RTTESTI_CHECK_RC_OK(rc); … … 235 235 RTTESTI_CHECK_MSG(fHeadless == true, ("fHeadless=%RTbool\n", fHeadless)); 236 236 HGCMSvcSetU32(&parms[0], 99); 237 rc = table.pfnHostCall(NULL, VBOX_SH ARED_CLIPBOARD_HOST_FN_SET_HEADLESS,237 rc = table.pfnHostCall(NULL, VBOX_SHCL_HOST_FN_SET_HEADLESS, 238 238 1, parms); 239 239 RTTESTI_CHECK_RC_OK(rc);
Note:
See TracChangeset
for help on using the changeset viewer.