23 #define lok ok_(__FILE__,line) 24 #define KEY_BASE "Software\\Wine\\reg_test" 25 #define REG_EXIT_SUCCESS 0 26 #define REG_EXIT_FAILURE 1 27 #define TODO_REG_TYPE (0x0001u) 28 #define TODO_REG_SIZE (0x0002u) 29 #define TODO_REG_DATA (0x0004u) 30 #define TODO_REG_COMPARE (0x0008u) 32 #define run_reg_exe(c,r) run_reg_exe_(__LINE__,c,r) 62 #define verify_reg(k,v,t,d,s,todo) verify_reg_(__LINE__,k,v,t,d,s,todo) 78 lok(
type == exp_type,
"got wrong type %d, expected %d\n",
type, exp_type);
80 lok(
size == exp_size,
"got wrong size %d, expected %d\n",
size, exp_size);
88 #define verify_reg_nonexist(k,v) verify_reg_nonexist_(__LINE__,k,v) 98 #define open_key(b,p,s,k) open_key_(__LINE__,b,p,s,k) 107 #define verify_key(k,s) verify_key_(__LINE__,k,s) 120 #define verify_key_nonexist(k,s) verify_key_nonexist_(__LINE__,k,s) 134 #define add_key(k,p,s) add_key_(__LINE__,k,p,s) 144 #define delete_key(k,p) delete_key_(__LINE__,k,p) 160 char *subkey_name =
NULL;
161 DWORD max_subkey_len, subkey_len;
162 static const char empty[1];
182 subkey_len = max_subkey_len;
198 #define add_value(k,n,t,d,s) add_value_(__LINE__,k,n,t,d,s) 208 #define delete_value(k,n) delete_value_(__LINE__,k,n) 263 "got exit code %u\n",
r);
266 "got exit code %d\n",
err);
294 "got exit code %d, expected 0\n",
r);
298 win_skip(
"broken reg.exe detected\n");
332 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /v expand0 /t REG_EXpand_sz /d \"dead%PATH%beef\" /f", &
r);
336 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /v expand1 /t REG_EXpand_sz /d \"dead^%PATH^%beef\" /f", &
r);
403 "got exit code %d, expected 0\n",
r);
408 win_skip(
"broken reg.exe detected\n");
414 "got exit code %d, expected 1\n",
r);
429 size =
sizeof(dword);
434 ok(dword == 123 ||
broken(dword == 0123 ),
"got wrong data %d, expected 123\n", dword);
495 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /v multi0 /t REG_MULTI_SZ /d \"three\\0little\\0strings\" /f", &
r);
500 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi1 /s \"#\" /d \"three#little#strings\" /f", &
r);
512 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi4 /s \"#\" /d \"threelittlestrings\" /f", &
r);
516 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi5 /s \"#randomgibberish\" /d \"three#little#strings\" /f", &
r);
518 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi6 /s \"\\0\" /d \"three\\0little\\0strings\" /f", &
r);
520 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi7 /s \"\" /d \"three#little#strings\" /f", &
r);
524 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi9 /s \"#\" /d \"two##strings\" /f", &
r);
547 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi16 /d \"two\\0\\0strings\" /f", &
r);
559 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /v multi19 /t REG_MULTI_SZ /s \"#\" /d \"two\\0#strings\" /f", &
r);
563 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /v multi20 /t REG_MULTI_SZ /s \"#\" /d \"two#\\0strings\" /f", &
r);
567 run_reg_exe(
"reg add HKCU\\" KEY_BASE " /v multi21 /t REG_MULTI_SZ /s \"#\" /d \"two\\0\\0strings\" /f", &
r);
580 "got exit code %u, expected 1\n",
r);
606 const DWORD deadbeef = 0xdeadbeef;
628 add_key(hkey,
"subkey", &hsubkey);
659 const char hello[] =
"Hello";
660 const char world[] =
"World";
661 const char empty1[] =
"Empty1";
662 const char empty2[] =
"Empty2";
663 const DWORD dword1 = 0x123;
664 const DWORD dword2 = 0xabc;
686 "got exit code %d, expected 0\n",
r);
737 "got exit code %d, expected 0\n",
r);
741 "got exit code %d, expected 0\n",
r);
745 "got exit code %d, expected 0\n",
r);
818 #define test_import_str(c,r) import_reg(__LINE__,c,FALSE,r) 819 #define test_import_wstr(c,r) import_reg(__LINE__,c,TRUE,r) 833 if (!wstr)
return FALSE;
884 "got exit code %d, expected 1\n",
r);
888 "got exit code %d, expected 1\n",
r);
907 "got exit code %d, expected 1\n",
r);
911 "got exit code %d, expected 1\n",
r);
915 "got exit code %d, expected 1\n",
r);
933 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n", &
r);
939 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 940 "\"Wine\"=dword:00000123\n\n", &
r);
945 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 946 "@=\"Test string\"\n\n", &
r);
951 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 952 "\"Test1\"=\"Value\"\n", &
r);
957 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 958 "\"Test2\"=\"Value\"\n", &
r);
960 "got exit code %d, expected 1\n",
r);
964 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 965 "\"Test3\"=\"Value\"\n", &
r);
967 "got exit code %d, expected 1\n",
r);
971 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 972 "\"Test4\"=\"Value\"\n", &
r);
977 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 978 "\"Test5\"=\"Value\"\n", &
r);
983 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 984 "\"Test6\"=\"Value\"\n", &
r);
989 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 990 "\"Test7\"=\"Value\"\n", &
r);
995 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 996 "\"Test8\"=\"Value\"\n", &
r);
1001 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1002 "\"Test9\"=\"Value\"\n", &
r);
1004 "got exit code %d, expected 1\n",
r);
1008 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1009 "\"Test10\"=\"Value\"\n", &
r);
1011 "got exit code %d, expected 1\n",
r);
1015 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1016 "\"Test11\"=\"Value\"\n", &
r);
1018 "got exit code %d, expected 1\n",
r);
1022 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1023 "\"Test12\"=\"Value\"\n", &
r);
1025 "got exit code %d, expected 1\n",
r);
1029 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1030 "\"Test1\"=\"Value1\"\n", &
r);
1035 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1036 "\"Test2\"=\"Value2\"\n\n", &
r);
1041 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1042 "\"Test3\"=\"Value3\"\n\n", &
r);
1048 "got exit code %d, expected 1\n",
r);
1054 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1055 "\"Test4\"=\"Value4\"\n", &
r);
1060 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1061 "\"Test5\"=\"Value5\"\n\n", &
r);
1066 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1067 "\"Test6\"=\"Value6\"\n\n", &
r);
1072 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1073 "\"Line1\"=\"Value1\"\n\n" 1074 "\"Line2\"=\"Value2\"\n\n\n" 1075 "\"Line3\"=\"Value3\"\n\n\n\n" 1076 "\"Line4\"=\"Value4\"\n\n", &
r);
1084 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1085 "\"Wine1\"=dword:00000782\n\n" 1086 "\"Wine2\"=\"Test Value\"\n" 1087 "\"Wine3\"=hex(7):4c,69,6e,65,20,\\\n" 1088 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n" 1092 "\"Wine4\"=dword:12345678\n\n", &
r);
1103 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1104 "\"Wine5\"=\"No newline\"", &
r);
1108 "got %d, expected 0\n",
err);
1113 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1114 "\"Wine6\"=dword:00000050\n\n" 1115 "\"Wine7\"=\"No newline\"", &
r);
1121 "got %d, expected 0\n",
err);
1126 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1128 "\"Wine8\"=\"Line 1\"\n" 1130 "\"Wine9\"=\"Line 2\"\n\n", &
r);
1136 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1137 "\"Wine10\"=\"Value 1\"#comment\n" 1138 "\"Wine11\"=\"Value 2\";comment\n" 1139 "\"Wine12\"=dword:01020304 #comment\n" 1140 "\"Wine13\"=dword:02040608 ;comment\n\n", &
r);
1149 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1150 "\"Wine14\"=hex(7):4c,69,6e,65,20,\\\n" 1152 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n" 1153 "\"Wine15\"=\"A valid line\"\n" 1154 "\"Wine16\"=hex(7):4c,69,6e,65,20,\\\n" 1156 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n" 1157 "\"Wine17\"=\"Another valid line\"\n\n", &
r);
1165 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1166 "#\"Comment1\"=\"Value 1\"\n" 1167 ";\"Comment2\"=\"Value 2\"\n" 1168 " #\"Comment3\"=\"Value 3\"\n" 1169 " ;\"Comment4\"=\"Value 4\"\n" 1170 "\"Wine18\"=\"Value 6\"#\"Comment5\"=\"Value 5\"\n" 1171 "\"Wine19\"=\"Value 7\";\"Comment6\"=\"Value 6\"\n\n", &
r);
1183 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1184 "\"Wine20\"=#\"Value 8\"\n" 1185 "\"Wine21\"=;\"Value 9\"\n" 1186 "\"Wine22\"=\"#comment1\"\n" 1187 "\"Wine23\"=\";comment2\"\n" 1188 "\"Wine24\"=\"Value#comment3\"\n" 1189 "\"Wine25\"=\"Value;comment4\"\n" 1190 "\"Wine26\"=\"Value #comment5\"\n" 1191 "\"Wine27\"=\"Value ;comment6\"\n" 1192 "\"Wine28\"=#dword:00000001\n" 1193 "\"Wine29\"=;dword:00000002\n" 1194 "\"Wine30\"=dword:00000003#comment\n" 1195 "\"Wine31\"=dword:00000004;comment\n\n", &
r);
1212 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1213 "\"Multi-Line1\"=hex(7):4c,69,6e,65,20,\\\n" 1214 " 63,6f,6e,\\;comment\n" 1215 " 63,61,74,\\;comment\n" 1216 " 65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1221 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1222 "\"Multi-Line2\"=hex(7):4c,69,6e,65,20,\\\n" 1223 " 63,6f,6e,\\;comment\n" 1224 " 63,61,74,;comment\n" 1225 " 65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1230 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1231 "\"Multi-Line3\"=hex(7):4c,69,6e,65,20\\\n" 1232 ",63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1237 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1238 "\"Multi-Line4\"=hex(7):4c,69,6e,65,20\\\n" 1239 " ,63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1244 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1245 "\"Multi-Line5\"=hex(7):4c,69,6e,65,20\\\n" 1246 ",63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1251 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1252 "\"Multi-Line6\"=hex(7):4c,69,6e,65,20\\\n" 1253 " ,63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1258 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1259 "\"Multi-Line7\"=hex(7):4c,69,6e,\\;comment\n" 1260 " 65,20,\\;comment\n" 1261 " 63,6f,6e,\\;comment\n" 1262 " 63,61,74,\\;comment\n" 1263 " 65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1268 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1269 "\"Multi-Line8\"=hex(7):4c,69,6e,\\;#comment\n" 1270 " 65,20,\\;#comment\n" 1271 " 63,6f,6e,\\;#comment\n" 1272 " 63,61,74,\\;#comment\n" 1273 " 65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1278 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1279 "\"Multi-Line9\"=hex(7):4c,69,6e,\\;comment\n" 1280 " 65,20,\\;comment\n" 1281 " 63,6f,6e,\\;comment\n" 1282 " 63,61,74,\\#comment\n" 1283 " 65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1288 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1289 "\"Multi-Line10\"=hex(7):4c,69,6e,65,20,\\\n" 1290 " 63,6f,6e,\\;comment\n" 1292 " 65,6e,\\;comment\n\n" 1293 " 61,74,69,6f,6e,00,00\n\n", &
r);
1298 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1299 "\"Wine32a\"=dword:1\n" 1300 "\"Wine32b\"=dword:4444\n\n", &
r);
1308 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1309 "\"Wine33a\"=dword:\n" 1310 "\"Wine33b\"=dword:hello\n" 1311 "\"Wine33c\"=dword:123456789\n" 1312 "\"Wine33d\"=dword:012345678\n" 1313 "\"Wine33e\"=dword:000000001\n\n", &
r);
1322 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1323 "\"Wine34a\"=dword:12345678abc\n" 1324 "\"Wine34b\"=dword:12345678 abc\n\n", &
r);
1330 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1331 "\"Wine35a\"=dword:0x123\n" 1332 "\"Wine35b\"=dword:123 456\n" 1333 "\"Wine35c\"=dword:1234 5678\n\n", &
r);
1340 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1341 "\"Wine36a\"=dword:1234;5678\n" 1342 "\"Wine36b\"=dword:1234 ;5678\n" 1343 "\"Wine36c\"=dword:1234#5678\n" 1344 "\"Wine36d\"=dword:1234 #5678\n\n", &
r);
1353 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1354 "\"Wine37a\"=\"foo\"bar\"\n" 1355 "\"Wine37b\"=\"foo\"\"bar\"\n\n", &
r);
1361 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1362 "\"Empty string\"=\"\"\n" 1363 "\"\"=\"Default Value Name\"\n\n", &
r);
1369 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1371 "\"Test38b\"=\\\"\n" 1372 "\"Test38c\"=\\\"Value\\\"\n" 1373 "\"Test38d\"=\\\"Value\"\n\n", &
r);
1381 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1382 "\"Wine39a\"=\"Value1\" ;comment\n" 1383 "\"Wine39b\"=\"Value2\"\t\t;comment\n" 1384 "\"Wine39c\"=\"Value3\" #comment\n" 1385 "\"Wine39d\"=\"Value4\"\t\t#comment\n\n", &
r);
1393 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1394 "\"TestNoBeginQuote\"=Asdffdsa\"\n", &
r);
1399 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1400 "\"TestNoEndQuote\"=\"Asdffdsa\n", &
r);
1405 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1406 "\"TestNoQuotes\"=Asdffdsa\n", &
r);
1411 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1412 "NameNoBeginQuote\"=\"Asdffdsa\"\n", &
r);
1417 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1418 "\"NameNoEndQuote=\"Asdffdsa\"\n", &
r);
1423 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1424 "NameNoQuotes=\"Asdffdsa\"\n", &
r);
1429 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1430 "\"MixedQuotes=Asdffdsa\"\n", &
r);
1436 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1437 "\"Wine40a\"=hex(2):4c,69,6e,65,00\n" 1438 "\"Wine40b\"=\"Value 1\"\n" 1439 "\"Wine40c\"=hex(2):4c,69,6e,65\\\n" 1440 "\"Wine40d\"=\"Value 2\"\n" 1441 "\"Wine40e\"=hex(2):4c,69,6e,65,\\\n" 1442 "\"Wine40f\"=\"Value 3\"\n" 1443 "\"Wine40g\"=\"Value 4\"\n\n", &
r);
1454 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1455 "\"Wine41a\"=dword:1234\\\n" 1457 "\"Wine41b\"=\"Test \\\n" 1464 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1465 "\"double\\\"quote\"=\"valid \\\"or\\\" not\"\n" 1466 "\"single'quote\"=dword:00000008\n\n", &
r);
1474 "[HKEY_CURRENT_USER\\" KEY_BASE "\\\n" 1480 "[HKEY_CURRENT_USER\\" KEY_BASE "\n" 1481 "\\Subkey2]\n", &
r);
1486 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1488 "42a\"=\"Value 1\"\n" 1489 "\"Wine42b\"=\"Value 2\"\n" 1491 "\\42c\"=\"Value 3\"\n\n", &
r);
1499 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1500 "\"Wine43a\"=hex(0):56,00,61,00,6c,00,75,00,65,00,00,00\n" 1501 "\"Wine43b\"=hex(0):56,00,61,00,6c,00,\\\n" 1502 " 75,00,65,00,00,00\n" 1503 "\"Wine43c\"=hex(0):56,00,61,00,6c,00\\\n" 1504 ",75,00,65,00,00,00\n" 1505 "\"Wine43d\"=hex(0):56,00,61,00,6c,00\\\n" 1506 " ,75,00,65,00,00,00\n" 1507 "\"Wine43e\"=hex(0):56,00,61,00,6c,00\\\n" 1508 " 75,00,65,00,00,00\n" 1509 "\"Wine43f\"=hex(0):56,00,61,00,6c,00,7\\\n" 1510 "5,00,65,00,00,00\n" 1511 "\"Wine43g\"=hex(0):56,00,61,00,6c,00,7\\\n" 1512 " 5,00,65,00,00,00\n" 1513 "\"Wine43h\"=hex(0):56,00,61,00,\\;comment\n" 1516 "\"Wine43i\"=hex(0):56,00,61,00,\\;comment\n" 1519 "\"Wine43j\"=hex(0):56,00,61,00,\\;comment\n" 1520 " 6c,00,75,00,;comment\n" 1522 "\"Wine43k\"=hex(0):56,00,61,00,\\;comment\n" 1523 " 6c,00,75,00,\\#comment\n" 1524 " 65,00,00,00\n\n", &
r);
1539 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1540 "\"Wine44a\"=hex(2):25,50,41,54,48,25,00\n" 1541 "\"Wine44b\"=hex(2):25,50,41,\\\n" 1543 "\"Wine44c\"=hex(2):25,50,41\\\n" 1545 "\"Wine44d\"=hex(2):25,50,41\\\n" 1547 "\"Wine44e\"=hex(2):25,50,41\\\n" 1549 "\"Wine44f\"=hex(2):25,50,4\\\n" 1551 "\"Wine44g\"=hex(2):25,50,4\\\n" 1553 "\"Wine44h\"=hex(2):25,50,41,\\;comment\n" 1556 "\"Wine44i\"=hex(2):25,50,41,\\;comment\n" 1559 "\"Wine44j\"=hex(2):25,50,41,\\;comment\n" 1562 "\"Wine44k\"=hex(2):25,50,41,\\;comment\n" 1563 " 54,48,\\#comment\n" 1593 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1594 "\"Wine45a\"=hex:11,22,33,44,55,66,77,88\n" 1595 "\"Wine45b\"=hex:11,22,33,44,\\\n" 1597 "\"Wine45c\"=hex:11,22,33,44\\\n" 1599 "\"Wine45d\"=hex:11,22,33,44\\\n" 1601 "\"Wine45e\"=hex:11,22,33,44\\\n" 1603 "\"Wine45f\"=hex:11,22,33,4\\\n" 1605 "\"Wine45g\"=hex:11,22,33,4\\\n" 1607 "\"Wine45h\"=hex:11,22,33,44,\\;comment\n" 1610 "\"Wine45i\"=hex:11,22,33,44,\\;comment\n" 1613 "\"Wine45j\"=hex:11,22,33,44,\\;comment\n" 1616 "\"Wine45k\"=hex:11,22,33,\\;comment\n" 1617 " 44,55,66,\\#comment\n" 1620 hex[0] = 0x11;
hex[1] = 0x22;
hex[2] = 0x33;
hex[3] = 0x44;
1621 hex[4] = 0x55;
hex[5] = 0x66;
hex[6] = 0x77;
hex[7] = 0x88;
1636 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey\"1]\n" 1637 "\"Wine\\\\31\"=\"Test value\"\n\n", &
r);
1639 open_key(hkey,
"Subkey\"1", 0, &subkey);
1646 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey/2]\n" 1647 "\"123/\\\"4;'5\"=\"Random value name\"\n\n", &
r);
1649 open_key(hkey,
"Subkey/2", 0, &subkey);
1657 "HKEY_CURRENT_USER\\" KEY_BASE "\\No_Opening_Bracket]\n", &
r);
1662 "[HKEY_CURRENT_USER\\" KEY_BASE "\\No_Closing_Bracket\n", &
r);
1667 "[ HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1a]\n", &
r);
1672 "[\tHKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1b]\n", &
r);
1677 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1c ]\n", &
r);
1683 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1d\t]\n", &
r);
1689 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1e\\]\n" 1690 "\"Wine\"=\"Test value\"\n\n", &
r);
1694 open_key(hkey,
"Subkey1e", 0, &subkey);
1700 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1f\\\\]\n" 1701 "\"Wine\"=\"Test value\"\n\n", &
r);
1706 open_key(hkey,
"Subkey1f\\\\", 0, &subkey);
1712 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1g\\\\\\\\]\n" 1713 "\"Wine\"=\"Test value\"\n\n", &
r);
1719 open_key(hkey,
"Subkey1g\\\\", 0, &subkey);
1726 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n\n" 1727 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n\n", &
r);
1733 "[ -HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n", &
r);
1738 "[\t-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n", &
r);
1743 "[- HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n", &
r);
1748 "[-\tHKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n", &
r);
1753 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n\n" 1754 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2b]\n\n", &
r);
1761 "[hkey_CURRENT_user\\" KEY_BASE "\\Subkey3a]\n\n" 1762 "[HkEy_CuRrEnT_uSeR\\" KEY_BASE "\\SuBkEy3b]\n\n", &
r);
1768 "[-HKEY_current_USER\\" KEY_BASE "\\sUBKEY3A]\n\n" 1769 "[-hKeY_cUrReNt_UsEr\\" KEY_BASE "\\sUbKeY3B]\n\n", &
r);
1776 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4a]\n\n", &
r);
1781 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n" 1782 "[-HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey4a]\n" 1783 "\"Wine46a\"=dword:12345678\n\n", &
r);
1789 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n\n" 1790 "[HKEY_CURRENT_USERS\\" KEY_BASE "\\Subkey4b]\n" 1791 "\"Wine46b\"=dword:12345678\n\n", &
r);
1798 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1799 "\"Wine46a\"=\"Test Value\"\n" 1800 "\"Wine46b\"=dword:00000008\n" 1801 "\"Wine46c\"=hex:11,22,33,44\n" 1802 "\"Wine46d\"=hex(7):4c,69,6e,65,20,\\\n" 1803 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n" 1804 "\"Wine46e\"=hex(2):25,50,41,54,48,25,00\n" 1805 "\"Wine46f\"=hex(0):56,00,61,00,6c,00,75,00,65,00,00,00\n\n", &
r);
1815 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1818 "\"Wine46c\"= \t-\t \n" 1819 "\"Wine46d\"=-\"Test\"\n" 1820 "\"Wine46e\"=- ;comment\n" 1821 "\"Wine46f\"=- #comment\n\n", &
r);
1832 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1833 "\"Wine47a\"=hex(0):56,61,6c,75,65,00\n" 1834 "\"Wine47b\"=hex(10):56,61,6c,75,65,00\n" 1835 "\"Wine47c\"=hex(100):56,61,6c,75,65,00\n" 1836 "\"Wine47d\"=hex(1000):56,61,6c,75,65,00\n" 1837 "\"Wine47e\"=hex(7fff):56,61,6c,75,65,00\n" 1838 "\"Wine47f\"=hex(ffff):56,61,6c,75,65,00\n" 1839 "\"Wine47g\"=hex(7fffffff):56,61,6c,75,65,00\n" 1840 "\"Wine47h\"=hex(ffffffff):56,61,6c,75,65,00\n" 1841 "\"Wine47i\"=hex(100000000):56,61,6c,75,65,00\n" 1842 "\"Wine47j\"=hex(0x2):56,61,6c,75,65,00\n" 1843 "\"Wine47k\"=hex(0X2):56,61,6c,75,65,00\n" 1844 "\"Wine47l\"=hex(x2):56,61,6c,75,65,00\n\n", &
r);
1847 verify_reg(hkey,
"Wine47b", 0x10,
"Value", 6, 0);
1848 verify_reg(hkey,
"Wine47c", 0x100,
"Value", 6, 0);
1849 verify_reg(hkey,
"Wine47d", 0x1000,
"Value", 6, 0);
1850 verify_reg(hkey,
"Wine47e", 0x7fff,
"Value", 6, 0);
1851 verify_reg(hkey,
"Wine47f", 0xffff,
"Value", 6, 0);
1852 verify_reg(hkey,
"Wine47g", 0x7fffffff,
"Value", 6, 0);
1853 verify_reg(hkey,
"Wine47h", 0xffffffff,
"Value", 6, 0);
1860 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1861 "\"Wine48a\"=hex(7):4c,69,6e,65,20, \\\n" 1862 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n" 1863 "\"Wine48b\"=hex(7):4c,69,6e,65,20,\t\\\n" 1864 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
1870 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1871 "\"Wine49\"=hex(2):25,50,41,54,48,25,00,\n\n", &
r);
1876 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1877 "\"Wine50a\"=hex(2):25,50,41,54,48,25,00 ;comment\n" 1878 "\"Wine50b\"=hex(2):25,50,41,54,48,25,00\t;comment\n" 1879 "\"Wine50c\"=hex(2):25,50,41,54,48,25,00 #comment\n" 1880 "\"Wine50d\"=hex(2):25,50,41,54,48,25,00\t#comment\n\n", &
r);
1889 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1890 "\"Wine51a\"=hex(0):25,50,100,54,48,25,00\n" 1891 "\"Wine51b\"=hex(0):25,1a4,100,164,124,25,00\n\n", &
r);
1898 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1899 "\"Wine52a\"=hex(2):25,48\\,4f,4d,45,25,00\n" 1900 "\"Wine52b\"=hex(2):25,48,\\4f,4d,45,25,00\n" 1901 "\"Wine52c\"=hex(2):25,48\\ ,4f,4d,45,25,00\n" 1902 "\"Wine52d\"=hex(2):25,48,\\ 4f,4d,45,25,00\n" 1903 "\"Wine52e\"=hex(2):\\25,48,4f,4d,45,25,00\n" 1904 "\"Wine52f\"=hex(2):\\ 25,48,4f,4d,45,25,00\n" 1905 "\"Wine52g\"=hex(2):25,48,4\\f,4d,45,25,00\n" 1906 "\"Wine52h\"=hex(2):25,48,4\\\n" 1908 "\"Wine52i\"=hex(2):25,50,\\,41,54,48,25,00\n" 1909 "\"Wine52j\"=hex(2):25,48,4f,4d,45,25,5c,\\\\\n" 1910 " 25,50,41,54,48,25,00\n" 1911 "\"Wine52k\"=hex(2):,\\\n" 1912 " 25,48,4f,4d,45,25,00\n" 1913 "\"Wine52l\"=hex(2):\\\n" 1914 " 25,48,4f,4d,45,25,00\n\n", &
r);
1930 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1931 "\"Wine53a\"=hex(2):25,48,4f,4d,45,25,5c,\\\n" 1932 " 25,50,41,54,48,25,00\n" 1933 "\"Wine53b\"=hex(2):25,48,4f,4d,45,25,5c\\\n" 1934 " 25,50,41,54,48,25,00\n" 1935 "\"Wine53c\"=hex(2):25,48,4f,4d,45,25,5c, \\ ;comment\n" 1936 " 25,50,41,54,48,25,00\n" 1937 "\"Wine53d\"=hex(2):25,48,4f,4d,45,25,5c \\ ;comment\n" 1938 " 25,50,41,54,48,25,00\n" 1939 "\"Wine53e\"=hex(2):25,48,4f,4d,45,25,5c,\\\t ;comment\n" 1940 " 25,50,41,54,48,25,00\n" 1941 "\"Wine53f\"=hex(2):25,48,4f,4d,45,25,5c\\\t ;comment\n" 1942 " 25,50,41,54,48,25,00\n\n", &
r);
1952 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1953 "\"Wine54a\"=hex(2):4c,69,6e,65,20,\\\n" 1954 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1]\n", &
r);
1960 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1961 "\"Wine54b\"=hex(2):4c,69,6e,65,20\\\n" 1962 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2]\n", &
r);
1970 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 1971 "\"Wine55a\"=hex(2):4c,69,6e,65,20,\\\n" 1972 "\"Wine55b\"=\"Test value\"\n" 1974 "\"Wine55c\"=hex(2):4c,69,6e,65,20,\\\n" 1976 "\"Wine55d\"=\"Test value\"\n" 1978 "\"Wine55e\"=hex(2):4c,69,6e,65,20,\\\n" 1980 "\"Wine55f\"=\"Test value\"\n" 1982 "\"Wine55g\"=hex(2):4c,69,6e,65,20,\\\n\n" 1983 "\"Wine55h\"=\"Test value\"\n" 1985 "\"Wine55i\"=hex(2):4c,69,6e,65,20\\\n" 1986 "\"Wine55j\"=\"Test value\"\n\n", &
r);
2000 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2001 "\"Wine56a\"=hex(2):4c,69,6e,65,20,\\\n" 2002 "\"Wine56b\"=dword:00000008\n" 2004 "\"Wine56c\"=hex(2):4c,69,6e,65,20,\\\n" 2006 "\"Wine56d\"=dword:00000008\n" 2008 "\"Wine56e\"=hex(2):4c,69,6e,65,20,\\\n" 2010 "\"Wine56f\"=dword:00000008\n" 2012 "\"Wine56g\"=hex(2):4c,69,6e,65,20,\\\n\n" 2013 "\"Wine56h\"=dword:00000008\n" 2015 "\"Wine56i\"=hex(2):4c,69,6e,65,20\\\n" 2016 "\"Wine56j\"=dword:00000008\n\n", &
r);
2030 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2031 "\"Wine57a\"=hex(2):25,48,4f,4d,45,25,5c,\\\n" 2032 "\"Wine57b\"=hex(2):25,50,41,54,48,25,00\n" 2034 "\"Wine57c\"=hex(2):25,48,4f,4d,45,25,5c,\\\n" 2036 "\"Wine57d\"=hex(2):25,50,41,54,48,25,00\n" 2038 "\"Wine57e\"=hex(2):25,48,4f,4d,45,25,5c,\\\n" 2040 "\"Wine57f\"=hex(2):25,50,41,54,48,25,00\n" 2042 "\"Wine57g\"=hex(2):25,48,4f,4d,45,25,5c,\\\n\n" 2043 "\"Wine57h\"=hex(2):25,50,41,54,48,25,00\n" 2045 "\"Wine57i\"=hex(2):25,48,4f,4d,45,25,5c\\\n" 2046 "\"Wine57j\"=hex(2):25,50,41,54,48,25,00\n\n", &
r);
2062 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2063 "\"Wine58a\"=hex(2):4c,69,6e,65,20,\\\n" 2064 "@=\"Default value 1\"\n\n", &
r);
2070 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2071 "\"Wine58b\"=hex(2):4c,69,6e,65,20,\\\n" 2073 "@=\"Default value 2\"\n\n", &
r);
2079 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2080 "\"Wine58c\"=hex(2):4c,69,6e,65,20,\\\n" 2082 "@=\"Default value 3\"\n\n", &
r);
2090 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2091 "\"Wine58d\"=hex(2):4c,69,6e,65,20,\\\n\n" 2092 "@=\"Default value 4\"\n\n", &
r);
2098 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2099 "\"Wine58e\"=hex(2):4c,69,6e,65,20\\\n" 2100 "@=\"Default value 5\"\n\n", &
r);
2106 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2107 "\"Wine59a\"=hex:11,22,33,\\\n" 2110 "\"Wine59b\"=hex:11,22,33,\\\n" 2112 " 44,55,66\n\n", &
r);
2118 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2119 "\"Wine60a\"=hex(7):4c,69,6e,65,20,\\\n" 2120 " 63,6f,6e,63,61,74,\\\n" 2122 " 65,6e,\\;comment\n" 2123 " 61,74,69,6f,6e,00,00\n\n", &
r);
2128 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2129 "\"Wine60b\"=hex(7):4c,69,6e,65,20,\\\n" 2130 " 63,6f,6e,63,61,74,\\\n" 2132 " 65,6e,\\;comment\n" 2133 " 61,74,69,6f,6e,00,00\n\n", &
r);
2138 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2139 "\"Wine60c\"=hex(7):4c,69,6e,65,20,\\\n" 2140 " 63,6f,6e,63,61,74,\\\n" 2142 " 65,6e,\\;comment\n" 2143 " 61,74,69,6f,6e,00,00\n\n", &
r);
2148 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2149 "\"Wine60d\"=hex(7):4c,69,6e,65,20,\\\n" 2150 " 63,6f,6e,63,61,74,\\\n" 2152 " 65,6e,\\;comment\n" 2153 " 61,74,69,6f,6e,00,00\n\n", &
r);
2158 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2159 "\"Wine60e\"=hex(7):4c,69,6e,65,20,\\\n" 2161 " 63,61,74,\\\n\n\n" 2163 " 61,74,69,6f,6e,00,00\n\n", &
r);
2168 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2169 "\"Wine60f\"=hex(7):4c,69,6e,65,20,\\\n" 2171 " 63,61,74,\\\n\t\n\t\n" 2172 " 65,6e,\\\n\t \t\n\t \t\n\t \t\n" 2173 " 61,74,69,6f,6e,00,00\n\n", &
r);
2178 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2179 "\"Wine61a\"=hex(0):25,48,4f,4d,45,25,5c,/\n" 2180 " 25,50,41,54,48,25,00\n" 2181 "\"Wine61b\"=hex(0):25,48,4f,4d,45,25,5c/\n" 2182 " 25,50,41,54,48,25,00\n\n", &
r);
2188 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2189 "\"Wine62a\"=hex(0):56,61,6c,75,65,\\", &
r);
2193 "got %u, expected 0\n",
err);
2198 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2199 "\"Wine62b\"=hex(2):25,50,41,54,48,25,\\", &
r);
2203 "got %u, expected 0\n",
err);
2208 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2209 "\"Wine62c\"=hex:11,22,33,44,55,\\", &
r);
2213 "got %u, expected 0\n",
err);
2218 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2219 "\"Wine62d\"=hex(7):4c,69,6e,65,\\", &
r);
2223 "got %u, expected 0\n",
err);
2228 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2229 "\"Wine62e\"=hex(100):56,61,6c,75,65,\\", &
r);
2233 "got %u, expected 0\n",
err);
2235 verify_reg(hkey,
"Wine62e", 0x100,
"Value", 5, 0);
2238 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2239 "\"Wine62f\"=hex(7):4c,69,6e,65,20\\", &
r);
2244 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2245 "\"Wine63a\"=hex(7):4c,69,6e,65,20,\\\n" 2246 " ,63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n" 2247 "\"Wine63b\"=hex(7):4c,69,6e,65,20,\\\n" 2248 " 63,,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
2254 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2255 "\"Wine64a\"=hex(7):4c,69,6e,65,00,00\n" 2256 "\"Wine64b\"=hex(7):4c,69,6e,65,20,\\\n" 2257 " 63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n" 2258 "\"Wine64c\"=hex(7):4c,69,6e,65,20,\\;comment\n" 2259 " 63,6f,6e,63,61,74,\\\n" 2260 " 65,6e,61,74,69,6f,6e,00,00\n" 2261 "\"Wine64d\"=hex(7):4c,69,6e,65,20,\\;comment\n" 2262 " 63,6f,6e,63,61,74,\n" 2263 " 65,6e,61,74,69,6f,6e,00,00\n" 2264 "\"Wine64e\"=hex(7):4c,69,6e,65,20,\\\n" 2265 " 63,6f,6e,63,61,74,;comment\n" 2266 " 65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
2287 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2288 "\"Wine65a\"=hex(100):25,50,41,54,48,25,00\n" 2289 "\"Wine65b\"=hex(100):25,50,41,\\\n" 2291 "\"Wine65c\"=hex(100):25,50,41,\\;comment\n" 2294 "\"Wine65d\"=hex(100):25,50,41,\\;comment\n" 2297 "\"Wine65e\"=hex(100):25,50,41,\\;comment\n" 2301 verify_reg(hkey,
"Wine65a", 0x100,
"%PATH%", 7, 0);
2302 verify_reg(hkey,
"Wine65b", 0x100,
"%PATH%", 7, 0);
2303 verify_reg(hkey,
"Wine65c", 0x100,
"%PATH%", 7, 0);
2304 verify_reg(hkey,
"Wine65d", 0x100,
"%PATH", 5, 0);
2305 verify_reg(hkey,
"Wine65e", 0x100,
"%PATH", 5, 0);
2309 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2310 "\"Wine66a\"=hex(7):4c,69,6e,65\n" 2311 "\"Wine66b\"=hex(7):4c,69,6e,65,\n" 2312 "\"Wine66c\"=hex(7):4c,69,6e,65,00\n" 2313 "\"Wine66d\"=hex(7):4c,69,6e,65,00,\n" 2314 "\"Wine66e\"=hex(7):4c,69,6e,65,00,00\n" 2315 "\"Wine66f\"=hex(7):4c,69,6e,65,00,00,\n\n", &
r);
2325 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2326 "\"Wine67a\"=hex(2):25,50,41,54,48,25\n" 2327 "\"Wine67b\"=hex(2):25,50,41,54,48,25,\n" 2328 "\"Wine67c\"=hex(2):25,50,41,54,48,25,00\n" 2329 "\"Wine67d\"=hex(2):25,50,41,54,48,25,00,\n\n", &
r);
2337 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2338 "\"Wine68a\"=hex(1):\n" 2339 "\"Wine68b\"=hex(2):\n" 2340 "\"Wine68c\"=hex(3):\n" 2341 "\"Wine68d\"=hex(4):\n" 2342 "\"Wine68e\"=hex(7):\n" 2343 "\"Wine68f\"=hex(100):\n" 2344 "\"Wine68g\"=hex(abcd):\n" 2345 "\"Wine68h\"=hex:\n" 2346 "\"Wine68i\"=hex(0):\n\n", &
r);
2360 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2361 "\"Wine69a\"=\"\\0\n" 2362 "\"Wine69b\"=\"\\0\\0\n" 2363 "\"Wine69c\"=\"Value1\\0\n" 2364 "\"Wine69d\"=\"Value2\\0\\0\\0\\0\n" 2365 "\"Wine69e\"=\"Value3\\0Value4\n" 2366 "\"Wine69f\"=\"\\0Value4\n\n", &
r);
2394 "got exit code %d, expected 1\n",
r);
2398 "got exit code %d, expected 1\n",
r);
2420 "got exit code %d, expected 1\n",
r);
2423 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n", &
r);
2429 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2430 "\"Test1\"=\"Value\"\n", &
r);
2435 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2436 "\"Test2\"=\"Value\"\n", &
r);
2438 "got exit code %d, expected 1\n",
r);
2442 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2443 "\"Test3\"=\"Value\"\n", &
r);
2445 "got exit code %d, expected 1\n",
r);
2449 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2450 "\"Test4\"=\"Value\"\n", &
r);
2455 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2456 "\"Test5\"=\"Value\"\n", &
r);
2461 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2462 "\"Test6\"=\"Value\"\n", &
r);
2467 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2468 "\"Test7\"=\"Value\"\n", &
r);
2473 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2474 "\"Test8\"=\"Value\"\n", &
r);
2479 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2480 "\"Unicode1\"=\"Value1\"\n", &
r);
2485 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2486 "\"Unicode2\"=\"Value2\"\n\n", &
r);
2491 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2492 "\"Unicode3\"=\"Value3\"\n\n", &
r);
2498 "got exit code %d, expected 1\n",
r);
2502 "got exit code %d, expected 1\n",
r);
2506 "got exit code %d, expected 1\n",
r);
2516 "got exit code %d, expected 1\n",
r);
2526 "got exit code %d, expected 1\n",
r);
2529 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2530 "\"Test9\"=\"Value\"\n", &
r);
2532 "got exit code %d, expected 1\n",
r);
2536 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2537 "\"Test10\"=\"Value\"\n", &
r);
2539 "got exit code %d, expected 1\n",
r);
2543 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2544 "\"Test11\"=\"Value\"\n", &
r);
2546 "got exit code %d, expected 1\n",
r);
2550 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2551 "\"Test12\"=\"Value\"\n", &
r);
2553 "got exit code %d, expected 1\n",
r);
2557 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2558 "\"Wine\"=dword:00000123\n\n", &
r);
2563 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2564 "@=\"Test string\"\n\n", &
r);
2569 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2570 "\"Unicode4\"=\"Value4\"\n", &
r);
2575 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2576 "\"Unicode5\"=\"Value5\"\n\n", &
r);
2581 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2582 "\"Unicode6\"=\"Value6\"\n\n", &
r);
2587 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2588 "\"Line1\"=\"Value1\"\n\n" 2589 "\"Line2\"=\"Value2\"\n\n\n" 2590 "\"Line3\"=\"Value3\"\n\n\n\n" 2591 "\"Line4\"=\"Value4\"\n\n", &
r);
2599 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2600 "\"Wine1\"=dword:00000782\n\n" 2601 "\"Wine2\"=\"Test Value\"\n" 2602 "\"Wine3\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,63,00,6f,00,6e,00,63,00,\\\n" 2603 " 61,00,74,00,65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n" 2607 "\"Wine4\"=dword:12345678\n\n", &
r);
2618 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2619 "\"Wine5\"=\"No newline\"", &
r);
2623 "got %d, expected 0\n",
err);
2628 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2629 "\"Wine6\"=dword:00000050\n\n" 2630 "\"Wine7\"=\"No newline\"", &
r);
2636 "got %d, expected 0\n",
err);
2641 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2643 "\"Wine8\"=\"Line 1\"\n" 2645 "\"Wine9\"=\"Line 2\"\n\n", &
r);
2651 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2652 "\"Wine10\"=\"Value 1\"#comment\n" 2653 "\"Wine11\"=\"Value 2\";comment\n" 2654 "\"Wine12\"=dword:01020304 #comment\n" 2655 "\"Wine13\"=dword:02040608 ;comment\n\n", &
r);
2664 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2665 "\"Wine14\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,63,00,6f,00,6e,00,63,00,\\\n" 2667 " 61,00,74,00,65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n" 2668 "\"Wine15\"=\"A valid line\"\n" 2669 "\"Wine16\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,63,00,6f,00,6e,00,63,00,\\\n" 2671 " 61,00,74,00,65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n" 2672 "\"Wine17\"=\"Another valid line\"\n\n", &
r);
2680 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2681 "#\"Comment1\"=\"Value 1\"\n" 2682 ";\"Comment2\"=\"Value 2\"\n" 2683 " #\"Comment3\"=\"Value 3\"\n" 2684 " ;\"Comment4\"=\"Value 4\"\n" 2685 "\"Wine18\"=\"Value 6\"#\"Comment5\"=\"Value 5\"\n" 2686 "\"Wine19\"=\"Value 7\";\"Comment6\"=\"Value 6\"\n\n", &
r);
2698 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2699 "\"Wine20\"=#\"Value 8\"\n" 2700 "\"Wine21\"=;\"Value 9\"\n" 2701 "\"Wine22\"=\"#comment1\"\n" 2702 "\"Wine23\"=\";comment2\"\n" 2703 "\"Wine24\"=\"Value#comment3\"\n" 2704 "\"Wine25\"=\"Value;comment4\"\n" 2705 "\"Wine26\"=\"Value #comment5\"\n" 2706 "\"Wine27\"=\"Value ;comment6\"\n" 2707 "\"Wine28\"=#dword:00000001\n" 2708 "\"Wine29\"=;dword:00000002\n" 2709 "\"Wine30\"=dword:00000003#comment\n" 2710 "\"Wine31\"=dword:00000004;comment\n\n", &
r);
2727 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2728 "\"Wine32a\"=dword:1\n" 2729 "\"Wine32b\"=dword:4444\n\n", &
r);
2737 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2738 "\"Wine33a\"=dword:\n" 2739 "\"Wine33b\"=dword:hello\n" 2740 "\"Wine33c\"=dword:123456789\n" 2741 "\"Wine33d\"=dword:012345678\n" 2742 "\"Wine33e\"=dword:000000001\n\n", &
r);
2751 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2752 "\"Wine34a\"=dword:12345678abc\n" 2753 "\"Wine34b\"=dword:12345678 abc\n\n", &
r);
2759 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2760 "\"Wine35a\"=dword:0x123\n" 2761 "\"Wine35b\"=dword:123 456\n" 2762 "\"Wine35c\"=dword:1234 5678\n\n", &
r);
2769 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2770 "\"Wine36a\"=dword:1234;5678\n" 2771 "\"Wine36b\"=dword:1234 ;5678\n" 2772 "\"Wine36c\"=dword:1234#5678\n" 2773 "\"Wine36d\"=dword:1234 #5678\n\n", &
r);
2782 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2783 "\"Wine37a\"=\"foo\"bar\"\n" 2784 "\"Wine37b\"=\"foo\"\"bar\"\n\n", &
r);
2790 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2791 "\"Empty string\"=\"\"\n" 2792 "\"\"=\"Default registry value\"\n\n", &
r);
2798 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2800 "\"Test38b\"=\\\"\n" 2801 "\"Test38c\"=\\\"Value\\\"\n" 2802 "\"Test38d\"=\\\"Value\"\n\n", &
r);
2810 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2811 "\"Wine39a\"=\"Value1\" ;comment\n" 2812 "\"Wine39b\"=\"Value2\"\t\t;comment\n" 2813 "\"Wine39c\"=\"Value3\" #comment\n" 2814 "\"Wine39d\"=\"Value4\"\t\t#comment\n\n", &
r);
2822 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2823 "\"TestNoBeginQuote\"=Asdffdsa\"\n", &
r);
2828 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2829 "\"TestNoEndQuote\"=\"Asdffdsa\n", &
r);
2834 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2835 "\"TestNoQuotes\"=Asdffdsa\n", &
r);
2840 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2841 "NameNoBeginQuote\"=\"Asdffdsa\"\n", &
r);
2846 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2847 "\"NameNoEndQuote=\"Asdffdsa\"\n", &
r);
2852 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2853 "NameNoQuotes=\"Asdffdsa\"\n", &
r);
2858 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2859 "\"MixedQuotes=Asdffdsa\"\n", &
r);
2865 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2866 "\"Wine40a\"=hex(2):4c,00,69,00,6e,00,65,00,00,00\n" 2867 "\"Wine40b\"=\"Value 1\"\n" 2868 "\"Wine40c\"=hex(2):4c,00,69,00,6e,00,65,00\\\n" 2869 "\"Wine40d\"=\"Value 2\"\n" 2870 "\"Wine40e\"=hex(2):4c,00,69,00,6e,00,65,00,\\\n" 2871 "\"Wine40f\"=\"Value 3\"\n" 2872 "\"Wine40g\"=\"Value 4\"\n\n", &
r);
2883 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2884 "\"Multi-Line1\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n" 2885 " 63,00,6f,00,6e,00,\\;comment\n" 2886 " 63,00,61,00,74,00,\\;comment\n" 2887 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n", &
r);
2892 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2893 "\"Multi-Line2\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n" 2894 " 63,00,6f,00,6e,00,\\;comment\n" 2895 " 63,00,61,00,74,00,;comment\n" 2896 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n", &
r);
2901 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2902 "\"Multi-Line3\"=hex(7):4c,69,6e,65,20\\\n" 2903 ",63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
2908 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2909 "\"Multi-Line4\"=hex(7):4c,69,6e,65,20\\\n" 2910 " ,63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
2915 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2916 "\"Multi-Line5\"=hex(7):4c,69,6e,65,20\\\n" 2917 ",63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
2922 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2923 "\"Multi-Line6\"=hex(7):4c,69,6e,65,20\\\n" 2924 " ,63,6f,6e,63,61,74,65,6e,61,74,69,6f,6e,00,00\n\n", &
r);
2929 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2930 "\"Multi-Line7\"=hex(7):4c,00,69,00,6e,00,\\;comment\n" 2931 " 65,00,20,00,\\;comment\n" 2932 " 63,00,6f,00,6e,00,\\;comment\n" 2933 " 63,00,61,00,74,00,\\;comment\n" 2934 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n", &
r);
2939 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2940 "\"Multi-Line8\"=hex(7):4c,00,69,00,6e,00,\\;#comment\n" 2941 " 65,00,20,00,\\;#comment\n" 2942 " 63,00,6f,00,6e,00,\\;#comment\n" 2943 " 63,00,61,00,74,00,\\;#comment\n" 2944 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n", &
r);
2949 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2950 "\"Multi-Line9\"=hex(7):4c,00,69,00,6e,00,\\;comment\n" 2951 " 65,00,20,00,\\;comment\n" 2952 " 63,00,6f,00,6e,00,\\;comment\n" 2953 " 63,00,61,00,74,00,\\#comment\n" 2954 " 65,00,6e,00,61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n", &
r);
2959 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2960 "\"Multi-Line10\"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\\n" 2961 " 63,00,6f,00,6e,00,\\;comment\n" 2962 " 63,00,61,00,74,00,\\\n\n" 2963 " 65,00,6e,00,\\;comment\n\n" 2964 " 61,00,74,00,69,00,6f,00,6e,00,00,00,00,00\n\n", &
r);
2969 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2970 "\"Wine41a\"=dword:1234\\\n" 2972 "\"Wine41b\"=\"Test \\\n" 2979 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 2980 "\"double\\\"quote\"=\"valid \\\"or\\\" not\"\n" 2981 "\"single'quote\"=dword:00000008\n\n", &
r);
2989 "[HKEY_CURRENT_USER\\" KEY_BASE "\\\n" 2995 "[HKEY_CURRENT_USER\\" KEY_BASE "\n" 2996 "\\Subkey2]\n", &
r);
3001 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 3003 "42a\"=\"Value 1\"\n" 3004 "\"Wine42b\"=\"Value 2\"\n" 3006 "\\42c\"=\"Value 3\"\n\n", &
r);
3014 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 3015 "\"Wine43a\"=hex(0):56,00,61,00,6c,00,75,00,65,00,00,00\n" 3016 "\"Wine43b\"=hex(0):56,00,61,00,6c,00,\\\n" 3017 " 75,00,65,00,00,00\n" 3018 "\"Wine43c\"=hex(0):56,00,61,00,6c,00\\\n" 3019 ",75,00,65,00,00,00\n" 3020 "\"Wine43d\"=hex(0):56,00,61,00,6c,00\\\n" 3021 " ,75,00,65,00,00,00\n" 3022 "\"Wine43e\"=hex(0):56,00,61,00,6c,00\\\n" 3023 " 75,00,65,00,00,00\n" 3024 "\"Wine43f\"=hex(0):56,00,61,00,6c,00,7\\\n" 3025 "5,00,65,00,00,00\n" 3026 "\"Wine43g\"=hex(0):56,00,61,00,6c,00,7\\\n" 3027 " 5,00,65,00,00,00\n" 3028 "\"Wine43h\"=hex(0):56,00,61,00,\\;comment\n" 3031 "\"Wine43i\"=hex(0):56,00,61,00,\\;comment\n" 3034 "\"Wine43j\"=hex(0):56,00,61,00,\\;comment\n" 3035 " 6c,00,75,00,;comment\n" 3037 "\"Wine43k\"=hex(0):56,00,61,00,\\;comment\n" 3038 " 6c,00,75,00,\\#comment\n" 3039 " 65,00,00,00\n\n", &
r);
3054 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 3055 "\"Wine44a\"=hex(2):25,00,50,00,41,00,54,00,48,00,25,00,00,00\n" 3056 "\"Wine44b\"=hex(2):25,00,50,00,41,00,\\\n" 3057 " 54,00,48,00,25,00,00,00\n" 3058 "\"Wine44c\"=hex(2):25,00,50,00,41,00\\\n" 3059 ",54,00,48,00,25,00,00,00\n" 3060 "\"Wine44d\"=hex(2):25,00,50,00,41,00\\\n" 3061 " ,54,00,48,00,25,00,00,00\n" 3062 "\"Wine44e\"=hex(2):25,00,50,00,41,00\\\n" 3063 " 54,00,48,00,25,00,00,00\n" 3064 "\"Wine44f\"=hex(2):25,00,50,00,4\\\n" 3065 "1,00,54,00,48,00,25,00,00,00\n" 3066 "\"Wine44g\"=hex(2):25,00,50,00,4\\\n" 3067 " 1,00,54,00,48,00,25,00,00,00\n" 3068 "\"Wine44h\"=hex(2):25,00,50,00,41,00,\\;comment\n" 3071 "\"Wine44i\"=hex(2):25,00,50,00,41,00,\\;comment\n" 3074 "\"Wine44j\"=hex(2):25,00,50,00,41,00,\\;comment\n" 3075 " 54,00,48,00;comment\n" 3077 "\"Wine44k\"=hex(2):25,00,50,00,41,00,\\;comment\n" 3078 " 54,00,48,00,\\#comment\n" 3079 " 25,00,00,00\n\n", &
r);
3108 "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" 3109 "\"Wine45a\"=hex:11,22,33,44,55,66,77,88\n" 3110 "\"Wine45b\"=hex:11,22,33,44,\\\n" 3112 "\"Wine45c\"=hex:11,22,33,44\\\n" 3114 "\"Wine45d\"=hex:11,22,33,44\\\n" 3116 "\"Wine45e\"=hex:11,22,33,44\\\n" 3118 "\"Wine45f\"=hex:11,22,33,4\\\n" 3120 "\"Wine45g\"=hex:11,22,33,4\\\n" 3122 "\"Wine45h\"=hex:11,22,33,44,\\;comment\n" 3125 "\"Wine45i\"=hex:11,22,33,44,\\;comment\n" 3128 "\"Wine45j\"=hex:11,22,33,44,\\;comment\n" 3131 "\"Wine45k\"=hex:11,22,33,\\;comment\n" 3132 " 44,55,66,\\#comment\n" 3135 hex[0] = 0x11;
hex[1] = 0x22;
hex[2] = 0x33;
hex[3] = 0x44;
3136 hex[4] = 0x55;
hex[5] = 0x66;
hex[6] = 0x77;
hex[7] = 0x88;
3151 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey\"1]\n" 3152 "\"Wine\\\\31\"=\"Test value\"\n\n", &
r);
3154 open_key(hkey,
"Subkey\"1", 0, &subkey);
3161 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey/2]\n" 3162 "\"123/\\\"4;'5\"=\"Random value name\"\n\n", &
r);
3164 open_key(hkey,
"Subkey/2", 0, &subkey);
3172 "HKEY_CURRENT_USER\\" KEY_BASE "\\No_Opening_Bracket]\n", &
r);
3177 "[HKEY_CURRENT_USER\\" KEY_BASE "\\No_Closing_Bracket\n", &
r);
3182 "[ HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1a]\n", &
r);
3187 "[\tHKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1b]\n", &
r);
3192 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1c ]\n", &
r);
3198 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1d\t]\n", &
r);
3204 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1e\\]\n" 3205 "\"Wine\"=\"Test value\"\n\n", &
r);
3209 open_key(hkey,
"Subkey1e", 0, &subkey);
3215 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1f\\\\]\n" 3216 "\"Wine\"=\"Test value\"\n\n", &
r);
3221 open_key(hkey,
"Subkey1f\\\\", 0, &subkey);
3227 "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1g\\\\\\\\]\n" 3228 "\"Wine\"=\"Test value\"\n\n", &
r);