Show More
@@ -1,220 +1,221 b'' | |||||
1 | 35fb62a3a673d5322f6274a44ba6456e5e4b3b37 0 iD8DBQBEYmO2ywK+sNU5EO8RAnaYAKCO7x15xUn5mnhqWNXqk/ehlhRt2QCfRDfY0LrUq2q4oK/KypuJYPHgq1A= |
|
1 | 35fb62a3a673d5322f6274a44ba6456e5e4b3b37 0 iD8DBQBEYmO2ywK+sNU5EO8RAnaYAKCO7x15xUn5mnhqWNXqk/ehlhRt2QCfRDfY0LrUq2q4oK/KypuJYPHgq1A= | |
2 | 2be3001847cb18a23c403439d9e7d0ace30804e9 0 iD8DBQBExUbjywK+sNU5EO8RAhzxAKCtyHAQUzcTSZTqlfJ0by6vhREwWQCghaQFHfkfN0l9/40EowNhuMOKnJk= |
|
2 | 2be3001847cb18a23c403439d9e7d0ace30804e9 0 iD8DBQBExUbjywK+sNU5EO8RAhzxAKCtyHAQUzcTSZTqlfJ0by6vhREwWQCghaQFHfkfN0l9/40EowNhuMOKnJk= | |
3 | 36a957364b1b89c150f2d0e60a99befe0ee08bd3 0 iD8DBQBFfL2QywK+sNU5EO8RAjYFAKCoGlaWRTeMsjdmxAjUYx6diZxOBwCfY6IpBYsKvPTwB3oktnPt5Rmrlys= |
|
3 | 36a957364b1b89c150f2d0e60a99befe0ee08bd3 0 iD8DBQBFfL2QywK+sNU5EO8RAjYFAKCoGlaWRTeMsjdmxAjUYx6diZxOBwCfY6IpBYsKvPTwB3oktnPt5Rmrlys= | |
4 | 27230c29bfec36d5540fbe1c976810aefecfd1d2 0 iD8DBQBFheweywK+sNU5EO8RAt7VAKCrqJQWT2/uo2RWf0ZI4bLp6v82jACgjrMdsaTbxRsypcmEsdPhlG6/8F4= |
|
4 | 27230c29bfec36d5540fbe1c976810aefecfd1d2 0 iD8DBQBFheweywK+sNU5EO8RAt7VAKCrqJQWT2/uo2RWf0ZI4bLp6v82jACgjrMdsaTbxRsypcmEsdPhlG6/8F4= | |
5 | fb4b6d5fe100b0886f8bc3d6731ec0e5ed5c4694 0 iD8DBQBGgHicywK+sNU5EO8RAgNxAJ0VG8ixAaeudx4sZbhngI1syu49HQCeNUJQfWBgA8bkJ2pvsFpNxwYaX3I= |
|
5 | fb4b6d5fe100b0886f8bc3d6731ec0e5ed5c4694 0 iD8DBQBGgHicywK+sNU5EO8RAgNxAJ0VG8ixAaeudx4sZbhngI1syu49HQCeNUJQfWBgA8bkJ2pvsFpNxwYaX3I= | |
6 | 23889160905a1b09fffe1c07378e9fc1827606eb 0 iD8DBQBHGTzoywK+sNU5EO8RAr/UAJ0Y8s4jQtzgS+G9vM8z6CWBThZ8fwCcCT5XDj2XwxKkz/0s6UELwjsO3LU= |
|
6 | 23889160905a1b09fffe1c07378e9fc1827606eb 0 iD8DBQBHGTzoywK+sNU5EO8RAr/UAJ0Y8s4jQtzgS+G9vM8z6CWBThZ8fwCcCT5XDj2XwxKkz/0s6UELwjsO3LU= | |
7 | bae2e9c838e90a393bae3973a7850280413e091a 0 iD8DBQBH6DO5ywK+sNU5EO8RAsfrAJ0e4r9c9GF/MJsM7Xjd3NesLRC3+ACffj6+6HXdZf8cswAoFPO+DY00oD0= |
|
7 | bae2e9c838e90a393bae3973a7850280413e091a 0 iD8DBQBH6DO5ywK+sNU5EO8RAsfrAJ0e4r9c9GF/MJsM7Xjd3NesLRC3+ACffj6+6HXdZf8cswAoFPO+DY00oD0= | |
8 | d5cbbe2c49cee22a9fbeb9ea41daa0ac4e26b846 0 iD8DBQBINdwsywK+sNU5EO8RAjIUAKCPmlFJSpsPAAUKF+iNHAwVnwmzeQCdEXrL27CWclXuUKdbQC8De7LICtE= |
|
8 | d5cbbe2c49cee22a9fbeb9ea41daa0ac4e26b846 0 iD8DBQBINdwsywK+sNU5EO8RAjIUAKCPmlFJSpsPAAUKF+iNHAwVnwmzeQCdEXrL27CWclXuUKdbQC8De7LICtE= | |
9 | d2375bbee6d47e62ba8e415c86e83a465dc4dce9 0 iD8DBQBIo1wpywK+sNU5EO8RAmRNAJ94x3OFt6blbqu/yBoypm/AJ44fuACfUaldXcV5z9tht97hSp22DVTEPGc= |
|
9 | d2375bbee6d47e62ba8e415c86e83a465dc4dce9 0 iD8DBQBIo1wpywK+sNU5EO8RAmRNAJ94x3OFt6blbqu/yBoypm/AJ44fuACfUaldXcV5z9tht97hSp22DVTEPGc= | |
10 | 2a67430f92f15ea5159c26b09ec4839a0c549a26 0 iEYEABECAAYFAkk1hykACgkQywK+sNU5EO85QACeNJNUanjc2tl4wUoPHNuv+lSj0ZMAoIm93wSTc/feyYnO2YCaQ1iyd9Nu |
|
10 | 2a67430f92f15ea5159c26b09ec4839a0c549a26 0 iEYEABECAAYFAkk1hykACgkQywK+sNU5EO85QACeNJNUanjc2tl4wUoPHNuv+lSj0ZMAoIm93wSTc/feyYnO2YCaQ1iyd9Nu | |
11 | 3773e510d433969e277b1863c317b674cbee2065 0 iEYEABECAAYFAklNbbAACgkQywK+sNU5EO8o+gCfeb2/lfIJZMvyDA1m+G1CsBAxfFsAoIa6iAMG8SBY7hW1Q85Yf/LXEvaE |
|
11 | 3773e510d433969e277b1863c317b674cbee2065 0 iEYEABECAAYFAklNbbAACgkQywK+sNU5EO8o+gCfeb2/lfIJZMvyDA1m+G1CsBAxfFsAoIa6iAMG8SBY7hW1Q85Yf/LXEvaE | |
12 | 11a4eb81fb4f4742451591489e2797dc47903277 0 iEYEABECAAYFAklcAnsACgkQywK+sNU5EO+uXwCbBVHNNsLy1g7BlAyQJwadYVyHOXoAoKvtAVO71+bv7EbVoukwTzT+P4Sx |
|
12 | 11a4eb81fb4f4742451591489e2797dc47903277 0 iEYEABECAAYFAklcAnsACgkQywK+sNU5EO+uXwCbBVHNNsLy1g7BlAyQJwadYVyHOXoAoKvtAVO71+bv7EbVoukwTzT+P4Sx | |
13 | 11efa41037e280d08cfb07c09ad485df30fb0ea8 0 iEYEABECAAYFAkmvJRQACgkQywK+sNU5EO9XZwCeLMgDgPSMWMm6vgjL4lDs2pEc5+0AnRxfiFbpbBfuEFTqKz9nbzeyoBlx |
|
13 | 11efa41037e280d08cfb07c09ad485df30fb0ea8 0 iEYEABECAAYFAkmvJRQACgkQywK+sNU5EO9XZwCeLMgDgPSMWMm6vgjL4lDs2pEc5+0AnRxfiFbpbBfuEFTqKz9nbzeyoBlx | |
14 | 02981000012e3adf40c4849bd7b3d5618f9ce82d 0 iEYEABECAAYFAknEH3wACgkQywK+sNU5EO+uXwCeI+LbLMmhjU1lKSfU3UWJHjjUC7oAoIZLvYDGOL/tNZFUuatc3RnZ2eje |
|
14 | 02981000012e3adf40c4849bd7b3d5618f9ce82d 0 iEYEABECAAYFAknEH3wACgkQywK+sNU5EO+uXwCeI+LbLMmhjU1lKSfU3UWJHjjUC7oAoIZLvYDGOL/tNZFUuatc3RnZ2eje | |
15 | 196d40e7c885fa6e95f89134809b3ec7bdbca34b 0 iEYEABECAAYFAkpL2X4ACgkQywK+sNU5EO9FOwCfXJycjyKJXsvQqKkHrglwOQhEKS4An36GfKzptfN8b1qNc3+ya/5c2WOM |
|
15 | 196d40e7c885fa6e95f89134809b3ec7bdbca34b 0 iEYEABECAAYFAkpL2X4ACgkQywK+sNU5EO9FOwCfXJycjyKJXsvQqKkHrglwOQhEKS4An36GfKzptfN8b1qNc3+ya/5c2WOM | |
16 | 3ef6c14a1e8e83a31226f5881b7fe6095bbfa6f6 0 iEYEABECAAYFAkpopLIACgkQywK+sNU5EO8QSgCfZ0ztsd071rOa2lhmp9Fyue/WoI0AoLTei80/xrhRlB8L/rZEf2KBl8dA |
|
16 | 3ef6c14a1e8e83a31226f5881b7fe6095bbfa6f6 0 iEYEABECAAYFAkpopLIACgkQywK+sNU5EO8QSgCfZ0ztsd071rOa2lhmp9Fyue/WoI0AoLTei80/xrhRlB8L/rZEf2KBl8dA | |
17 | 31ec469f9b556f11819937cf68ee53f2be927ebf 0 iEYEABECAAYFAksBuxAACgkQywK+sNU5EO+mBwCfagB+A0txzWZ6dRpug3LEoK7Z1QsAoKpbk8vsLjv6/oRDicSk/qBu33+m |
|
17 | 31ec469f9b556f11819937cf68ee53f2be927ebf 0 iEYEABECAAYFAksBuxAACgkQywK+sNU5EO+mBwCfagB+A0txzWZ6dRpug3LEoK7Z1QsAoKpbk8vsLjv6/oRDicSk/qBu33+m | |
18 | 439d7ea6fe3aa4ab9ec274a68846779153789de9 0 iEYEABECAAYFAksVw0kACgkQywK+sNU5EO/oZwCfdfBEkgp38xq6wN2F4nj+SzofrJIAnjmxt04vaJSeOOeHylHvk6lzuQsw |
|
18 | 439d7ea6fe3aa4ab9ec274a68846779153789de9 0 iEYEABECAAYFAksVw0kACgkQywK+sNU5EO/oZwCfdfBEkgp38xq6wN2F4nj+SzofrJIAnjmxt04vaJSeOOeHylHvk6lzuQsw | |
19 | 296a0b14a68621f6990c54fdba0083f6f20935bf 0 iEYEABECAAYFAks+jCoACgkQywK+sNU5EO9J8wCeMUGF9E/gS2UBsqIz56WS4HMPRPUAoI5J95mwEIK8Clrl7qFRidNI6APq |
|
19 | 296a0b14a68621f6990c54fdba0083f6f20935bf 0 iEYEABECAAYFAks+jCoACgkQywK+sNU5EO9J8wCeMUGF9E/gS2UBsqIz56WS4HMPRPUAoI5J95mwEIK8Clrl7qFRidNI6APq | |
20 | 4aa619c4c2c09907034d9824ebb1dd0e878206eb 0 iEYEABECAAYFAktm9IsACgkQywK+sNU5EO9XGgCgk4HclRQhexEtooPE5GcUCdB6M8EAn2ptOhMVbIoO+JncA+tNACPFXh0O |
|
20 | 4aa619c4c2c09907034d9824ebb1dd0e878206eb 0 iEYEABECAAYFAktm9IsACgkQywK+sNU5EO9XGgCgk4HclRQhexEtooPE5GcUCdB6M8EAn2ptOhMVbIoO+JncA+tNACPFXh0O | |
21 | ff2704a8ded37fbebd8b6eb5ec733731d725da8a 0 iEYEABECAAYFAkuRoSQACgkQywK+sNU5EO//3QCeJDc5r2uFyFCtAlpSA27DEE5rrxAAn2FSwTy9fhrB3QAdDQlwkEZcQzDh |
|
21 | ff2704a8ded37fbebd8b6eb5ec733731d725da8a 0 iEYEABECAAYFAkuRoSQACgkQywK+sNU5EO//3QCeJDc5r2uFyFCtAlpSA27DEE5rrxAAn2FSwTy9fhrB3QAdDQlwkEZcQzDh | |
22 | 2b01dab594167bc0dd33331dbaa6dca3dca1b3aa 0 iEYEABECAAYFAku1IwIACgkQywK+sNU5EO9MjgCdHLVwkTZlNHxhcznZKBL1rjN+J7cAoLLWi9LTL6f/TgBaPSKOy1ublbaW |
|
22 | 2b01dab594167bc0dd33331dbaa6dca3dca1b3aa 0 iEYEABECAAYFAku1IwIACgkQywK+sNU5EO9MjgCdHLVwkTZlNHxhcznZKBL1rjN+J7cAoLLWi9LTL6f/TgBaPSKOy1ublbaW | |
23 | 39f725929f0c48c5fb3b90c071fc3066012456ca 0 iEYEABECAAYFAkvclvsACgkQywK+sNU5EO9FSwCeL9i5x8ALW/LE5+lCX6MFEAe4MhwAn1ev5o6SX6GrNdDfKweiemfO2VBk |
|
23 | 39f725929f0c48c5fb3b90c071fc3066012456ca 0 iEYEABECAAYFAkvclvsACgkQywK+sNU5EO9FSwCeL9i5x8ALW/LE5+lCX6MFEAe4MhwAn1ev5o6SX6GrNdDfKweiemfO2VBk | |
24 | fdcf80f26604f233dc4d8f0a5ef9d7470e317e8a 0 iEYEABECAAYFAkvsKTkACgkQywK+sNU5EO9qEACgiSiRGvTG2vXGJ65tUSOIYihTuFAAnRzRIqEVSw8M8/RGeUXRps0IzaCO |
|
24 | fdcf80f26604f233dc4d8f0a5ef9d7470e317e8a 0 iEYEABECAAYFAkvsKTkACgkQywK+sNU5EO9qEACgiSiRGvTG2vXGJ65tUSOIYihTuFAAnRzRIqEVSw8M8/RGeUXRps0IzaCO | |
25 | 24fe2629c6fd0c74c90bd066e77387c2b02e8437 0 iEYEABECAAYFAkwFLRsACgkQywK+sNU5EO+pJACgp13tPI+pbwKZV+LeMjcQ4H6tCZYAoJebzhd6a8yYx6qiwpJxA9BXZNXy |
|
25 | 24fe2629c6fd0c74c90bd066e77387c2b02e8437 0 iEYEABECAAYFAkwFLRsACgkQywK+sNU5EO+pJACgp13tPI+pbwKZV+LeMjcQ4H6tCZYAoJebzhd6a8yYx6qiwpJxA9BXZNXy | |
26 | f786fc4b8764cd2a5526d259cf2f94d8a66924d9 0 iEYEABECAAYFAkwsyxcACgkQywK+sNU5EO+crACfUpNAF57PmClkSri9nJcBjb2goN4AniPCNaKvnki7TnUsi1u2oxltpKKL |
|
26 | f786fc4b8764cd2a5526d259cf2f94d8a66924d9 0 iEYEABECAAYFAkwsyxcACgkQywK+sNU5EO+crACfUpNAF57PmClkSri9nJcBjb2goN4AniPCNaKvnki7TnUsi1u2oxltpKKL | |
27 | bf1774d95bde614af3956d92b20e2a0c68c5fec7 0 iEYEABECAAYFAkxVwccACgkQywK+sNU5EO+oFQCeJzwZ+we1fIIyBGCddHceOUAN++cAnjvT6A8ZWW0zV21NXIFF1qQmjxJd |
|
27 | bf1774d95bde614af3956d92b20e2a0c68c5fec7 0 iEYEABECAAYFAkxVwccACgkQywK+sNU5EO+oFQCeJzwZ+we1fIIyBGCddHceOUAN++cAnjvT6A8ZWW0zV21NXIFF1qQmjxJd | |
28 | c00f03a4982e467fb6b6bd45908767db6df4771d 0 iEYEABECAAYFAkxXDqsACgkQywK+sNU5EO/GJACfT9Rz4hZOxPQEs91JwtmfjevO84gAmwSmtfo5mmWSm8gtTUebCcdTv0Kf |
|
28 | c00f03a4982e467fb6b6bd45908767db6df4771d 0 iEYEABECAAYFAkxXDqsACgkQywK+sNU5EO/GJACfT9Rz4hZOxPQEs91JwtmfjevO84gAmwSmtfo5mmWSm8gtTUebCcdTv0Kf | |
29 | ff5cec76b1c5b6be9c3bb923aae8c3c6d079d6b9 0 iD8DBQBMdo+qywK+sNU5EO8RAqQpAJ975BL2CCAiWMz9SXthNQ9xG181IwCgp4O+KViHPkufZVFn2aTKMNvcr1A= |
|
29 | ff5cec76b1c5b6be9c3bb923aae8c3c6d079d6b9 0 iD8DBQBMdo+qywK+sNU5EO8RAqQpAJ975BL2CCAiWMz9SXthNQ9xG181IwCgp4O+KViHPkufZVFn2aTKMNvcr1A= | |
30 | 93d8bff78c96fe7e33237b257558ee97290048a4 0 iD8DBQBMpfvdywK+sNU5EO8RAsxVAJ0UaL1XB51C76JUBhafc9GBefuMxwCdEWkTOzwvE0SarJBe9i008jhbqW4= |
|
30 | 93d8bff78c96fe7e33237b257558ee97290048a4 0 iD8DBQBMpfvdywK+sNU5EO8RAsxVAJ0UaL1XB51C76JUBhafc9GBefuMxwCdEWkTOzwvE0SarJBe9i008jhbqW4= | |
31 | 333421b9e0f96c7bc788e5667c146a58a9440a55 0 iD8DBQBMz0HOywK+sNU5EO8RAlsEAJ0USh6yOG7OrWkADGunVt9QimBQnwCbBqeMnKgSbwEw8jZwE3Iz1mdrYlo= |
|
31 | 333421b9e0f96c7bc788e5667c146a58a9440a55 0 iD8DBQBMz0HOywK+sNU5EO8RAlsEAJ0USh6yOG7OrWkADGunVt9QimBQnwCbBqeMnKgSbwEw8jZwE3Iz1mdrYlo= | |
32 | 4438875ec01bd0fc32be92b0872eb6daeed4d44f 0 iD8DBQBM4WYUywK+sNU5EO8RAhCVAJ0dJswachwFAHALmk1x0RJehxzqPQCbBNskP9n/X689jB+btNTZTyKU/fw= |
|
32 | 4438875ec01bd0fc32be92b0872eb6daeed4d44f 0 iD8DBQBM4WYUywK+sNU5EO8RAhCVAJ0dJswachwFAHALmk1x0RJehxzqPQCbBNskP9n/X689jB+btNTZTyKU/fw= | |
33 | 6aff4f144ad356311318b0011df0bb21f2c97429 0 iD8DBQBM9uxXywK+sNU5EO8RAv+4AKCDj4qKP16GdPaq1tP6BUwpM/M1OACfRyzLPp/qiiN8xJTWoWYSe/XjJug= |
|
33 | 6aff4f144ad356311318b0011df0bb21f2c97429 0 iD8DBQBM9uxXywK+sNU5EO8RAv+4AKCDj4qKP16GdPaq1tP6BUwpM/M1OACfRyzLPp/qiiN8xJTWoWYSe/XjJug= | |
34 | e3bf16703e2601de99e563cdb3a5d50b64e6d320 0 iD8DBQBNH8WqywK+sNU5EO8RAiQTAJ9sBO+TeiGro4si77VVaQaA6jcRUgCfSA28dBbjj0oFoQwvPoZjANiZBH8= |
|
34 | e3bf16703e2601de99e563cdb3a5d50b64e6d320 0 iD8DBQBNH8WqywK+sNU5EO8RAiQTAJ9sBO+TeiGro4si77VVaQaA6jcRUgCfSA28dBbjj0oFoQwvPoZjANiZBH8= | |
35 | a6c855c32ea081da3c3b8ff628f1847ff271482f 0 iD8DBQBNSJJ+ywK+sNU5EO8RAoJaAKCweDEF70fu+r1Zn7pYDXdlk5RuSgCeO9gK/eit8Lin/1n3pO7aYguFLok= |
|
35 | a6c855c32ea081da3c3b8ff628f1847ff271482f 0 iD8DBQBNSJJ+ywK+sNU5EO8RAoJaAKCweDEF70fu+r1Zn7pYDXdlk5RuSgCeO9gK/eit8Lin/1n3pO7aYguFLok= | |
36 | 2b2155623ee2559caf288fd333f30475966c4525 0 iD8DBQBNSJeBywK+sNU5EO8RAm1KAJ4hW9Cm9nHaaGJguchBaPLlAr+O3wCgqgmMok8bdAS06N6PL60PSTM//Gg= |
|
36 | 2b2155623ee2559caf288fd333f30475966c4525 0 iD8DBQBNSJeBywK+sNU5EO8RAm1KAJ4hW9Cm9nHaaGJguchBaPLlAr+O3wCgqgmMok8bdAS06N6PL60PSTM//Gg= | |
37 | 2616325766e3504c8ae7c84bd15ee610901fe91d 0 iD8DBQBNbWy9ywK+sNU5EO8RAlWCAJ4mW8HbzjJj9GpK98muX7k+7EvEHwCfaTLbC/DH3QEsZBhEP+M8tzL6RU4= |
|
37 | 2616325766e3504c8ae7c84bd15ee610901fe91d 0 iD8DBQBNbWy9ywK+sNU5EO8RAlWCAJ4mW8HbzjJj9GpK98muX7k+7EvEHwCfaTLbC/DH3QEsZBhEP+M8tzL6RU4= | |
38 | aa1f3be38ab127280761889d2dca906ca465b5f4 0 iD8DBQBNeQq7ywK+sNU5EO8RAlEOAJ4tlEDdetE9lKfjGgjbkcR8PrC3egCfXCfF3qNVvU/2YYjpgvRwevjvDy0= |
|
38 | aa1f3be38ab127280761889d2dca906ca465b5f4 0 iD8DBQBNeQq7ywK+sNU5EO8RAlEOAJ4tlEDdetE9lKfjGgjbkcR8PrC3egCfXCfF3qNVvU/2YYjpgvRwevjvDy0= | |
39 | b032bec2c0a651ca0ddecb65714bfe6770f67d70 0 iD8DBQBNlg5kywK+sNU5EO8RAnGEAJ9gmEx6MfaR4XcG2m/93vwtfyzs3gCgltzx8/YdHPwqDwRX/WbpYgi33is= |
|
39 | b032bec2c0a651ca0ddecb65714bfe6770f67d70 0 iD8DBQBNlg5kywK+sNU5EO8RAnGEAJ9gmEx6MfaR4XcG2m/93vwtfyzs3gCgltzx8/YdHPwqDwRX/WbpYgi33is= | |
40 | 3cb1e95676ad089596bd81d0937cad37d6e3b7fb 0 iD8DBQBNvTy4ywK+sNU5EO8RAmp8AJ9QnxK4jTJ7G722MyeBxf0UXEdGwACgtlM7BKtNQfbEH/fOW5y+45W88VI= |
|
40 | 3cb1e95676ad089596bd81d0937cad37d6e3b7fb 0 iD8DBQBNvTy4ywK+sNU5EO8RAmp8AJ9QnxK4jTJ7G722MyeBxf0UXEdGwACgtlM7BKtNQfbEH/fOW5y+45W88VI= | |
41 | 733af5d9f6b22387913e1d11350fb8cb7c1487dd 0 iD8DBQBN5q/8ywK+sNU5EO8RArRGAKCNGT94GKIYtSuwZ57z1sQbcw6uLACfffpbMV4NAPMl8womAwg+7ZPKnIU= |
|
41 | 733af5d9f6b22387913e1d11350fb8cb7c1487dd 0 iD8DBQBN5q/8ywK+sNU5EO8RArRGAKCNGT94GKIYtSuwZ57z1sQbcw6uLACfffpbMV4NAPMl8womAwg+7ZPKnIU= | |
42 | de9eb6b1da4fc522b1cab16d86ca166204c24f25 0 iD8DBQBODhfhywK+sNU5EO8RAr2+AJ4ugbAj8ae8/K0bYZzx3sascIAg1QCeK3b+zbbVVqd3b7CDpwFnaX8kTd4= |
|
42 | de9eb6b1da4fc522b1cab16d86ca166204c24f25 0 iD8DBQBODhfhywK+sNU5EO8RAr2+AJ4ugbAj8ae8/K0bYZzx3sascIAg1QCeK3b+zbbVVqd3b7CDpwFnaX8kTd4= | |
43 | 4a43e23b8c55b4566b8200bf69fe2158485a2634 0 iD8DBQBONzIMywK+sNU5EO8RAj5SAJ0aPS3+JHnyI6bHB2Fl0LImbDmagwCdGbDLp1S7TFobxXudOH49bX45Iik= |
|
43 | 4a43e23b8c55b4566b8200bf69fe2158485a2634 0 iD8DBQBONzIMywK+sNU5EO8RAj5SAJ0aPS3+JHnyI6bHB2Fl0LImbDmagwCdGbDLp1S7TFobxXudOH49bX45Iik= | |
44 | d629f1e89021103f1753addcef6b310e4435b184 0 iD8DBQBOWAsBywK+sNU5EO8RAht4AJwJl9oNFopuGkj5m8aKuf7bqPkoAQCeNrEm7UhFsZKYT5iUOjnMV7s2LaM= |
|
44 | d629f1e89021103f1753addcef6b310e4435b184 0 iD8DBQBOWAsBywK+sNU5EO8RAht4AJwJl9oNFopuGkj5m8aKuf7bqPkoAQCeNrEm7UhFsZKYT5iUOjnMV7s2LaM= | |
45 | 351a9292e430e35766c552066ed3e87c557b803b 0 iD8DBQBOh3zUywK+sNU5EO8RApFMAKCD3Y/u3avDFndznwqfG5UeTHMlvACfUivPIVQZyDZnhZMq0UhC6zhCEQg= |
|
45 | 351a9292e430e35766c552066ed3e87c557b803b 0 iD8DBQBOh3zUywK+sNU5EO8RApFMAKCD3Y/u3avDFndznwqfG5UeTHMlvACfUivPIVQZyDZnhZMq0UhC6zhCEQg= | |
46 | 384082750f2c51dc917d85a7145748330fa6ef4d 0 iD8DBQBOmd+OywK+sNU5EO8RAgDgAJ9V/X+G7VLwhTpHrZNiOHabzSyzYQCdE2kKfIevJUYB9QLAWCWP6DPwrwI= |
|
46 | 384082750f2c51dc917d85a7145748330fa6ef4d 0 iD8DBQBOmd+OywK+sNU5EO8RAgDgAJ9V/X+G7VLwhTpHrZNiOHabzSyzYQCdE2kKfIevJUYB9QLAWCWP6DPwrwI= | |
47 | 41453d55b481ddfcc1dacb445179649e24ca861d 0 iD8DBQBOsFhpywK+sNU5EO8RAqM6AKCyfxUae3/zLuiLdQz+JR78690eMACfQ6JTBQib4AbE+rUDdkeFYg9K/+4= |
|
47 | 41453d55b481ddfcc1dacb445179649e24ca861d 0 iD8DBQBOsFhpywK+sNU5EO8RAqM6AKCyfxUae3/zLuiLdQz+JR78690eMACfQ6JTBQib4AbE+rUDdkeFYg9K/+4= | |
48 | 195dbd1cef0c2f9f8bcf4ea303238105f716bda3 0 iD8DBQBO1/fWywK+sNU5EO8RAmoPAKCR5lpv1D6JLURHD8KVLSV4GRVEBgCgnd0Sy78ligNfqAMafmACRDvj7vo= |
|
48 | 195dbd1cef0c2f9f8bcf4ea303238105f716bda3 0 iD8DBQBO1/fWywK+sNU5EO8RAmoPAKCR5lpv1D6JLURHD8KVLSV4GRVEBgCgnd0Sy78ligNfqAMafmACRDvj7vo= | |
49 | 6344043924497cd06d781d9014c66802285072e4 0 iD8DBQBPALgmywK+sNU5EO8RAlfhAJ9nYOdWnhfVDHYtDTJAyJtXBAQS9wCgnefoSQt7QABkbGxM+Q85UYEBuD0= |
|
49 | 6344043924497cd06d781d9014c66802285072e4 0 iD8DBQBPALgmywK+sNU5EO8RAlfhAJ9nYOdWnhfVDHYtDTJAyJtXBAQS9wCgnefoSQt7QABkbGxM+Q85UYEBuD0= | |
50 | db33555eafeaf9df1e18950e29439eaa706d399b 0 iD8DBQBPGdzxywK+sNU5EO8RAppkAJ9jOXhUVE/97CPgiMA0pMGiIYnesQCfengAszcBiSiKGugiI8Okc9ghU+Y= |
|
50 | db33555eafeaf9df1e18950e29439eaa706d399b 0 iD8DBQBPGdzxywK+sNU5EO8RAppkAJ9jOXhUVE/97CPgiMA0pMGiIYnesQCfengAszcBiSiKGugiI8Okc9ghU+Y= | |
51 | 2aa5b51f310fb3befd26bed99c02267f5c12c734 0 iD8DBQBPKZ9bywK+sNU5EO8RAt1TAJ45r1eJ0YqSkInzrrayg4TVCh0SnQCgm0GA/Ua74jnnDwVQ60lAwROuz1Q= |
|
51 | 2aa5b51f310fb3befd26bed99c02267f5c12c734 0 iD8DBQBPKZ9bywK+sNU5EO8RAt1TAJ45r1eJ0YqSkInzrrayg4TVCh0SnQCgm0GA/Ua74jnnDwVQ60lAwROuz1Q= | |
52 | 53e2cd303ecf8ca7c7eeebd785c34e5ed6b0f4a4 0 iD8DBQBPT/fvywK+sNU5EO8RAnfYAKCn7d0vwqIb100YfWm1F7nFD5B+FACeM02YHpQLSNsztrBCObtqcnfod7Q= |
|
52 | 53e2cd303ecf8ca7c7eeebd785c34e5ed6b0f4a4 0 iD8DBQBPT/fvywK+sNU5EO8RAnfYAKCn7d0vwqIb100YfWm1F7nFD5B+FACeM02YHpQLSNsztrBCObtqcnfod7Q= | |
53 | b9bd95e61b49c221c4cca24e6da7c946fc02f992 0 iD8DBQBPeLsIywK+sNU5EO8RAvpNAKCtKe2gitz8dYn52IRF0hFOPCR7AQCfRJL/RWCFweu2T1vH/mUOCf8SXXc= |
|
53 | b9bd95e61b49c221c4cca24e6da7c946fc02f992 0 iD8DBQBPeLsIywK+sNU5EO8RAvpNAKCtKe2gitz8dYn52IRF0hFOPCR7AQCfRJL/RWCFweu2T1vH/mUOCf8SXXc= | |
54 | d9e2f09d5488c395ae9ddbb320ceacd24757e055 0 iD8DBQBPju/dywK+sNU5EO8RArBYAJ9xtifdbk+hCOJO8OZa4JfHX8OYZQCeKPMBaBWiT8N/WHoOm1XU0q+iono= |
|
54 | d9e2f09d5488c395ae9ddbb320ceacd24757e055 0 iD8DBQBPju/dywK+sNU5EO8RArBYAJ9xtifdbk+hCOJO8OZa4JfHX8OYZQCeKPMBaBWiT8N/WHoOm1XU0q+iono= | |
55 | 00182b3d087909e3c3ae44761efecdde8f319ef3 0 iD8DBQBPoFhIywK+sNU5EO8RAhzhAKCBj1n2jxPTkZNJJ5pSp3soa+XHIgCgsZZpAQxOpXwCp0eCdNGe0+pmxmg= |
|
55 | 00182b3d087909e3c3ae44761efecdde8f319ef3 0 iD8DBQBPoFhIywK+sNU5EO8RAhzhAKCBj1n2jxPTkZNJJ5pSp3soa+XHIgCgsZZpAQxOpXwCp0eCdNGe0+pmxmg= | |
56 | 5983de86462c5a9f42a3ad0f5e90ce5b1d221d25 0 iD8DBQBPovNWywK+sNU5EO8RAhgiAJ980T91FdPTRMmVONDhpkMsZwVIMACgg3bKvoWSeuCW28llUhAJtUjrMv0= |
|
56 | 5983de86462c5a9f42a3ad0f5e90ce5b1d221d25 0 iD8DBQBPovNWywK+sNU5EO8RAhgiAJ980T91FdPTRMmVONDhpkMsZwVIMACgg3bKvoWSeuCW28llUhAJtUjrMv0= | |
57 | 85a358df5bbbe404ca25730c9c459b34263441dc 0 iD8DBQBPyZsWywK+sNU5EO8RAnpLAJ48qrGDJRT+pteS0mSQ11haqHstPwCdG4ccGbk+0JHb7aNy8/NRGAOqn9w= |
|
57 | 85a358df5bbbe404ca25730c9c459b34263441dc 0 iD8DBQBPyZsWywK+sNU5EO8RAnpLAJ48qrGDJRT+pteS0mSQ11haqHstPwCdG4ccGbk+0JHb7aNy8/NRGAOqn9w= | |
58 | b013baa3898e117959984fc64c29d8c784d2f28b 0 iD8DBQBP8QOPywK+sNU5EO8RAqimAKCFRSx0lvG6y8vne2IhNG062Hn0dACeMLI5/zhpWpHBIVeAAquYfx2XFeA= |
|
58 | b013baa3898e117959984fc64c29d8c784d2f28b 0 iD8DBQBP8QOPywK+sNU5EO8RAqimAKCFRSx0lvG6y8vne2IhNG062Hn0dACeMLI5/zhpWpHBIVeAAquYfx2XFeA= | |
59 | 7f5094bb3f423fc799e471aac2aee81a7ce57a0b 0 iD8DBQBQGiL8ywK+sNU5EO8RAq5oAJ4rMMCPx6O+OuzNXVOexogedWz/QgCeIiIxLd76I4pXO48tdXhr0hQcBuM= |
|
59 | 7f5094bb3f423fc799e471aac2aee81a7ce57a0b 0 iD8DBQBQGiL8ywK+sNU5EO8RAq5oAJ4rMMCPx6O+OuzNXVOexogedWz/QgCeIiIxLd76I4pXO48tdXhr0hQcBuM= | |
60 | 072209ae4ddb654eb2d5fd35bff358c738414432 0 iD8DBQBQQkq0ywK+sNU5EO8RArDTAJ9nk5CySnNAjAXYvqvx4uWCw9ThZwCgqmFRehH/l+oTwj3f8nw8u8qTCdc= |
|
60 | 072209ae4ddb654eb2d5fd35bff358c738414432 0 iD8DBQBQQkq0ywK+sNU5EO8RArDTAJ9nk5CySnNAjAXYvqvx4uWCw9ThZwCgqmFRehH/l+oTwj3f8nw8u8qTCdc= | |
61 | b3f0f9a39c4e1d0250048cd803ab03542d6f140a 0 iD8DBQBQamltywK+sNU5EO8RAlsqAJ4qF/m6aFu4mJCOKTiAP5RvZFK02ACfawYShUZO6OXEFfveU0aAxDR0M1k= |
|
61 | b3f0f9a39c4e1d0250048cd803ab03542d6f140a 0 iD8DBQBQamltywK+sNU5EO8RAlsqAJ4qF/m6aFu4mJCOKTiAP5RvZFK02ACfawYShUZO6OXEFfveU0aAxDR0M1k= | |
62 | d118a4f4fd16d9b558ec3f3e87bfee772861d2b7 0 iD8DBQBQgPV5ywK+sNU5EO8RArylAJ0abcx5NlDjyv3ZDWpAfRIHyRsJtQCgn4TMuEayqgxzrvadQZHdTEU2g38= |
|
62 | d118a4f4fd16d9b558ec3f3e87bfee772861d2b7 0 iD8DBQBQgPV5ywK+sNU5EO8RArylAJ0abcx5NlDjyv3ZDWpAfRIHyRsJtQCgn4TMuEayqgxzrvadQZHdTEU2g38= | |
63 | 195ad823b5d58c68903a6153a25e3fb4ed25239d 0 iD8DBQBQkuT9ywK+sNU5EO8RAhB4AKCeerItoK2Jipm2cVf4euGofAa/WACeJj3TVd4pFILpb+ogj7ebweFLJi0= |
|
63 | 195ad823b5d58c68903a6153a25e3fb4ed25239d 0 iD8DBQBQkuT9ywK+sNU5EO8RAhB4AKCeerItoK2Jipm2cVf4euGofAa/WACeJj3TVd4pFILpb+ogj7ebweFLJi0= | |
64 | 0c10cf8191469e7c3c8844922e17e71a176cb7cb 0 iD8DBQBQvQWoywK+sNU5EO8RAnq3AJoCn98u4geFx5YaQaeh99gFhCd7bQCgjoBwBSUyOvGd0yBy60E3Vv3VZhM= |
|
64 | 0c10cf8191469e7c3c8844922e17e71a176cb7cb 0 iD8DBQBQvQWoywK+sNU5EO8RAnq3AJoCn98u4geFx5YaQaeh99gFhCd7bQCgjoBwBSUyOvGd0yBy60E3Vv3VZhM= | |
65 | a4765077b65e6ae29ba42bab7834717b5072d5ba 0 iD8DBQBQ486sywK+sNU5EO8RAhmJAJ90aLfLKZhmcZN7kqphigQJxiFOQACeJ5IUZxjGKH4xzi3MrgIcx9n+dB0= |
|
65 | a4765077b65e6ae29ba42bab7834717b5072d5ba 0 iD8DBQBQ486sywK+sNU5EO8RAhmJAJ90aLfLKZhmcZN7kqphigQJxiFOQACeJ5IUZxjGKH4xzi3MrgIcx9n+dB0= | |
66 | f5fbe15ca7449f2c9a3cf817c86d0ae68b307214 0 iD8DBQBQ+yuYywK+sNU5EO8RAm9JAJoD/UciWvpGeKBcpGtZJBFJVcL/HACghDXSgQ+xQDjB+6uGrdgAQsRR1Lg= |
|
66 | f5fbe15ca7449f2c9a3cf817c86d0ae68b307214 0 iD8DBQBQ+yuYywK+sNU5EO8RAm9JAJoD/UciWvpGeKBcpGtZJBFJVcL/HACghDXSgQ+xQDjB+6uGrdgAQsRR1Lg= | |
67 | a6088c05e43a8aee0472ca3a4f6f8d7dd914ebbf 0 iD8DBQBRDDROywK+sNU5EO8RAh75AJ9uJCGoCWnP0Lv/+XuYs4hvUl+sAgCcD36QgAnuw8IQXrvv684BAXAnHcA= |
|
67 | a6088c05e43a8aee0472ca3a4f6f8d7dd914ebbf 0 iD8DBQBRDDROywK+sNU5EO8RAh75AJ9uJCGoCWnP0Lv/+XuYs4hvUl+sAgCcD36QgAnuw8IQXrvv684BAXAnHcA= | |
68 | 7511d4df752e61fe7ae4f3682e0a0008573b0402 0 iD8DBQBRFYaoywK+sNU5EO8RAuErAJoDyhXn+lptU3+AevVdwAIeNFyR2gCdHzPHyWd+JDeWCUR+pSOBi8O2ppM= |
|
68 | 7511d4df752e61fe7ae4f3682e0a0008573b0402 0 iD8DBQBRFYaoywK+sNU5EO8RAuErAJoDyhXn+lptU3+AevVdwAIeNFyR2gCdHzPHyWd+JDeWCUR+pSOBi8O2ppM= | |
69 | 5b7175377babacce80a6c1e12366d8032a6d4340 0 iD8DBQBRMCYgywK+sNU5EO8RAq1/AKCWKlt9ysibyQgYwoxxIOZv5J8rpwCcDSHQaaf1fFZUTnQsOePwcM2Y/Sg= |
|
69 | 5b7175377babacce80a6c1e12366d8032a6d4340 0 iD8DBQBRMCYgywK+sNU5EO8RAq1/AKCWKlt9ysibyQgYwoxxIOZv5J8rpwCcDSHQaaf1fFZUTnQsOePwcM2Y/Sg= | |
70 | 50c922c1b5145dab8baefefb0437d363b6a6c21c 0 iD8DBQBRWnUnywK+sNU5EO8RAuQRAJwM42cJqJPeqJ0jVNdMqKMDqr4dSACeP0cRVGz1gitMuV0x8f3mrZrqc7I= |
|
70 | 50c922c1b5145dab8baefefb0437d363b6a6c21c 0 iD8DBQBRWnUnywK+sNU5EO8RAuQRAJwM42cJqJPeqJ0jVNdMqKMDqr4dSACeP0cRVGz1gitMuV0x8f3mrZrqc7I= | |
71 | 8a7bd2dccd44ed571afe7424cd7f95594f27c092 0 iD8DBQBRXfBvywK+sNU5EO8RAn+LAKCsMmflbuXjYRxlzFwId5ptm8TZcwCdGkyLbZcASBOkzQUm/WW1qfknJHU= |
|
71 | 8a7bd2dccd44ed571afe7424cd7f95594f27c092 0 iD8DBQBRXfBvywK+sNU5EO8RAn+LAKCsMmflbuXjYRxlzFwId5ptm8TZcwCdGkyLbZcASBOkzQUm/WW1qfknJHU= | |
72 | 292cd385856d98bacb2c3086f8897bc660c2beea 0 iD8DBQBRcM0BywK+sNU5EO8RAjp4AKCJBykQbvXhKuvLSMxKx3a2TBiXcACfbr/kLg5GlZTF/XDPmY+PyHgI/GM= |
|
72 | 292cd385856d98bacb2c3086f8897bc660c2beea 0 iD8DBQBRcM0BywK+sNU5EO8RAjp4AKCJBykQbvXhKuvLSMxKx3a2TBiXcACfbr/kLg5GlZTF/XDPmY+PyHgI/GM= | |
73 | 23f785b38af38d2fca6b8f3db56b8007a84cd73a 0 iD8DBQBRgZwNywK+sNU5EO8RAmO4AJ4u2ILGuimRP6MJgE2t65LZ5dAdkACgiENEstIdrlFC80p+sWKD81kKIYI= |
|
73 | 23f785b38af38d2fca6b8f3db56b8007a84cd73a 0 iD8DBQBRgZwNywK+sNU5EO8RAmO4AJ4u2ILGuimRP6MJgE2t65LZ5dAdkACgiENEstIdrlFC80p+sWKD81kKIYI= | |
74 | ddc7a6be20212d18f3e27d9d7e6f079a66d96f21 0 iD8DBQBRkswvywK+sNU5EO8RAiYYAJsHTHyHbJeAgmGvBTmDrfcKu4doUgCeLm7eGBjx7yAPUvEtxef8rAkQmXI= |
|
74 | ddc7a6be20212d18f3e27d9d7e6f079a66d96f21 0 iD8DBQBRkswvywK+sNU5EO8RAiYYAJsHTHyHbJeAgmGvBTmDrfcKu4doUgCeLm7eGBjx7yAPUvEtxef8rAkQmXI= | |
75 | cceaf7af4c9e9e6fa2dbfdcfe9856c5da69c4ffd 0 iD8DBQBRqnFLywK+sNU5EO8RAsWNAJ9RR6t+y1DLFc2HeH0eN9VfZAKF9gCeJ8ezvhtKq/LMs0/nvcgKQc/d5jk= |
|
75 | cceaf7af4c9e9e6fa2dbfdcfe9856c5da69c4ffd 0 iD8DBQBRqnFLywK+sNU5EO8RAsWNAJ9RR6t+y1DLFc2HeH0eN9VfZAKF9gCeJ8ezvhtKq/LMs0/nvcgKQc/d5jk= | |
76 | 009794acc6e37a650f0fae37872e733382ac1c0c 0 iD8DBQBR0guxywK+sNU5EO8RArNkAKCq9pMihVzP8Os5kCmgbWpe5C37wgCgqzuPZTHvAsXF5wTyaSTMVa9Ccq4= |
|
76 | 009794acc6e37a650f0fae37872e733382ac1c0c 0 iD8DBQBR0guxywK+sNU5EO8RArNkAKCq9pMihVzP8Os5kCmgbWpe5C37wgCgqzuPZTHvAsXF5wTyaSTMVa9Ccq4= | |
77 | f0d7721d7322dcfb5af33599c2543f27335334bb 0 iD8DBQBR8taaywK+sNU5EO8RAqeEAJ4idDhhDuEsgsUjeQgWNj498matHACfT67gSF5w0ylsrBx1Hb52HkGXDm0= |
|
77 | f0d7721d7322dcfb5af33599c2543f27335334bb 0 iD8DBQBR8taaywK+sNU5EO8RAqeEAJ4idDhhDuEsgsUjeQgWNj498matHACfT67gSF5w0ylsrBx1Hb52HkGXDm0= | |
78 | f37b5a17e6a0ee17afde2cdde5393dd74715fb58 0 iD8DBQBR+ymFywK+sNU5EO8RAuSdAJkBMcd9DAZ3rWE9WGKPm2YZ8LBoXACfXn/wbEsVy7ZgJoUwiWmHSnQaWCI= |
|
78 | f37b5a17e6a0ee17afde2cdde5393dd74715fb58 0 iD8DBQBR+ymFywK+sNU5EO8RAuSdAJkBMcd9DAZ3rWE9WGKPm2YZ8LBoXACfXn/wbEsVy7ZgJoUwiWmHSnQaWCI= | |
79 | 335a558f81dc73afeab4d7be63617392b130117f 0 iQIVAwUAUiZrIyBXgaxoKi1yAQK2iw//cquNqqSkc8Re5/TZT9I6NH+lh6DbOKjJP0Xl1Wqq0K+KSIUgZG4G32ovaEb2l5X0uY+3unRPiZ0ebl0YSw4Fb2ZiPIADXLBTOYRrY2Wwd3tpJeGI6wEgZt3SfcITV/g7NJrCjT3FlYoSOIayrExM80InSdcEM0Q3Rx6HKzY2acyxzgZeAtAW5ohFvHilSvY6p5Gcm4+QptMxvw45GPdreUmjeXZxNXNXZ8P+MjMz/QJbai/N7PjmK8lqnhkBsT48Ng/KhhmOkGntNJ2/ImBWLFGcWngSvJ7sfWwnyhndvGhe0Hq1NcCf7I8TjNDxU5TR+m+uW7xjXdLoDbUjBdX4sKXnh8ZjbYiODKBOrrDq25cf8nA/tnpKyE/qsVy60kOk6loY4XKiYmn1V49Ta0emmDx0hqo3HgxHHsHX0NDnGdWGol7cPRET0RzVobKq1A0jnrhPooWidvLh9bPzLonrWDo+ib+DuySoRkuYUK4pgZJ2mbg6daFOBEZygkSyRB8bo1UQUP7EgQDrWe4khb/5GHEfDkrQz3qu/sXvc0Ir1mOUWBFPHC2DjjCn/oMJuUkG1SwM8l2Bfv7h67ssES6YQ2+RjOix4yid7EXS/Ogl45PzCIPSI5+BbNs10JhE0w5uErBHlF53EDTe/TSLc+GU6DB6PP6dH912Njdr3jpNSUQ= |
|
79 | 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 |
@@ -1,233 +1,234 b'' | |||||
1 | d40cc5aacc31ed673d9b5b24f98bee78c283062c 0.4f |
|
1 | d40cc5aacc31ed673d9b5b24f98bee78c283062c 0.4f | |
2 | 1c590d34bf61e2ea12c71738e5a746cd74586157 0.4e |
|
2 | 1c590d34bf61e2ea12c71738e5a746cd74586157 0.4e | |
3 | 7eca4cfa8aad5fce9a04f7d8acadcd0452e2f34e 0.4d |
|
3 | 7eca4cfa8aad5fce9a04f7d8acadcd0452e2f34e 0.4d | |
4 | b4d0c3786ad3e47beacf8412157326a32b6d25a4 0.4c |
|
4 | b4d0c3786ad3e47beacf8412157326a32b6d25a4 0.4c | |
5 | f40273b0ad7b3a6d3012fd37736d0611f41ecf54 0.5 |
|
5 | f40273b0ad7b3a6d3012fd37736d0611f41ecf54 0.5 | |
6 | 0a28dfe59f8fab54a5118c5be4f40da34a53cdb7 0.5b |
|
6 | 0a28dfe59f8fab54a5118c5be4f40da34a53cdb7 0.5b | |
7 | 12e0fdbc57a0be78f0e817fd1d170a3615cd35da 0.6 |
|
7 | 12e0fdbc57a0be78f0e817fd1d170a3615cd35da 0.6 | |
8 | 4ccf3de52989b14c3d84e1097f59e39a992e00bd 0.6b |
|
8 | 4ccf3de52989b14c3d84e1097f59e39a992e00bd 0.6b | |
9 | eac9c8efcd9bd8244e72fb6821f769f450457a32 0.6c |
|
9 | eac9c8efcd9bd8244e72fb6821f769f450457a32 0.6c | |
10 | 979c049974485125e1f9357f6bbe9c1b548a64c3 0.7 |
|
10 | 979c049974485125e1f9357f6bbe9c1b548a64c3 0.7 | |
11 | 3a56574f329a368d645853e0f9e09472aee62349 0.8 |
|
11 | 3a56574f329a368d645853e0f9e09472aee62349 0.8 | |
12 | 6a03cff2b0f5d30281e6addefe96b993582f2eac 0.8.1 |
|
12 | 6a03cff2b0f5d30281e6addefe96b993582f2eac 0.8.1 | |
13 | 35fb62a3a673d5322f6274a44ba6456e5e4b3b37 0.9 |
|
13 | 35fb62a3a673d5322f6274a44ba6456e5e4b3b37 0.9 | |
14 | 2be3001847cb18a23c403439d9e7d0ace30804e9 0.9.1 |
|
14 | 2be3001847cb18a23c403439d9e7d0ace30804e9 0.9.1 | |
15 | 36a957364b1b89c150f2d0e60a99befe0ee08bd3 0.9.2 |
|
15 | 36a957364b1b89c150f2d0e60a99befe0ee08bd3 0.9.2 | |
16 | 27230c29bfec36d5540fbe1c976810aefecfd1d2 0.9.3 |
|
16 | 27230c29bfec36d5540fbe1c976810aefecfd1d2 0.9.3 | |
17 | fb4b6d5fe100b0886f8bc3d6731ec0e5ed5c4694 0.9.4 |
|
17 | fb4b6d5fe100b0886f8bc3d6731ec0e5ed5c4694 0.9.4 | |
18 | 23889160905a1b09fffe1c07378e9fc1827606eb 0.9.5 |
|
18 | 23889160905a1b09fffe1c07378e9fc1827606eb 0.9.5 | |
19 | bae2e9c838e90a393bae3973a7850280413e091a 1.0 |
|
19 | bae2e9c838e90a393bae3973a7850280413e091a 1.0 | |
20 | d5cbbe2c49cee22a9fbeb9ea41daa0ac4e26b846 1.0.1 |
|
20 | d5cbbe2c49cee22a9fbeb9ea41daa0ac4e26b846 1.0.1 | |
21 | d2375bbee6d47e62ba8e415c86e83a465dc4dce9 1.0.2 |
|
21 | d2375bbee6d47e62ba8e415c86e83a465dc4dce9 1.0.2 | |
22 | 2a67430f92f15ea5159c26b09ec4839a0c549a26 1.1 |
|
22 | 2a67430f92f15ea5159c26b09ec4839a0c549a26 1.1 | |
23 | 3773e510d433969e277b1863c317b674cbee2065 1.1.1 |
|
23 | 3773e510d433969e277b1863c317b674cbee2065 1.1.1 | |
24 | 11a4eb81fb4f4742451591489e2797dc47903277 1.1.2 |
|
24 | 11a4eb81fb4f4742451591489e2797dc47903277 1.1.2 | |
25 | 11efa41037e280d08cfb07c09ad485df30fb0ea8 1.2 |
|
25 | 11efa41037e280d08cfb07c09ad485df30fb0ea8 1.2 | |
26 | 02981000012e3adf40c4849bd7b3d5618f9ce82d 1.2.1 |
|
26 | 02981000012e3adf40c4849bd7b3d5618f9ce82d 1.2.1 | |
27 | 196d40e7c885fa6e95f89134809b3ec7bdbca34b 1.3 |
|
27 | 196d40e7c885fa6e95f89134809b3ec7bdbca34b 1.3 | |
28 | 3ef6c14a1e8e83a31226f5881b7fe6095bbfa6f6 1.3.1 |
|
28 | 3ef6c14a1e8e83a31226f5881b7fe6095bbfa6f6 1.3.1 | |
29 | 31ec469f9b556f11819937cf68ee53f2be927ebf 1.4 |
|
29 | 31ec469f9b556f11819937cf68ee53f2be927ebf 1.4 | |
30 | 439d7ea6fe3aa4ab9ec274a68846779153789de9 1.4.1 |
|
30 | 439d7ea6fe3aa4ab9ec274a68846779153789de9 1.4.1 | |
31 | 296a0b14a68621f6990c54fdba0083f6f20935bf 1.4.2 |
|
31 | 296a0b14a68621f6990c54fdba0083f6f20935bf 1.4.2 | |
32 | 4aa619c4c2c09907034d9824ebb1dd0e878206eb 1.4.3 |
|
32 | 4aa619c4c2c09907034d9824ebb1dd0e878206eb 1.4.3 | |
33 | ff2704a8ded37fbebd8b6eb5ec733731d725da8a 1.5 |
|
33 | ff2704a8ded37fbebd8b6eb5ec733731d725da8a 1.5 | |
34 | 2b01dab594167bc0dd33331dbaa6dca3dca1b3aa 1.5.1 |
|
34 | 2b01dab594167bc0dd33331dbaa6dca3dca1b3aa 1.5.1 | |
35 | 39f725929f0c48c5fb3b90c071fc3066012456ca 1.5.2 |
|
35 | 39f725929f0c48c5fb3b90c071fc3066012456ca 1.5.2 | |
36 | fdcf80f26604f233dc4d8f0a5ef9d7470e317e8a 1.5.3 |
|
36 | fdcf80f26604f233dc4d8f0a5ef9d7470e317e8a 1.5.3 | |
37 | 24fe2629c6fd0c74c90bd066e77387c2b02e8437 1.5.4 |
|
37 | 24fe2629c6fd0c74c90bd066e77387c2b02e8437 1.5.4 | |
38 | f786fc4b8764cd2a5526d259cf2f94d8a66924d9 1.6 |
|
38 | f786fc4b8764cd2a5526d259cf2f94d8a66924d9 1.6 | |
39 | bf1774d95bde614af3956d92b20e2a0c68c5fec7 1.6.1 |
|
39 | bf1774d95bde614af3956d92b20e2a0c68c5fec7 1.6.1 | |
40 | c00f03a4982e467fb6b6bd45908767db6df4771d 1.6.2 |
|
40 | c00f03a4982e467fb6b6bd45908767db6df4771d 1.6.2 | |
41 | ff5cec76b1c5b6be9c3bb923aae8c3c6d079d6b9 1.6.3 |
|
41 | ff5cec76b1c5b6be9c3bb923aae8c3c6d079d6b9 1.6.3 | |
42 | 93d8bff78c96fe7e33237b257558ee97290048a4 1.6.4 |
|
42 | 93d8bff78c96fe7e33237b257558ee97290048a4 1.6.4 | |
43 | 333421b9e0f96c7bc788e5667c146a58a9440a55 1.7 |
|
43 | 333421b9e0f96c7bc788e5667c146a58a9440a55 1.7 | |
44 | 4438875ec01bd0fc32be92b0872eb6daeed4d44f 1.7.1 |
|
44 | 4438875ec01bd0fc32be92b0872eb6daeed4d44f 1.7.1 | |
45 | 6aff4f144ad356311318b0011df0bb21f2c97429 1.7.2 |
|
45 | 6aff4f144ad356311318b0011df0bb21f2c97429 1.7.2 | |
46 | e3bf16703e2601de99e563cdb3a5d50b64e6d320 1.7.3 |
|
46 | e3bf16703e2601de99e563cdb3a5d50b64e6d320 1.7.3 | |
47 | a6c855c32ea081da3c3b8ff628f1847ff271482f 1.7.4 |
|
47 | a6c855c32ea081da3c3b8ff628f1847ff271482f 1.7.4 | |
48 | 2b2155623ee2559caf288fd333f30475966c4525 1.7.5 |
|
48 | 2b2155623ee2559caf288fd333f30475966c4525 1.7.5 | |
49 | 2616325766e3504c8ae7c84bd15ee610901fe91d 1.8 |
|
49 | 2616325766e3504c8ae7c84bd15ee610901fe91d 1.8 | |
50 | aa1f3be38ab127280761889d2dca906ca465b5f4 1.8.1 |
|
50 | aa1f3be38ab127280761889d2dca906ca465b5f4 1.8.1 | |
51 | b032bec2c0a651ca0ddecb65714bfe6770f67d70 1.8.2 |
|
51 | b032bec2c0a651ca0ddecb65714bfe6770f67d70 1.8.2 | |
52 | 3cb1e95676ad089596bd81d0937cad37d6e3b7fb 1.8.3 |
|
52 | 3cb1e95676ad089596bd81d0937cad37d6e3b7fb 1.8.3 | |
53 | 733af5d9f6b22387913e1d11350fb8cb7c1487dd 1.8.4 |
|
53 | 733af5d9f6b22387913e1d11350fb8cb7c1487dd 1.8.4 | |
54 | de9eb6b1da4fc522b1cab16d86ca166204c24f25 1.9 |
|
54 | de9eb6b1da4fc522b1cab16d86ca166204c24f25 1.9 | |
55 | 4a43e23b8c55b4566b8200bf69fe2158485a2634 1.9.1 |
|
55 | 4a43e23b8c55b4566b8200bf69fe2158485a2634 1.9.1 | |
56 | d629f1e89021103f1753addcef6b310e4435b184 1.9.2 |
|
56 | d629f1e89021103f1753addcef6b310e4435b184 1.9.2 | |
57 | 351a9292e430e35766c552066ed3e87c557b803b 1.9.3 |
|
57 | 351a9292e430e35766c552066ed3e87c557b803b 1.9.3 | |
58 | 384082750f2c51dc917d85a7145748330fa6ef4d 2.0-rc |
|
58 | 384082750f2c51dc917d85a7145748330fa6ef4d 2.0-rc | |
59 | 41453d55b481ddfcc1dacb445179649e24ca861d 2.0 |
|
59 | 41453d55b481ddfcc1dacb445179649e24ca861d 2.0 | |
60 | 195dbd1cef0c2f9f8bcf4ea303238105f716bda3 2.0.1 |
|
60 | 195dbd1cef0c2f9f8bcf4ea303238105f716bda3 2.0.1 | |
61 | 6344043924497cd06d781d9014c66802285072e4 2.0.2 |
|
61 | 6344043924497cd06d781d9014c66802285072e4 2.0.2 | |
62 | db33555eafeaf9df1e18950e29439eaa706d399b 2.1-rc |
|
62 | db33555eafeaf9df1e18950e29439eaa706d399b 2.1-rc | |
63 | 2aa5b51f310fb3befd26bed99c02267f5c12c734 2.1 |
|
63 | 2aa5b51f310fb3befd26bed99c02267f5c12c734 2.1 | |
64 | 53e2cd303ecf8ca7c7eeebd785c34e5ed6b0f4a4 2.1.1 |
|
64 | 53e2cd303ecf8ca7c7eeebd785c34e5ed6b0f4a4 2.1.1 | |
65 | b9bd95e61b49c221c4cca24e6da7c946fc02f992 2.1.2 |
|
65 | b9bd95e61b49c221c4cca24e6da7c946fc02f992 2.1.2 | |
66 | d9e2f09d5488c395ae9ddbb320ceacd24757e055 2.2-rc |
|
66 | d9e2f09d5488c395ae9ddbb320ceacd24757e055 2.2-rc | |
67 | 00182b3d087909e3c3ae44761efecdde8f319ef3 2.2 |
|
67 | 00182b3d087909e3c3ae44761efecdde8f319ef3 2.2 | |
68 | 5983de86462c5a9f42a3ad0f5e90ce5b1d221d25 2.2.1 |
|
68 | 5983de86462c5a9f42a3ad0f5e90ce5b1d221d25 2.2.1 | |
69 | 85a358df5bbbe404ca25730c9c459b34263441dc 2.2.2 |
|
69 | 85a358df5bbbe404ca25730c9c459b34263441dc 2.2.2 | |
70 | b013baa3898e117959984fc64c29d8c784d2f28b 2.2.3 |
|
70 | b013baa3898e117959984fc64c29d8c784d2f28b 2.2.3 | |
71 | a06e2681dd1786e2354d84a5fa9c1c88dd4fa3e0 2.3-rc |
|
71 | a06e2681dd1786e2354d84a5fa9c1c88dd4fa3e0 2.3-rc | |
72 | 7f5094bb3f423fc799e471aac2aee81a7ce57a0b 2.3 |
|
72 | 7f5094bb3f423fc799e471aac2aee81a7ce57a0b 2.3 | |
73 | 072209ae4ddb654eb2d5fd35bff358c738414432 2.3.1 |
|
73 | 072209ae4ddb654eb2d5fd35bff358c738414432 2.3.1 | |
74 | b3f0f9a39c4e1d0250048cd803ab03542d6f140a 2.3.2 |
|
74 | b3f0f9a39c4e1d0250048cd803ab03542d6f140a 2.3.2 | |
75 | d118a4f4fd16d9b558ec3f3e87bfee772861d2b7 2.4-rc |
|
75 | d118a4f4fd16d9b558ec3f3e87bfee772861d2b7 2.4-rc | |
76 | 195ad823b5d58c68903a6153a25e3fb4ed25239d 2.4 |
|
76 | 195ad823b5d58c68903a6153a25e3fb4ed25239d 2.4 | |
77 | 0c10cf8191469e7c3c8844922e17e71a176cb7cb 2.4.1 |
|
77 | 0c10cf8191469e7c3c8844922e17e71a176cb7cb 2.4.1 | |
78 | a4765077b65e6ae29ba42bab7834717b5072d5ba 2.4.2 |
|
78 | a4765077b65e6ae29ba42bab7834717b5072d5ba 2.4.2 | |
79 | f5fbe15ca7449f2c9a3cf817c86d0ae68b307214 2.5-rc |
|
79 | f5fbe15ca7449f2c9a3cf817c86d0ae68b307214 2.5-rc | |
80 | a6088c05e43a8aee0472ca3a4f6f8d7dd914ebbf 2.5 |
|
80 | a6088c05e43a8aee0472ca3a4f6f8d7dd914ebbf 2.5 | |
81 | 7511d4df752e61fe7ae4f3682e0a0008573b0402 2.5.1 |
|
81 | 7511d4df752e61fe7ae4f3682e0a0008573b0402 2.5.1 | |
82 | 5b7175377babacce80a6c1e12366d8032a6d4340 2.5.2 |
|
82 | 5b7175377babacce80a6c1e12366d8032a6d4340 2.5.2 | |
83 | 50c922c1b5145dab8baefefb0437d363b6a6c21c 2.5.3 |
|
83 | 50c922c1b5145dab8baefefb0437d363b6a6c21c 2.5.3 | |
84 | 8a7bd2dccd44ed571afe7424cd7f95594f27c092 2.5.4 |
|
84 | 8a7bd2dccd44ed571afe7424cd7f95594f27c092 2.5.4 | |
85 | 292cd385856d98bacb2c3086f8897bc660c2beea 2.6-rc |
|
85 | 292cd385856d98bacb2c3086f8897bc660c2beea 2.6-rc | |
86 | 23f785b38af38d2fca6b8f3db56b8007a84cd73a 2.6 |
|
86 | 23f785b38af38d2fca6b8f3db56b8007a84cd73a 2.6 | |
87 | ddc7a6be20212d18f3e27d9d7e6f079a66d96f21 2.6.1 |
|
87 | ddc7a6be20212d18f3e27d9d7e6f079a66d96f21 2.6.1 | |
88 | cceaf7af4c9e9e6fa2dbfdcfe9856c5da69c4ffd 2.6.2 |
|
88 | cceaf7af4c9e9e6fa2dbfdcfe9856c5da69c4ffd 2.6.2 | |
89 | 009794acc6e37a650f0fae37872e733382ac1c0c 2.6.3 |
|
89 | 009794acc6e37a650f0fae37872e733382ac1c0c 2.6.3 | |
90 | f0d7721d7322dcfb5af33599c2543f27335334bb 2.7-rc |
|
90 | f0d7721d7322dcfb5af33599c2543f27335334bb 2.7-rc | |
91 | f37b5a17e6a0ee17afde2cdde5393dd74715fb58 2.7 |
|
91 | f37b5a17e6a0ee17afde2cdde5393dd74715fb58 2.7 | |
92 | 335a558f81dc73afeab4d7be63617392b130117f 2.7.1 |
|
92 | 335a558f81dc73afeab4d7be63617392b130117f 2.7.1 | |
93 | e7fa36d2ad3a7944a52dca126458d6f482db3524 2.7.2 |
|
93 | e7fa36d2ad3a7944a52dca126458d6f482db3524 2.7.2 | |
94 | 1596f2d8f2421314b1ddead8f7d0c91009358994 2.8-rc |
|
94 | 1596f2d8f2421314b1ddead8f7d0c91009358994 2.8-rc | |
95 | d825e4025e39d1c39db943cdc89818abd0a87c27 2.8 |
|
95 | d825e4025e39d1c39db943cdc89818abd0a87c27 2.8 | |
96 | 209e04a06467e2969c0cc6501335be0406d46ef0 2.8.1 |
|
96 | 209e04a06467e2969c0cc6501335be0406d46ef0 2.8.1 | |
97 | ca387377df7a3a67dbb90b6336b781cdadc3ef41 2.8.2 |
|
97 | ca387377df7a3a67dbb90b6336b781cdadc3ef41 2.8.2 | |
98 | 8862469e16f9236208581b20de5f96bd13cc039d 2.9-rc |
|
98 | 8862469e16f9236208581b20de5f96bd13cc039d 2.9-rc | |
99 | 3cec5134e9c4bceab6a00c60f52a4f80677a78f2 2.9 |
|
99 | 3cec5134e9c4bceab6a00c60f52a4f80677a78f2 2.9 | |
100 | b96cb15ec9e04d8ac5ee08b34fcbbe4200588965 2.9.1 |
|
100 | b96cb15ec9e04d8ac5ee08b34fcbbe4200588965 2.9.1 | |
101 | 3f83fc5cfe715d292069ee8417c83804f6c6c1e4 2.9.2 |
|
101 | 3f83fc5cfe715d292069ee8417c83804f6c6c1e4 2.9.2 | |
102 | 564f55b251224f16508dd1311452db7780dafe2b 3.0-rc |
|
102 | 564f55b251224f16508dd1311452db7780dafe2b 3.0-rc | |
103 | 2195ac506c6ababe86985b932f4948837c0891b5 3.0 |
|
103 | 2195ac506c6ababe86985b932f4948837c0891b5 3.0 | |
104 | 269c80ee5b3cb3684fa8edc61501b3506d02eb10 3.0.1 |
|
104 | 269c80ee5b3cb3684fa8edc61501b3506d02eb10 3.0.1 | |
105 | 2d8cd3d0e83c7336c0cb45a9f88638363f993848 3.0.2 |
|
105 | 2d8cd3d0e83c7336c0cb45a9f88638363f993848 3.0.2 | |
106 | 6c36dc6cd61a0e1b563f1d51e55bdf4dacf12162 3.1-rc |
|
106 | 6c36dc6cd61a0e1b563f1d51e55bdf4dacf12162 3.1-rc | |
107 | 3178e49892020336491cdc6945885c4de26ffa8b 3.1 |
|
107 | 3178e49892020336491cdc6945885c4de26ffa8b 3.1 | |
108 | 5dc91146f35369949ea56b40172308158b59063a 3.1.1 |
|
108 | 5dc91146f35369949ea56b40172308158b59063a 3.1.1 | |
109 | f768c888aaa68d12dd7f509dcc7f01c9584357d0 3.1.2 |
|
109 | f768c888aaa68d12dd7f509dcc7f01c9584357d0 3.1.2 | |
110 | 7f8d16af8cae246fa5a48e723d48d58b015aed94 3.2-rc |
|
110 | 7f8d16af8cae246fa5a48e723d48d58b015aed94 3.2-rc | |
111 | ced632394371a36953ce4d394f86278ae51a2aae 3.2 |
|
111 | ced632394371a36953ce4d394f86278ae51a2aae 3.2 | |
112 | 643c58303fb0ec020907af28b9e486be299ba043 3.2.1 |
|
112 | 643c58303fb0ec020907af28b9e486be299ba043 3.2.1 | |
113 | 902554884335e5ca3661d63be9978eb4aec3f68a 3.2.2 |
|
113 | 902554884335e5ca3661d63be9978eb4aec3f68a 3.2.2 | |
114 | 6dad422ecc5adb63d9fa649eeb8e05a5f9bc4900 3.2.3 |
|
114 | 6dad422ecc5adb63d9fa649eeb8e05a5f9bc4900 3.2.3 | |
115 | 1265a3a71d75396f5d4cf6935ae7d9ba5407a547 3.2.4 |
|
115 | 1265a3a71d75396f5d4cf6935ae7d9ba5407a547 3.2.4 | |
116 | db8e3f7948b1fdeb9ad12d448fc3525759908b9f 3.3-rc |
|
116 | db8e3f7948b1fdeb9ad12d448fc3525759908b9f 3.3-rc | |
117 | fbdd5195528fae4f41feebc1838215c110b25d6a 3.3 |
|
117 | fbdd5195528fae4f41feebc1838215c110b25d6a 3.3 | |
118 | 5b4ed033390bf6e2879c8f5c28c84e1ee3b87231 3.3.1 |
|
118 | 5b4ed033390bf6e2879c8f5c28c84e1ee3b87231 3.3.1 | |
119 | 07a92bbd02e5e3a625e0820389b47786b02b2cea 3.3.2 |
|
119 | 07a92bbd02e5e3a625e0820389b47786b02b2cea 3.3.2 | |
120 | 2e2e9a0750f91a6fe0ad88e4de34f8efefdcab08 3.3.3 |
|
120 | 2e2e9a0750f91a6fe0ad88e4de34f8efefdcab08 3.3.3 | |
121 | e89f909edffad558b56f4affa8239e4832f88de0 3.4-rc |
|
121 | e89f909edffad558b56f4affa8239e4832f88de0 3.4-rc | |
122 | 8cc6036bca532e06681c5a8fa37efaa812de67b5 3.4 |
|
122 | 8cc6036bca532e06681c5a8fa37efaa812de67b5 3.4 | |
123 | ed18f4acf435a2824c6f49fba40f42b9df5da7ad 3.4.1 |
|
123 | ed18f4acf435a2824c6f49fba40f42b9df5da7ad 3.4.1 | |
124 | 540cd0ddac49c1125b2e013aa2ff18ecbd4dd954 3.4.2 |
|
124 | 540cd0ddac49c1125b2e013aa2ff18ecbd4dd954 3.4.2 | |
125 | 96a38d44ba093bd1d1ecfd34119e94056030278b 3.5-rc |
|
125 | 96a38d44ba093bd1d1ecfd34119e94056030278b 3.5-rc | |
126 | 21aa1c313b05b1a85f8ffa1120d51579ddf6bf24 3.5 |
|
126 | 21aa1c313b05b1a85f8ffa1120d51579ddf6bf24 3.5 | |
127 | 1a45e49a6bed023deb229102a8903234d18054d3 3.5.1 |
|
127 | 1a45e49a6bed023deb229102a8903234d18054d3 3.5.1 | |
128 | 9a466b9f9792e3ad7ae3fc6c43c3ff2e136b718d 3.5.2 |
|
128 | 9a466b9f9792e3ad7ae3fc6c43c3ff2e136b718d 3.5.2 | |
129 | b66e3ca0b90c3095ea28dfd39aa24247bebf5c20 3.6-rc |
|
129 | b66e3ca0b90c3095ea28dfd39aa24247bebf5c20 3.6-rc | |
130 | 47dd34f2e7272be9e3b2a5a83cd0d20be44293f4 3.6 |
|
130 | 47dd34f2e7272be9e3b2a5a83cd0d20be44293f4 3.6 | |
131 | 1aa5083cbebbe7575c88f3402ab377539b484897 3.6.1 |
|
131 | 1aa5083cbebbe7575c88f3402ab377539b484897 3.6.1 | |
132 | 2d437a0f3355834a9485bbbeb30a52a052c98f19 3.6.2 |
|
132 | 2d437a0f3355834a9485bbbeb30a52a052c98f19 3.6.2 | |
133 | ea389970c08449440587712117f178d33bab3f1e 3.6.3 |
|
133 | ea389970c08449440587712117f178d33bab3f1e 3.6.3 | |
134 | 158bdc8965720ca4061f8f8d806563cfc7cdb62e 3.7-rc |
|
134 | 158bdc8965720ca4061f8f8d806563cfc7cdb62e 3.7-rc | |
135 | 2408645de650d8a29a6ce9e7dce601d8dd0d1474 3.7 |
|
135 | 2408645de650d8a29a6ce9e7dce601d8dd0d1474 3.7 | |
136 | b698abf971e7377d9b7ec7fc8c52df45255b0329 3.7.1 |
|
136 | b698abf971e7377d9b7ec7fc8c52df45255b0329 3.7.1 | |
137 | d493d64757eb45ada99fcb3693e479a51b7782da 3.7.2 |
|
137 | d493d64757eb45ada99fcb3693e479a51b7782da 3.7.2 | |
138 | ae279d4a19e9683214cbd1fe8298cf0b50571432 3.7.3 |
|
138 | ae279d4a19e9683214cbd1fe8298cf0b50571432 3.7.3 | |
139 | 740156eedf2c450aee58b1a90b0e826f47c5da64 3.8-rc |
|
139 | 740156eedf2c450aee58b1a90b0e826f47c5da64 3.8-rc | |
140 | f85de28eae32e7d3064b1a1321309071bbaaa069 3.8 |
|
140 | f85de28eae32e7d3064b1a1321309071bbaaa069 3.8 | |
141 | a56296f55a5e1038ea5016dace2076b693c28a56 3.8.1 |
|
141 | a56296f55a5e1038ea5016dace2076b693c28a56 3.8.1 | |
142 | aaabed77791a75968a12b8c43ad263631a23ee81 3.8.2 |
|
142 | aaabed77791a75968a12b8c43ad263631a23ee81 3.8.2 | |
143 | a9764ab80e11bcf6a37255db7dd079011f767c6c 3.8.3 |
|
143 | a9764ab80e11bcf6a37255db7dd079011f767c6c 3.8.3 | |
144 | 26a5d605b8683a292bb89aea11f37a81b06ac016 3.8.4 |
|
144 | 26a5d605b8683a292bb89aea11f37a81b06ac016 3.8.4 | |
145 | 519bb4f9d3a47a6e83c2b414d58811ed38f503c2 3.9-rc |
|
145 | 519bb4f9d3a47a6e83c2b414d58811ed38f503c2 3.9-rc | |
146 | 299546f84e68dbb9bd026f0f3a974ce4bdb93686 3.9 |
|
146 | 299546f84e68dbb9bd026f0f3a974ce4bdb93686 3.9 | |
147 | ccd436f7db6d5d7b9af89715179b911d031d44f1 3.9.1 |
|
147 | ccd436f7db6d5d7b9af89715179b911d031d44f1 3.9.1 | |
148 | 149433e68974eb5c63ccb03f794d8b57339a80c4 3.9.2 |
|
148 | 149433e68974eb5c63ccb03f794d8b57339a80c4 3.9.2 | |
149 | 438173c415874f6ac653efc1099dec9c9150e90f 4.0-rc |
|
149 | 438173c415874f6ac653efc1099dec9c9150e90f 4.0-rc | |
150 | eab27446995210c334c3d06f1a659e3b9b5da769 4.0 |
|
150 | eab27446995210c334c3d06f1a659e3b9b5da769 4.0 | |
151 | b3b1ae98f6a0e14c1e1ba806a6c18e193b6dae5c 4.0.1 |
|
151 | b3b1ae98f6a0e14c1e1ba806a6c18e193b6dae5c 4.0.1 | |
152 | e69874dc1f4e142746ff3df91e678a09c6fc208c 4.0.2 |
|
152 | e69874dc1f4e142746ff3df91e678a09c6fc208c 4.0.2 | |
153 | a1dd2c0c479e0550040542e392e87bc91262517e 4.1-rc |
|
153 | a1dd2c0c479e0550040542e392e87bc91262517e 4.1-rc | |
154 | e1526da1e6d84e03146151c9b6e6950fe9a83d7d 4.1 |
|
154 | e1526da1e6d84e03146151c9b6e6950fe9a83d7d 4.1 | |
155 | 25703b624d27e3917d978af56d6ad59331e0464a 4.1.1 |
|
155 | 25703b624d27e3917d978af56d6ad59331e0464a 4.1.1 | |
156 | ed5b25874d998ababb181a939dd37a16ea644435 4.1.2 |
|
156 | ed5b25874d998ababb181a939dd37a16ea644435 4.1.2 | |
157 | 77eaf9539499a1b8be259ffe7ada787d07857f80 4.1.3 |
|
157 | 77eaf9539499a1b8be259ffe7ada787d07857f80 4.1.3 | |
158 | 616e788321cc4ae9975b7f0c54c849f36d82182b 4.2-rc |
|
158 | 616e788321cc4ae9975b7f0c54c849f36d82182b 4.2-rc | |
159 | bb96d4a497432722623ae60d9bc734a1e360179e 4.2 |
|
159 | bb96d4a497432722623ae60d9bc734a1e360179e 4.2 | |
160 | c850f0ed54c1d42f9aa079ad528f8127e5775217 4.2.1 |
|
160 | c850f0ed54c1d42f9aa079ad528f8127e5775217 4.2.1 | |
161 | 26c49ed51a698ec016d2b4c6b44ca3c3f73cc788 4.2.2 |
|
161 | 26c49ed51a698ec016d2b4c6b44ca3c3f73cc788 4.2.2 | |
162 | 857876ebaed4e315f63157bd157d6ce553c7ab73 4.3-rc |
|
162 | 857876ebaed4e315f63157bd157d6ce553c7ab73 4.3-rc | |
163 | 5544af8622863796a0027566f6b646e10d522c4c 4.3 |
|
163 | 5544af8622863796a0027566f6b646e10d522c4c 4.3 | |
164 | 943c91326b23954e6e1c6960d0239511f9530258 4.2.3 |
|
164 | 943c91326b23954e6e1c6960d0239511f9530258 4.2.3 | |
165 | 3fee7f7d2da04226914c2258cc2884dc27384fd7 4.3.1 |
|
165 | 3fee7f7d2da04226914c2258cc2884dc27384fd7 4.3.1 | |
166 | 920977f72c7b70acfdaf56ab35360584d7845827 4.3.2 |
|
166 | 920977f72c7b70acfdaf56ab35360584d7845827 4.3.2 | |
167 | 2f427b57bf9019c6dc3750baa539dc22c1be50f6 4.3.3 |
|
167 | 2f427b57bf9019c6dc3750baa539dc22c1be50f6 4.3.3 | |
168 | 1e2454b60e5936f5e77498cab2648db469504487 4.4-rc |
|
168 | 1e2454b60e5936f5e77498cab2648db469504487 4.4-rc | |
169 | 0ccb43d4cf01d013ae05917ec4f305509f851b2d 4.4 |
|
169 | 0ccb43d4cf01d013ae05917ec4f305509f851b2d 4.4 | |
170 | cabc840ffdee8a72f3689fb77dd74d04fdc2bc04 4.4.1 |
|
170 | cabc840ffdee8a72f3689fb77dd74d04fdc2bc04 4.4.1 | |
171 | a92b9f8e11ba330614cdfd6af0e03b15c1ff3797 4.4.2 |
|
171 | a92b9f8e11ba330614cdfd6af0e03b15c1ff3797 4.4.2 | |
172 | 27b6df1b5adbdf647cf5c6675b40575e1b197c60 4.5-rc |
|
172 | 27b6df1b5adbdf647cf5c6675b40575e1b197c60 4.5-rc | |
173 | d334afc585e29577f271c5eda03378736a16ca6b 4.5 |
|
173 | d334afc585e29577f271c5eda03378736a16ca6b 4.5 | |
174 | 369aadf7a3264b03c8b09efce715bc41e6ab4a9b 4.5.1 |
|
174 | 369aadf7a3264b03c8b09efce715bc41e6ab4a9b 4.5.1 | |
175 | 8bba684efde7f45add05f737952093bb2aa07155 4.5.2 |
|
175 | 8bba684efde7f45add05f737952093bb2aa07155 4.5.2 | |
176 | 7de7bd407251af2bc98e5b809c8598ee95830daf 4.5.3 |
|
176 | 7de7bd407251af2bc98e5b809c8598ee95830daf 4.5.3 | |
177 | ed5448edcbfa747b9154099e18630e49024fd47b 4.6rc0 |
|
177 | ed5448edcbfa747b9154099e18630e49024fd47b 4.6rc0 | |
178 | 1ec874717d8a93b19e0d50628443e0ee5efab3a9 4.6rc1 |
|
178 | 1ec874717d8a93b19e0d50628443e0ee5efab3a9 4.6rc1 | |
179 | 6614cac550aea66d19c601e45efd1b7bd08d7c40 4.6 |
|
179 | 6614cac550aea66d19c601e45efd1b7bd08d7c40 4.6 | |
180 | 9c5ced5276d6e7d54f7c3dadf5247b7ee98ec79c 4.6.1 |
|
180 | 9c5ced5276d6e7d54f7c3dadf5247b7ee98ec79c 4.6.1 | |
181 | 0b63a6743010dfdbf8a8154186e119949bdaa1cc 4.6.2 |
|
181 | 0b63a6743010dfdbf8a8154186e119949bdaa1cc 4.6.2 | |
182 | e90130af47ce8dd53a3109aed9d15876b3e7dee8 4.7rc0 |
|
182 | e90130af47ce8dd53a3109aed9d15876b3e7dee8 4.7rc0 | |
183 | 33ac6a72308a215e6086fbced347ec10aa963b0a 4.7 |
|
183 | 33ac6a72308a215e6086fbced347ec10aa963b0a 4.7 | |
184 | ede3bf31fe63677fdf5bd8db687977d4e3d792ed 4.7.1 |
|
184 | ede3bf31fe63677fdf5bd8db687977d4e3d792ed 4.7.1 | |
185 | 5405cb1a79010ac50c58cd84e6f50c4556bf2a4c 4.7.2 |
|
185 | 5405cb1a79010ac50c58cd84e6f50c4556bf2a4c 4.7.2 | |
186 | 956ec6f1320df26f3133ec40f3de866ea0695fd7 4.8rc0 |
|
186 | 956ec6f1320df26f3133ec40f3de866ea0695fd7 4.8rc0 | |
187 | a91a2837150bdcb27ae76b3646e6c93cd6a15904 4.8 |
|
187 | a91a2837150bdcb27ae76b3646e6c93cd6a15904 4.8 | |
188 | 1c8c54cf97256f4468da2eb4dbee24f7f3888e71 4.8.1 |
|
188 | 1c8c54cf97256f4468da2eb4dbee24f7f3888e71 4.8.1 | |
189 | 197f092b2cd9691e2a55d198f717b231af9be6f9 4.8.2 |
|
189 | 197f092b2cd9691e2a55d198f717b231af9be6f9 4.8.2 | |
190 | 593718ff5844cad7a27ee3eb5adad89ac8550949 4.9rc0 |
|
190 | 593718ff5844cad7a27ee3eb5adad89ac8550949 4.9rc0 | |
191 | 83377b4b4ae0e9a6b8e579f7b0a693b8cf5c3b10 4.9 |
|
191 | 83377b4b4ae0e9a6b8e579f7b0a693b8cf5c3b10 4.9 | |
192 | 4ea21df312ec7159c5b3633096b6ecf68750b0dd 4.9.1 |
|
192 | 4ea21df312ec7159c5b3633096b6ecf68750b0dd 4.9.1 | |
193 | 4a8d9ed864754837a185a642170cde24392f9abf 5.0rc0 |
|
193 | 4a8d9ed864754837a185a642170cde24392f9abf 5.0rc0 | |
194 | 07e479ef7c9639be0029f00e6a722b96dcc05fee 5.0 |
|
194 | 07e479ef7c9639be0029f00e6a722b96dcc05fee 5.0 | |
195 | c3484ddbdb9621256d597ed86b90d229c59c2af9 5.0.1 |
|
195 | c3484ddbdb9621256d597ed86b90d229c59c2af9 5.0.1 | |
196 | 97ada9b8d51bef24c5cb4cdca4243f0db694ab6e 5.0.2 |
|
196 | 97ada9b8d51bef24c5cb4cdca4243f0db694ab6e 5.0.2 | |
197 | e386b5f4f8360dbb43a576dd9b1368e386fefa5b 5.1rc0 |
|
197 | e386b5f4f8360dbb43a576dd9b1368e386fefa5b 5.1rc0 | |
198 | e91930d712e8507d1bc1b2dffd96c83edc4cbed3 5.1 |
|
198 | e91930d712e8507d1bc1b2dffd96c83edc4cbed3 5.1 | |
199 | a4e32fd539ab41489a51b2aa88bda9a73b839562 5.1.1 |
|
199 | a4e32fd539ab41489a51b2aa88bda9a73b839562 5.1.1 | |
200 | 181e52f2b62f4768aa0d988936c929dc7c4a41a0 5.1.2 |
|
200 | 181e52f2b62f4768aa0d988936c929dc7c4a41a0 5.1.2 | |
201 | 59338f9561099de77c684c00f76507f11e46ebe8 5.2rc0 |
|
201 | 59338f9561099de77c684c00f76507f11e46ebe8 5.2rc0 | |
202 | ca3dca416f8d5863ca6f5a4a6a6bb835dcd5feeb 5.2 |
|
202 | ca3dca416f8d5863ca6f5a4a6a6bb835dcd5feeb 5.2 | |
203 | a50fecefa691c9b72a99e49aa6fe9dd13943c2bf 5.2.1 |
|
203 | a50fecefa691c9b72a99e49aa6fe9dd13943c2bf 5.2.1 | |
204 | b4c82b70418022e67cc0e69b1aa3c3aa43aa1d29 5.2.2 |
|
204 | b4c82b70418022e67cc0e69b1aa3c3aa43aa1d29 5.2.2 | |
205 | 84a0102c05c7852c8215ef6cf21d809927586b69 5.3rc0 |
|
205 | 84a0102c05c7852c8215ef6cf21d809927586b69 5.3rc0 | |
206 | e4344e463c0c888a2f437b78b5982ecdf3f6650a 5.3rc1 |
|
206 | e4344e463c0c888a2f437b78b5982ecdf3f6650a 5.3rc1 | |
207 | 7f5410dfc8a64bb587d19637deb95d378fd1eb5c 5.3 |
|
207 | 7f5410dfc8a64bb587d19637deb95d378fd1eb5c 5.3 | |
208 | 6d121acbb82e65fe4dd3c2318a1b61981b958492 5.3.1 |
|
208 | 6d121acbb82e65fe4dd3c2318a1b61981b958492 5.3.1 | |
209 | 8fca7e8449a847e3cf1054f2c07b51237699fad3 5.3.2 |
|
209 | 8fca7e8449a847e3cf1054f2c07b51237699fad3 5.3.2 | |
210 | 26ce8e7515036d3431a03aaeb7bc72dd96cb1112 5.4rc0 |
|
210 | 26ce8e7515036d3431a03aaeb7bc72dd96cb1112 5.4rc0 | |
211 | cf3e07d7648a4371ce584d15dd692e7a6845792f 5.4 |
|
211 | cf3e07d7648a4371ce584d15dd692e7a6845792f 5.4 | |
212 | 065704cbdbdbb05dcd6bb814eb9bbdd982211b28 5.4.1 |
|
212 | 065704cbdbdbb05dcd6bb814eb9bbdd982211b28 5.4.1 | |
213 | 0ea9c86fac8974cd74dc12ea681c8986eb6da6c4 5.4.2 |
|
213 | 0ea9c86fac8974cd74dc12ea681c8986eb6da6c4 5.4.2 | |
214 | 28163c5de797e5416f9b588940f4608269b4d50a 5.5rc0 |
|
214 | 28163c5de797e5416f9b588940f4608269b4d50a 5.5rc0 | |
215 | 7fc3c5fbc65f6fe85d70ea63923b8767dda4f2e0 5.5 |
|
215 | 7fc3c5fbc65f6fe85d70ea63923b8767dda4f2e0 5.5 | |
216 | f62bb5d07848ca598aa860a517394130b61bf2ee 5.5.1 |
|
216 | f62bb5d07848ca598aa860a517394130b61bf2ee 5.5.1 | |
217 | 07731064ac41dacdf0ec869ebd05c2e848c14fbf 5.5.2 |
|
217 | 07731064ac41dacdf0ec869ebd05c2e848c14fbf 5.5.2 | |
218 | 0e06a7ab9e0d5c65af4e511aee1e0342998799df 5.6rc0 |
|
218 | 0e06a7ab9e0d5c65af4e511aee1e0342998799df 5.6rc0 | |
219 | 18c17d63fdabd009e70bf994e5efb7db422f4f7f 5.6 |
|
219 | 18c17d63fdabd009e70bf994e5efb7db422f4f7f 5.6 | |
220 | 1d5189a57405ceca5aa244052c9f948977f4699b 5.6.1 |
|
220 | 1d5189a57405ceca5aa244052c9f948977f4699b 5.6.1 | |
221 | 9da65e3cf3706ff41e08b311381c588440c27baf 5.7rc0 |
|
221 | 9da65e3cf3706ff41e08b311381c588440c27baf 5.7rc0 | |
222 | 0e2e7300f4302b02412b0b734717697049494c4c 5.7 |
|
222 | 0e2e7300f4302b02412b0b734717697049494c4c 5.7 | |
223 | d5d9177c0045d206db575bae6daa98e2cb2fe5bc 5.7.1 |
|
223 | d5d9177c0045d206db575bae6daa98e2cb2fe5bc 5.7.1 | |
224 | f67b8946bb1b6cfa8328dbf8d6a9128b69ccdcb4 5.8rc0 |
|
224 | f67b8946bb1b6cfa8328dbf8d6a9128b69ccdcb4 5.8rc0 | |
225 | 8d2b62d716b095507effaa8d56f87cd27ba659ab 5.8rc1 |
|
225 | 8d2b62d716b095507effaa8d56f87cd27ba659ab 5.8rc1 | |
226 | 067f2c53fb24506c9e9fb4639871b13b19a85f8a 5.8 |
|
226 | 067f2c53fb24506c9e9fb4639871b13b19a85f8a 5.8 | |
227 | 411dc27fd9fd076d6a031a08fcaace659afe2fe3 5.8.1 |
|
227 | 411dc27fd9fd076d6a031a08fcaace659afe2fe3 5.8.1 | |
228 | d7515d29761d5ada7d9c765f517db67db75dea9a 5.9rc0 |
|
228 | d7515d29761d5ada7d9c765f517db67db75dea9a 5.9rc0 | |
229 | 2813d406b03607cdb8c06cb04c44efcc9a79d9a2 5.9rc1 |
|
229 | 2813d406b03607cdb8c06cb04c44efcc9a79d9a2 5.9rc1 | |
230 | 53221078e0de65d1a821ce5311dec45a7a978301 5.9 |
|
230 | 53221078e0de65d1a821ce5311dec45a7a978301 5.9 | |
231 | 86a60679cf619e14cee9442f865fcf31b142cb9f 5.9.1 |
|
231 | 86a60679cf619e14cee9442f865fcf31b142cb9f 5.9.1 | |
232 | 750920b18aaaddd654756be40dec59d90f2643be 5.9.2 |
|
232 | 750920b18aaaddd654756be40dec59d90f2643be 5.9.2 | |
233 | 6ee0244fc1cf889ae543d2ce0ec45201ae0be6e1 5.9.3 |
|
233 | 6ee0244fc1cf889ae543d2ce0ec45201ae0be6e1 5.9.3 | |
|
234 | a44bb185f6bdbecc754996d8386722e2f0123b0a 6.0rc0 |
@@ -1,90 +1,90 b'' | |||||
1 | == New Features == |
|
1 | == New Features == | |
2 |
|
2 | |||
3 | * `hg config` now has a `--source` option to show where each |
|
3 | * `hg config` now has a `--source` option to show where each | |
4 | configuration value comes from. |
|
4 | configuration value comes from. | |
5 |
* Introduced a command (debug-repair-issue65 |
|
5 | * Introduced a command (debug-repair-issue6528) to repair repositories affected | |
6 | by issue6528 where certain files would show up as modified even if they were |
|
6 | by issue6528 where certain files would show up as modified even if they were | |
7 | clean due to an issue in the copy-tracing code. |
|
7 | clean due to an issue in the copy-tracing code. | |
8 |
|
8 | |||
9 | == Default Format Change == |
|
9 | == Default Format Change == | |
10 |
|
10 | |||
11 | These changes affect newly created repositories (or new clone) done with |
|
11 | These changes affect newly created repositories (or new clone) done with | |
12 | Mercurial 5.9. |
|
12 | Mercurial 5.9. | |
13 |
|
13 | |||
14 |
|
14 | |||
15 | == New Experimental Features == |
|
15 | == New Experimental Features == | |
16 |
|
16 | |||
17 | * A `changelogv2` format has been introduced. It is not ready for use yet, but |
|
17 | * A `changelogv2` format has been introduced. It is not ready for use yet, but | |
18 | will be used later to address some of the weaknesses of the current revlog |
|
18 | will be used later to address some of the weaknesses of the current revlog | |
19 | format. |
|
19 | format. | |
20 | * Initial experiment and support for `dirstatev2`, a new dirstate format that |
|
20 | * Initial experiment and support for `dirstatev2`, a new dirstate format that | |
21 | addresses some of the weaknesses of the current dirstate format. Python + C |
|
21 | addresses some of the weaknesses of the current dirstate format. Python + C | |
22 | and Rust support are being implemented, but the Rust solution is the one |
|
22 | and Rust support are being implemented, but the Rust solution is the one | |
23 | currently getting the attention for performance. |
|
23 | currently getting the attention for performance. | |
24 | * Initial support for `rhg status`. `rhg` is the Rust wrapper executable for hg |
|
24 | * Initial support for `rhg status`. `rhg` is the Rust wrapper executable for hg | |
25 | that shortcuts some commands for faster execution speed. |
|
25 | that shortcuts some commands for faster execution speed. | |
26 |
|
26 | |||
27 | == Bug Fixes == |
|
27 | == Bug Fixes == | |
28 |
|
28 | |||
29 | * Fixed committing empty files with `narrow` |
|
29 | * Fixed committing empty files with `narrow` | |
30 | * Allow overriding `pip`'s pep517 compliance to build C or Rust extensions |
|
30 | * Allow overriding `pip`'s pep517 compliance to build C or Rust extensions | |
31 | * Fixed regression on outgoing email when not specifying revisions |
|
31 | * Fixed regression on outgoing email when not specifying revisions | |
32 | * Fixed a regression causing bookmarks to disappear when using Rust persistent nodemap |
|
32 | * Fixed a regression causing bookmarks to disappear when using Rust persistent nodemap | |
33 | * Fixed a regression (in 5.9.1) introduced in 5.9 when cloning repos with |
|
33 | * Fixed a regression (in 5.9.1) introduced in 5.9 when cloning repos with | |
34 | deep filenames |
|
34 | deep filenames | |
35 | * Fixed detection of directories becoming symlinks, but only when using the |
|
35 | * Fixed detection of directories becoming symlinks, but only when using the | |
36 | Rust extensions. |
|
36 | Rust extensions. | |
37 | * Fixed ignore and include not composing in the Rust status |
|
37 | * Fixed ignore and include not composing in the Rust status | |
38 | * `hg commit --interactive` now handles deselecting edits of a rename |
|
38 | * `hg commit --interactive` now handles deselecting edits of a rename | |
39 | * Fixed a case where `hg evolve` gives different results when interrupted |
|
39 | * Fixed a case where `hg evolve` gives different results when interrupted | |
40 | * Fixed a memory leak in phases computation |
|
40 | * Fixed a memory leak in phases computation | |
41 | * `histedit` and `shelve` don't swallow errors when updating the working copy |
|
41 | * `histedit` and `shelve` don't swallow errors when updating the working copy | |
42 | anymore |
|
42 | anymore | |
43 | * Improve error message when detecting content-divergence with a hidden |
|
43 | * Improve error message when detecting content-divergence with a hidden | |
44 | common predecessor |
|
44 | common predecessor | |
45 | * No longer re-order parents in filelog, see issue6533 |
|
45 | * No longer re-order parents in filelog, see issue6533 | |
46 | * Fix revisions affected by issue6533 on the fly during exchange |
|
46 | * Fix revisions affected by issue6533 on the fly during exchange | |
47 | * Many Windows fixes for stability and py3 compatibility improvements |
|
47 | * Many Windows fixes for stability and py3 compatibility improvements | |
48 | * Many other miscellaneous fixes |
|
48 | * Many other miscellaneous fixes | |
49 |
|
49 | |||
50 | == Backwards Compatibility Changes == |
|
50 | == Backwards Compatibility Changes == | |
51 |
|
51 | |||
52 |
|
52 | |||
53 | == Internal API Changes == |
|
53 | == Internal API Changes == | |
54 |
|
54 | |||
55 | The Dirstate API have been updated as the previous function leaked some |
|
55 | The Dirstate API have been updated as the previous function leaked some | |
56 | internal details and did not distinguish between two important cases: "We are |
|
56 | internal details and did not distinguish between two important cases: "We are | |
57 | changing parent and need to adjust the dirstate" and "some command is changing |
|
57 | changing parent and need to adjust the dirstate" and "some command is changing | |
58 | which file is tracked". To clarify the situation: |
|
58 | which file is tracked". To clarify the situation: | |
59 |
|
59 | |||
60 | * the following functions have been deprecated, |
|
60 | * the following functions have been deprecated, | |
61 |
|
61 | |||
62 | - `dirstate.add`, |
|
62 | - `dirstate.add`, | |
63 | - `dirstate.normal`, |
|
63 | - `dirstate.normal`, | |
64 | - `dirstate.normallookup`, |
|
64 | - `dirstate.normallookup`, | |
65 | - `dirstate.merge`, |
|
65 | - `dirstate.merge`, | |
66 | - `dirstate.otherparent`, |
|
66 | - `dirstate.otherparent`, | |
67 | - `dirstate.remove`, |
|
67 | - `dirstate.remove`, | |
68 | - `dirstate.drop`, |
|
68 | - `dirstate.drop`, | |
69 | - `dirstateitem.__getitem__`, |
|
69 | - `dirstateitem.__getitem__`, | |
70 |
|
70 | |||
71 | * these new functions are added for the "adjusting parents" use-case: |
|
71 | * these new functions are added for the "adjusting parents" use-case: | |
72 |
|
72 | |||
73 | - `dirstate.update_file`, |
|
73 | - `dirstate.update_file`, | |
74 | - `dirstate.update_file_p1`, |
|
74 | - `dirstate.update_file_p1`, | |
75 |
|
75 | |||
76 | * these new function are added for the "adjusting wc file" use-case": |
|
76 | * these new function are added for the "adjusting wc file" use-case": | |
77 |
|
77 | |||
78 | - `dirstate.set_tracked`, |
|
78 | - `dirstate.set_tracked`, | |
79 | - `dirstate.set_untracked`, |
|
79 | - `dirstate.set_untracked`, | |
80 | - `dirstate.set_clean`, |
|
80 | - `dirstate.set_clean`, | |
81 | - `dirstate.set_possibly_dirty`, |
|
81 | - `dirstate.set_possibly_dirty`, | |
82 |
|
82 | |||
83 | See inline documentation of the new functions for details. |
|
83 | See inline documentation of the new functions for details. | |
84 |
|
84 | |||
85 | * Additionally, the following have been deprecated: |
|
85 | * Additionally, the following have been deprecated: | |
86 | - `urlutil.getpath` function |
|
86 | - `urlutil.getpath` function | |
87 | - `localrepository.updatecaches`' `full` argument |
|
87 | - `localrepository.updatecaches`' `full` argument | |
88 |
|
88 | |||
89 | * The following have been removed: |
|
89 | * The following have been removed: | |
90 | - `revlog.revlogio` has been removed |
|
90 | - `revlog.revlogio` has been removed |
@@ -1,233 +1,223 b'' | |||||
1 | // path_auditor.rs |
|
1 | // path_auditor.rs | |
2 | // |
|
2 | // | |
3 | // Copyright 2020 |
|
3 | // Copyright 2020 | |
4 | // Raphaël Gomès <rgomes@octobus.net>, |
|
4 | // Raphaël Gomès <rgomes@octobus.net>, | |
5 | // |
|
5 | // | |
6 | // This software may be used and distributed according to the terms of the |
|
6 | // This software may be used and distributed according to the terms of the | |
7 | // GNU General Public License version 2 or any later version. |
|
7 | // GNU General Public License version 2 or any later version. | |
8 |
|
8 | |||
9 | use crate::utils::{ |
|
9 | use crate::utils::{ | |
10 | files::lower_clean, |
|
10 | files::lower_clean, | |
11 | find_slice_in_slice, |
|
11 | find_slice_in_slice, | |
12 | hg_path::{hg_path_to_path_buf, HgPath, HgPathBuf, HgPathError}, |
|
12 | hg_path::{hg_path_to_path_buf, HgPath, HgPathBuf, HgPathError}, | |
13 | }; |
|
13 | }; | |
14 | use std::collections::HashSet; |
|
14 | use std::collections::HashSet; | |
15 | use std::path::{Path, PathBuf}; |
|
15 | use std::path::{Path, PathBuf}; | |
16 | use std::sync::{Mutex, RwLock}; |
|
16 | use std::sync::{Mutex, RwLock}; | |
17 |
|
17 | |||
18 | /// Ensures that a path is valid for use in the repository i.e. does not use |
|
18 | /// Ensures that a path is valid for use in the repository i.e. does not use | |
19 | /// any banned components, does not traverse a symlink, etc. |
|
19 | /// any banned components, does not traverse a symlink, etc. | |
20 | #[derive(Debug, Default)] |
|
20 | #[derive(Debug, Default)] | |
21 | pub struct PathAuditor { |
|
21 | pub struct PathAuditor { | |
22 | audited: Mutex<HashSet<HgPathBuf>>, |
|
22 | audited: Mutex<HashSet<HgPathBuf>>, | |
23 | audited_dirs: RwLock<HashSet<HgPathBuf>>, |
|
23 | audited_dirs: RwLock<HashSet<HgPathBuf>>, | |
24 | root: PathBuf, |
|
24 | root: PathBuf, | |
25 | } |
|
25 | } | |
26 |
|
26 | |||
27 | impl PathAuditor { |
|
27 | impl PathAuditor { | |
28 | pub fn new(root: impl AsRef<Path>) -> Self { |
|
28 | pub fn new(root: impl AsRef<Path>) -> Self { | |
29 | Self { |
|
29 | Self { | |
30 | root: root.as_ref().to_owned(), |
|
30 | root: root.as_ref().to_owned(), | |
31 | ..Default::default() |
|
31 | ..Default::default() | |
32 | } |
|
32 | } | |
33 | } |
|
33 | } | |
34 | pub fn audit_path( |
|
34 | pub fn audit_path( | |
35 | &self, |
|
35 | &self, | |
36 | path: impl AsRef<HgPath>, |
|
36 | path: impl AsRef<HgPath>, | |
37 | ) -> Result<(), HgPathError> { |
|
37 | ) -> Result<(), HgPathError> { | |
38 | // TODO windows "localpath" normalization |
|
38 | // TODO windows "localpath" normalization | |
39 | let path = path.as_ref(); |
|
39 | let path = path.as_ref(); | |
40 | if path.is_empty() { |
|
40 | if path.is_empty() { | |
41 | return Ok(()); |
|
41 | return Ok(()); | |
42 | } |
|
42 | } | |
43 | // TODO case normalization |
|
43 | // TODO case normalization | |
44 | if self.audited.lock().unwrap().contains(path) { |
|
44 | if self.audited.lock().unwrap().contains(path) { | |
45 | return Ok(()); |
|
45 | return Ok(()); | |
46 | } |
|
46 | } | |
47 | // AIX ignores "/" at end of path, others raise EISDIR. |
|
47 | // AIX ignores "/" at end of path, others raise EISDIR. | |
48 | let last_byte = path.as_bytes()[path.len() - 1]; |
|
48 | let last_byte = path.as_bytes()[path.len() - 1]; | |
49 | if last_byte == b'/' || last_byte == b'\\' { |
|
49 | if last_byte == b'/' || last_byte == b'\\' { | |
50 | return Err(HgPathError::EndsWithSlash(path.to_owned())); |
|
50 | return Err(HgPathError::EndsWithSlash(path.to_owned())); | |
51 | } |
|
51 | } | |
52 | let parts: Vec<_> = path |
|
52 | let parts: Vec<_> = path | |
53 | .as_bytes() |
|
53 | .as_bytes() | |
54 | .split(|b| std::path::is_separator(*b as char)) |
|
54 | .split(|b| std::path::is_separator(*b as char)) | |
55 | .collect(); |
|
55 | .collect(); | |
56 |
|
56 | |||
57 | let first_component = lower_clean(parts[0]); |
|
57 | let first_component = lower_clean(parts[0]); | |
58 | let first_component = first_component.as_slice(); |
|
58 | let first_component = first_component.as_slice(); | |
59 | if !path.split_drive().0.is_empty() |
|
59 | if !path.split_drive().0.is_empty() | |
60 | || (first_component == b".hg" |
|
60 | || (first_component == b".hg" | |
61 | || first_component == b".hg." |
|
61 | || first_component == b".hg." | |
62 | || first_component == b"") |
|
62 | || first_component == b"") | |
63 | || parts.iter().any(|c| c == b"..") |
|
63 | || parts.iter().any(|c| c == b"..") | |
64 | { |
|
64 | { | |
65 | return Err(HgPathError::InsideDotHg(path.to_owned())); |
|
65 | return Err(HgPathError::InsideDotHg(path.to_owned())); | |
66 | } |
|
66 | } | |
67 |
|
67 | |||
68 | // Windows shortname aliases |
|
68 | // Windows shortname aliases | |
69 | for part in parts.iter() { |
|
69 | for part in parts.iter() { | |
70 | if part.contains(&b'~') { |
|
70 | if part.contains(&b'~') { | |
71 | let mut split = part.splitn(2, |b| *b == b'~'); |
|
71 | let mut split = part.splitn(2, |b| *b == b'~'); | |
72 | let first = |
|
72 | let first = | |
73 | split.next().unwrap().to_owned().to_ascii_uppercase(); |
|
73 | split.next().unwrap().to_owned().to_ascii_uppercase(); | |
74 | let last = split.next().unwrap(); |
|
74 | let last = split.next().unwrap(); | |
75 | if last.iter().all(u8::is_ascii_digit) |
|
75 | if last.iter().all(u8::is_ascii_digit) | |
76 | && (first == b"HG" || first == b"HG8B6C") |
|
76 | && (first == b"HG" || first == b"HG8B6C") | |
77 | { |
|
77 | { | |
78 | return Err(HgPathError::ContainsIllegalComponent( |
|
78 | return Err(HgPathError::ContainsIllegalComponent( | |
79 | path.to_owned(), |
|
79 | path.to_owned(), | |
80 | )); |
|
80 | )); | |
81 | } |
|
81 | } | |
82 | } |
|
82 | } | |
83 | } |
|
83 | } | |
84 | let lower_path = lower_clean(path.as_bytes()); |
|
84 | let lower_path = lower_clean(path.as_bytes()); | |
85 | if find_slice_in_slice(&lower_path, b".hg").is_some() { |
|
85 | if find_slice_in_slice(&lower_path, b".hg").is_some() { | |
86 | let lower_parts: Vec<_> = path |
|
86 | let lower_parts: Vec<_> = path | |
87 | .as_bytes() |
|
87 | .as_bytes() | |
88 | .split(|b| std::path::is_separator(*b as char)) |
|
88 | .split(|b| std::path::is_separator(*b as char)) | |
89 | .collect(); |
|
89 | .collect(); | |
90 | for pattern in [b".hg".to_vec(), b".hg.".to_vec()].iter() { |
|
90 | for pattern in [b".hg".to_vec(), b".hg.".to_vec()].iter() { | |
91 | if let Some(pos) = lower_parts[1..] |
|
91 | if let Some(pos) = lower_parts[1..] | |
92 | .iter() |
|
92 | .iter() | |
93 | .position(|part| part == &pattern.as_slice()) |
|
93 | .position(|part| part == &pattern.as_slice()) | |
94 | { |
|
94 | { | |
95 | let base = lower_parts[..=pos] |
|
95 | let base = lower_parts[..=pos] | |
96 | .iter() |
|
96 | .iter() | |
97 | .fold(HgPathBuf::new(), |acc, p| { |
|
97 | .fold(HgPathBuf::new(), |acc, p| { | |
98 | acc.join(HgPath::new(p)) |
|
98 | acc.join(HgPath::new(p)) | |
99 | }); |
|
99 | }); | |
100 | return Err(HgPathError::IsInsideNestedRepo { |
|
100 | return Err(HgPathError::IsInsideNestedRepo { | |
101 | path: path.to_owned(), |
|
101 | path: path.to_owned(), | |
102 | nested_repo: base, |
|
102 | nested_repo: base, | |
103 | }); |
|
103 | }); | |
104 | } |
|
104 | } | |
105 | } |
|
105 | } | |
106 | } |
|
106 | } | |
107 |
|
107 | |||
108 | let parts = &parts[..parts.len().saturating_sub(1)]; |
|
108 | let parts = &parts[..parts.len().saturating_sub(1)]; | |
109 |
|
109 | |||
110 | // We don't want to add "foo/bar/baz" to `audited_dirs` before checking |
|
110 | // We don't want to add "foo/bar/baz" to `audited_dirs` before checking | |
111 | // if there's a "foo/.hg" directory. This also means we won't |
|
111 | // if there's a "foo/.hg" directory. This also means we won't | |
112 | // accidentally traverse a symlink into some other filesystem (which |
|
112 | // accidentally traverse a symlink into some other filesystem (which | |
113 | // is potentially expensive to access). |
|
113 | // is potentially expensive to access). | |
114 | for index in 0..parts.len() { |
|
114 | for index in 0..parts.len() { | |
115 | let prefix = &parts[..=index].join(&b'/'); |
|
115 | let prefix = &parts[..=index].join(&b'/'); | |
116 | let prefix = HgPath::new(prefix); |
|
116 | let prefix = HgPath::new(prefix); | |
117 | if self.audited_dirs.read().unwrap().contains(prefix) { |
|
117 | if self.audited_dirs.read().unwrap().contains(prefix) { | |
118 | continue; |
|
118 | continue; | |
119 | } |
|
119 | } | |
120 | self.check_filesystem(&prefix, &path)?; |
|
120 | self.check_filesystem(&prefix, &path)?; | |
121 | self.audited_dirs.write().unwrap().insert(prefix.to_owned()); |
|
121 | self.audited_dirs.write().unwrap().insert(prefix.to_owned()); | |
122 | } |
|
122 | } | |
123 |
|
123 | |||
124 | self.audited.lock().unwrap().insert(path.to_owned()); |
|
124 | self.audited.lock().unwrap().insert(path.to_owned()); | |
125 |
|
125 | |||
126 | Ok(()) |
|
126 | Ok(()) | |
127 | } |
|
127 | } | |
128 |
|
128 | |||
129 | pub fn check_filesystem( |
|
129 | pub fn check_filesystem( | |
130 | &self, |
|
130 | &self, | |
131 | prefix: impl AsRef<HgPath>, |
|
131 | prefix: impl AsRef<HgPath>, | |
132 | path: impl AsRef<HgPath>, |
|
132 | path: impl AsRef<HgPath>, | |
133 | ) -> Result<(), HgPathError> { |
|
133 | ) -> Result<(), HgPathError> { | |
134 | let prefix = prefix.as_ref(); |
|
134 | let prefix = prefix.as_ref(); | |
135 | let path = path.as_ref(); |
|
135 | let path = path.as_ref(); | |
136 | let current_path = self.root.join( |
|
136 | let current_path = self.root.join( | |
137 | hg_path_to_path_buf(prefix) |
|
137 | hg_path_to_path_buf(prefix) | |
138 | .map_err(|_| HgPathError::NotFsCompliant(path.to_owned()))?, |
|
138 | .map_err(|_| HgPathError::NotFsCompliant(path.to_owned()))?, | |
139 | ); |
|
139 | ); | |
140 | match std::fs::symlink_metadata(¤t_path) { |
|
140 | match std::fs::symlink_metadata(¤t_path) { | |
141 | Err(e) => { |
|
141 | Err(e) => { | |
142 | // EINVAL can be raised as invalid path syntax under win32. |
|
142 | // EINVAL can be raised as invalid path syntax under win32. | |
143 | if e.kind() != std::io::ErrorKind::NotFound |
|
143 | if e.kind() != std::io::ErrorKind::NotFound | |
144 | && e.kind() != std::io::ErrorKind::InvalidInput |
|
144 | && e.kind() != std::io::ErrorKind::InvalidInput | |
145 | && e.raw_os_error() != Some(20) |
|
145 | && e.raw_os_error() != Some(20) | |
146 | { |
|
146 | { | |
147 | // Rust does not yet have an `ErrorKind` for |
|
147 | // Rust does not yet have an `ErrorKind` for | |
148 | // `NotADirectory` (errno 20) |
|
148 | // `NotADirectory` (errno 20) | |
149 | // It happens if the dirstate contains `foo/bar` and |
|
149 | // It happens if the dirstate contains `foo/bar` and | |
150 | // foo is not a directory |
|
150 | // foo is not a directory | |
151 | return Err(HgPathError::NotFsCompliant(path.to_owned())); |
|
151 | return Err(HgPathError::NotFsCompliant(path.to_owned())); | |
152 | } |
|
152 | } | |
153 | } |
|
153 | } | |
154 | Ok(meta) => { |
|
154 | Ok(meta) => { | |
155 | if meta.file_type().is_symlink() { |
|
155 | if meta.file_type().is_symlink() { | |
156 | return Err(HgPathError::TraversesSymbolicLink { |
|
156 | return Err(HgPathError::TraversesSymbolicLink { | |
157 | path: path.to_owned(), |
|
157 | path: path.to_owned(), | |
158 | symlink: prefix.to_owned(), |
|
158 | symlink: prefix.to_owned(), | |
159 | }); |
|
159 | }); | |
160 | } |
|
160 | } | |
161 | if meta.file_type().is_dir() |
|
161 | if meta.file_type().is_dir() | |
162 | && current_path.join(".hg").is_dir() |
|
162 | && current_path.join(".hg").is_dir() | |
163 | { |
|
163 | { | |
164 | return Err(HgPathError::IsInsideNestedRepo { |
|
164 | return Err(HgPathError::IsInsideNestedRepo { | |
165 | path: path.to_owned(), |
|
165 | path: path.to_owned(), | |
166 | nested_repo: prefix.to_owned(), |
|
166 | nested_repo: prefix.to_owned(), | |
167 | }); |
|
167 | }); | |
168 | } |
|
168 | } | |
169 | } |
|
169 | } | |
170 | }; |
|
170 | }; | |
171 |
|
171 | |||
172 | Ok(()) |
|
172 | Ok(()) | |
173 | } |
|
173 | } | |
174 |
|
174 | |||
175 | pub fn check(&self, path: impl AsRef<HgPath>) -> bool { |
|
175 | pub fn check(&self, path: impl AsRef<HgPath>) -> bool { | |
176 | self.audit_path(path).is_ok() |
|
176 | self.audit_path(path).is_ok() | |
177 | } |
|
177 | } | |
178 | } |
|
178 | } | |
179 |
|
179 | |||
180 | #[cfg(test)] |
|
180 | #[cfg(test)] | |
181 | mod tests { |
|
181 | mod tests { | |
182 | use super::*; |
|
182 | use super::*; | |
183 | use crate::utils::files::get_path_from_bytes; |
|
183 | use std::fs::{create_dir, File}; | |
184 | use crate::utils::hg_path::path_to_hg_path_buf; |
|
184 | use tempfile::tempdir; | |
185 |
|
185 | |||
186 | #[test] |
|
186 | #[test] | |
187 | fn test_path_auditor() { |
|
187 | fn test_path_auditor() { | |
188 | let auditor = PathAuditor::new(get_path_from_bytes(b"/tmp")); |
|
188 | let base_dir = tempdir().unwrap(); | |
|
189 | let base_dir_path = base_dir.path(); | |||
|
190 | let auditor = PathAuditor::new(base_dir_path); | |||
189 |
|
191 | |||
190 | let path = HgPath::new(b".hg/00changelog.i"); |
|
192 | let path = HgPath::new(b".hg/00changelog.i"); | |
191 | assert_eq!( |
|
193 | assert_eq!( | |
192 | auditor.audit_path(path), |
|
194 | auditor.audit_path(path), | |
193 | Err(HgPathError::InsideDotHg(path.to_owned())) |
|
195 | Err(HgPathError::InsideDotHg(path.to_owned())) | |
194 | ); |
|
196 | ); | |
195 | let path = HgPath::new(b"this/is/nested/.hg/thing.txt"); |
|
197 | let path = HgPath::new(b"this/is/nested/.hg/thing.txt"); | |
196 | assert_eq!( |
|
198 | assert_eq!( | |
197 | auditor.audit_path(path), |
|
199 | auditor.audit_path(path), | |
198 | Err(HgPathError::IsInsideNestedRepo { |
|
200 | Err(HgPathError::IsInsideNestedRepo { | |
199 | path: path.to_owned(), |
|
201 | path: path.to_owned(), | |
200 | nested_repo: HgPathBuf::from_bytes(b"this/is/nested") |
|
202 | nested_repo: HgPathBuf::from_bytes(b"this/is/nested") | |
201 | }) |
|
203 | }) | |
202 | ); |
|
204 | ); | |
203 |
|
205 | |||
204 | use std::fs::{create_dir, File}; |
|
206 | create_dir(&base_dir_path.join("realdir")).unwrap(); | |
205 | use tempfile::tempdir; |
|
207 | File::create(&base_dir_path.join("realdir/realfile")).unwrap(); | |
206 |
|
||||
207 | let base_dir = tempdir().unwrap(); |
|
|||
208 | let base_dir_path = base_dir.path(); |
|
|||
209 | let skip = base_dir_path.components().count() - 1; |
|
|||
210 | let a = base_dir_path.join("a"); |
|
|||
211 | let b = base_dir_path.join("b"); |
|
|||
212 | create_dir(&a).unwrap(); |
|
|||
213 | let in_a_path = a.join("in_a"); |
|
|||
214 | File::create(in_a_path).unwrap(); |
|
|||
215 |
|
||||
216 | // TODO make portable |
|
208 | // TODO make portable | |
217 |
std::os::unix::fs::symlink( |
|
209 | std::os::unix::fs::symlink( | |
218 |
|
210 | &base_dir_path.join("realdir"), | ||
219 | let buf = b.join("in_a").components().skip(skip).collect::<PathBuf>(); |
|
211 | &base_dir_path.join("symlink"), | |
220 | eprintln!("buf: {}", buf.display()); |
|
212 | ) | |
221 | let path = path_to_hg_path_buf(buf).unwrap(); |
|
213 | .unwrap(); | |
|
214 | let path = HgPath::new(b"symlink/realfile"); | |||
222 | assert_eq!( |
|
215 | assert_eq!( | |
223 |
auditor.audit_path( |
|
216 | auditor.audit_path(path), | |
224 | Err(HgPathError::TraversesSymbolicLink { |
|
217 | Err(HgPathError::TraversesSymbolicLink { | |
225 | path: path, |
|
218 | path: path.to_owned(), | |
226 |
symlink: |
|
219 | symlink: HgPathBuf::from_bytes(b"symlink"), | |
227 | b.components().skip(2).collect::<PathBuf>() |
|
|||
228 | ) |
|
|||
229 | .unwrap() |
|
|||
230 | }) |
|
220 | }) | |
231 | ); |
|
221 | ); | |
232 | } |
|
222 | } | |
233 | } |
|
223 | } |
@@ -1,1141 +1,1148 b'' | |||||
1 | from __future__ import absolute_import, print_function |
|
1 | from __future__ import absolute_import, print_function | |
2 |
|
2 | |||
3 | import distutils.version |
|
3 | import distutils.version | |
4 | import os |
|
4 | import os | |
5 | import re |
|
5 | import re | |
6 | import socket |
|
6 | import socket | |
7 | import stat |
|
7 | import stat | |
8 | import subprocess |
|
8 | import subprocess | |
9 | import sys |
|
9 | import sys | |
10 | import tempfile |
|
10 | import tempfile | |
11 |
|
11 | |||
12 | tempprefix = 'hg-hghave-' |
|
12 | tempprefix = 'hg-hghave-' | |
13 |
|
13 | |||
14 | checks = { |
|
14 | checks = { | |
15 | "true": (lambda: True, "yak shaving"), |
|
15 | "true": (lambda: True, "yak shaving"), | |
16 | "false": (lambda: False, "nail clipper"), |
|
16 | "false": (lambda: False, "nail clipper"), | |
17 | "known-bad-output": (lambda: True, "use for currently known bad output"), |
|
17 | "known-bad-output": (lambda: True, "use for currently known bad output"), | |
18 | "missing-correct-output": (lambda: False, "use for missing good output"), |
|
18 | "missing-correct-output": (lambda: False, "use for missing good output"), | |
19 | } |
|
19 | } | |
20 |
|
20 | |||
21 | try: |
|
21 | try: | |
22 | import msvcrt |
|
22 | import msvcrt | |
23 |
|
23 | |||
24 | msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) |
|
24 | msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) | |
25 | msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY) |
|
25 | msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY) | |
26 | except ImportError: |
|
26 | except ImportError: | |
27 | pass |
|
27 | pass | |
28 |
|
28 | |||
29 | stdout = getattr(sys.stdout, 'buffer', sys.stdout) |
|
29 | stdout = getattr(sys.stdout, 'buffer', sys.stdout) | |
30 | stderr = getattr(sys.stderr, 'buffer', sys.stderr) |
|
30 | stderr = getattr(sys.stderr, 'buffer', sys.stderr) | |
31 |
|
31 | |||
32 | is_not_python2 = sys.version_info[0] >= 3 |
|
32 | is_not_python2 = sys.version_info[0] >= 3 | |
33 | if is_not_python2: |
|
33 | if is_not_python2: | |
34 |
|
34 | |||
35 | def _sys2bytes(p): |
|
35 | def _sys2bytes(p): | |
36 | if p is None: |
|
36 | if p is None: | |
37 | return p |
|
37 | return p | |
38 | return p.encode('utf-8') |
|
38 | return p.encode('utf-8') | |
39 |
|
39 | |||
40 | def _bytes2sys(p): |
|
40 | def _bytes2sys(p): | |
41 | if p is None: |
|
41 | if p is None: | |
42 | return p |
|
42 | return p | |
43 | return p.decode('utf-8') |
|
43 | return p.decode('utf-8') | |
44 |
|
44 | |||
45 |
|
45 | |||
46 | else: |
|
46 | else: | |
47 |
|
47 | |||
48 | def _sys2bytes(p): |
|
48 | def _sys2bytes(p): | |
49 | return p |
|
49 | return p | |
50 |
|
50 | |||
51 | _bytes2sys = _sys2bytes |
|
51 | _bytes2sys = _sys2bytes | |
52 |
|
52 | |||
53 |
|
53 | |||
54 | def check(name, desc): |
|
54 | def check(name, desc): | |
55 | """Registers a check function for a feature.""" |
|
55 | """Registers a check function for a feature.""" | |
56 |
|
56 | |||
57 | def decorator(func): |
|
57 | def decorator(func): | |
58 | checks[name] = (func, desc) |
|
58 | checks[name] = (func, desc) | |
59 | return func |
|
59 | return func | |
60 |
|
60 | |||
61 | return decorator |
|
61 | return decorator | |
62 |
|
62 | |||
63 |
|
63 | |||
64 | def checkvers(name, desc, vers): |
|
64 | def checkvers(name, desc, vers): | |
65 | """Registers a check function for each of a series of versions. |
|
65 | """Registers a check function for each of a series of versions. | |
66 |
|
66 | |||
67 | vers can be a list or an iterator. |
|
67 | vers can be a list or an iterator. | |
68 |
|
68 | |||
69 | Produces a series of feature checks that have the form <name><vers> without |
|
69 | Produces a series of feature checks that have the form <name><vers> without | |
70 | any punctuation (even if there's punctuation in 'vers'; i.e. this produces |
|
70 | any punctuation (even if there's punctuation in 'vers'; i.e. this produces | |
71 | 'py38', not 'py3.8' or 'py-38').""" |
|
71 | 'py38', not 'py3.8' or 'py-38').""" | |
72 |
|
72 | |||
73 | def decorator(func): |
|
73 | def decorator(func): | |
74 | def funcv(v): |
|
74 | def funcv(v): | |
75 | def f(): |
|
75 | def f(): | |
76 | return func(v) |
|
76 | return func(v) | |
77 |
|
77 | |||
78 | return f |
|
78 | return f | |
79 |
|
79 | |||
80 | for v in vers: |
|
80 | for v in vers: | |
81 | v = str(v) |
|
81 | v = str(v) | |
82 | f = funcv(v) |
|
82 | f = funcv(v) | |
83 | checks['%s%s' % (name, v.replace('.', ''))] = (f, desc % v) |
|
83 | checks['%s%s' % (name, v.replace('.', ''))] = (f, desc % v) | |
84 | return func |
|
84 | return func | |
85 |
|
85 | |||
86 | return decorator |
|
86 | return decorator | |
87 |
|
87 | |||
88 |
|
88 | |||
89 | def checkfeatures(features): |
|
89 | def checkfeatures(features): | |
90 | result = { |
|
90 | result = { | |
91 | 'error': [], |
|
91 | 'error': [], | |
92 | 'missing': [], |
|
92 | 'missing': [], | |
93 | 'skipped': [], |
|
93 | 'skipped': [], | |
94 | } |
|
94 | } | |
95 |
|
95 | |||
96 | for feature in features: |
|
96 | for feature in features: | |
97 | negate = feature.startswith('no-') |
|
97 | negate = feature.startswith('no-') | |
98 | if negate: |
|
98 | if negate: | |
99 | feature = feature[3:] |
|
99 | feature = feature[3:] | |
100 |
|
100 | |||
101 | if feature not in checks: |
|
101 | if feature not in checks: | |
102 | result['missing'].append(feature) |
|
102 | result['missing'].append(feature) | |
103 | continue |
|
103 | continue | |
104 |
|
104 | |||
105 | check, desc = checks[feature] |
|
105 | check, desc = checks[feature] | |
106 | try: |
|
106 | try: | |
107 | available = check() |
|
107 | available = check() | |
108 | except Exception as e: |
|
108 | except Exception as e: | |
109 | result['error'].append('hghave check %s failed: %r' % (feature, e)) |
|
109 | result['error'].append('hghave check %s failed: %r' % (feature, e)) | |
110 | continue |
|
110 | continue | |
111 |
|
111 | |||
112 | if not negate and not available: |
|
112 | if not negate and not available: | |
113 | result['skipped'].append('missing feature: %s' % desc) |
|
113 | result['skipped'].append('missing feature: %s' % desc) | |
114 | elif negate and available: |
|
114 | elif negate and available: | |
115 | result['skipped'].append('system supports %s' % desc) |
|
115 | result['skipped'].append('system supports %s' % desc) | |
116 |
|
116 | |||
117 | return result |
|
117 | return result | |
118 |
|
118 | |||
119 |
|
119 | |||
120 | def require(features): |
|
120 | def require(features): | |
121 | """Require that features are available, exiting if not.""" |
|
121 | """Require that features are available, exiting if not.""" | |
122 | result = checkfeatures(features) |
|
122 | result = checkfeatures(features) | |
123 |
|
123 | |||
124 | for missing in result['missing']: |
|
124 | for missing in result['missing']: | |
125 | stderr.write( |
|
125 | stderr.write( | |
126 | ('skipped: unknown feature: %s\n' % missing).encode('utf-8') |
|
126 | ('skipped: unknown feature: %s\n' % missing).encode('utf-8') | |
127 | ) |
|
127 | ) | |
128 | for msg in result['skipped']: |
|
128 | for msg in result['skipped']: | |
129 | stderr.write(('skipped: %s\n' % msg).encode('utf-8')) |
|
129 | stderr.write(('skipped: %s\n' % msg).encode('utf-8')) | |
130 | for msg in result['error']: |
|
130 | for msg in result['error']: | |
131 | stderr.write(('%s\n' % msg).encode('utf-8')) |
|
131 | stderr.write(('%s\n' % msg).encode('utf-8')) | |
132 |
|
132 | |||
133 | if result['missing']: |
|
133 | if result['missing']: | |
134 | sys.exit(2) |
|
134 | sys.exit(2) | |
135 |
|
135 | |||
136 | if result['skipped'] or result['error']: |
|
136 | if result['skipped'] or result['error']: | |
137 | sys.exit(1) |
|
137 | sys.exit(1) | |
138 |
|
138 | |||
139 |
|
139 | |||
140 | def matchoutput(cmd, regexp, ignorestatus=False): |
|
140 | def matchoutput(cmd, regexp, ignorestatus=False): | |
141 | """Return the match object if cmd executes successfully and its output |
|
141 | """Return the match object if cmd executes successfully and its output | |
142 | is matched by the supplied regular expression. |
|
142 | is matched by the supplied regular expression. | |
143 | """ |
|
143 | """ | |
144 |
|
144 | |||
145 | # Tests on Windows have to fake USERPROFILE to point to the test area so |
|
145 | # Tests on Windows have to fake USERPROFILE to point to the test area so | |
146 | # that `~` is properly expanded on py3.8+. However, some tools like black |
|
146 | # that `~` is properly expanded on py3.8+. However, some tools like black | |
147 | # make calls that need the real USERPROFILE in order to run `foo --version`. |
|
147 | # make calls that need the real USERPROFILE in order to run `foo --version`. | |
148 | env = os.environ |
|
148 | env = os.environ | |
149 | if os.name == 'nt': |
|
149 | if os.name == 'nt': | |
150 | env = os.environ.copy() |
|
150 | env = os.environ.copy() | |
151 | env['USERPROFILE'] = env['REALUSERPROFILE'] |
|
151 | env['USERPROFILE'] = env['REALUSERPROFILE'] | |
152 |
|
152 | |||
153 | r = re.compile(regexp) |
|
153 | r = re.compile(regexp) | |
154 | p = subprocess.Popen( |
|
154 | p = subprocess.Popen( | |
155 | cmd, |
|
155 | cmd, | |
156 | shell=True, |
|
156 | shell=True, | |
157 | stdout=subprocess.PIPE, |
|
157 | stdout=subprocess.PIPE, | |
158 | stderr=subprocess.STDOUT, |
|
158 | stderr=subprocess.STDOUT, | |
159 | env=env, |
|
159 | env=env, | |
160 | ) |
|
160 | ) | |
161 | s = p.communicate()[0] |
|
161 | s = p.communicate()[0] | |
162 | ret = p.returncode |
|
162 | ret = p.returncode | |
163 | return (ignorestatus or not ret) and r.search(s) |
|
163 | return (ignorestatus or not ret) and r.search(s) | |
164 |
|
164 | |||
165 |
|
165 | |||
166 | @check("baz", "GNU Arch baz client") |
|
166 | @check("baz", "GNU Arch baz client") | |
167 | def has_baz(): |
|
167 | def has_baz(): | |
168 | return matchoutput('baz --version 2>&1', br'baz Bazaar version') |
|
168 | return matchoutput('baz --version 2>&1', br'baz Bazaar version') | |
169 |
|
169 | |||
170 |
|
170 | |||
171 | @check("bzr", "Breezy library and executable version >= 3.1") |
|
171 | @check("bzr", "Breezy library and executable version >= 3.1") | |
172 | def has_bzr(): |
|
172 | def has_bzr(): | |
173 | if not is_not_python2: |
|
173 | if not is_not_python2: | |
174 | return False |
|
174 | return False | |
175 | try: |
|
175 | try: | |
176 | # Test the Breezy python lib |
|
176 | # Test the Breezy python lib | |
177 | import breezy |
|
177 | import breezy | |
178 | import breezy.bzr.bzrdir |
|
178 | import breezy.bzr.bzrdir | |
179 | import breezy.errors |
|
179 | import breezy.errors | |
180 | import breezy.revision |
|
180 | import breezy.revision | |
181 | import breezy.revisionspec |
|
181 | import breezy.revisionspec | |
182 |
|
182 | |||
183 | breezy.revisionspec.RevisionSpec |
|
183 | breezy.revisionspec.RevisionSpec | |
184 | if breezy.__doc__ is None or breezy.version_info[:2] < (3, 1): |
|
184 | if breezy.__doc__ is None or breezy.version_info[:2] < (3, 1): | |
185 | return False |
|
185 | return False | |
186 | except (AttributeError, ImportError): |
|
186 | except (AttributeError, ImportError): | |
187 | return False |
|
187 | return False | |
188 | # Test the executable |
|
188 | # Test the executable | |
189 | return matchoutput('brz --version 2>&1', br'Breezy \(brz\) ') |
|
189 | return matchoutput('brz --version 2>&1', br'Breezy \(brz\) ') | |
190 |
|
190 | |||
191 |
|
191 | |||
192 | @check("chg", "running with chg") |
|
192 | @check("chg", "running with chg") | |
193 | def has_chg(): |
|
193 | def has_chg(): | |
194 | return 'CHG_INSTALLED_AS_HG' in os.environ |
|
194 | return 'CHG_INSTALLED_AS_HG' in os.environ | |
195 |
|
195 | |||
196 |
|
196 | |||
197 | @check("rhg", "running with rhg as 'hg'") |
|
197 | @check("rhg", "running with rhg as 'hg'") | |
198 | def has_rhg(): |
|
198 | def has_rhg(): | |
199 | return 'RHG_INSTALLED_AS_HG' in os.environ |
|
199 | return 'RHG_INSTALLED_AS_HG' in os.environ | |
200 |
|
200 | |||
201 |
|
201 | |||
202 | @check("pyoxidizer", "running with pyoxidizer build as 'hg'") |
|
202 | @check("pyoxidizer", "running with pyoxidizer build as 'hg'") | |
203 | def has_rhg(): |
|
203 | def has_rhg(): | |
204 | return 'PYOXIDIZED_INSTALLED_AS_HG' in os.environ |
|
204 | return 'PYOXIDIZED_INSTALLED_AS_HG' in os.environ | |
205 |
|
205 | |||
206 |
|
206 | |||
207 | @check("cvs", "cvs client/server") |
|
207 | @check("cvs", "cvs client/server") | |
208 | def has_cvs(): |
|
208 | def has_cvs(): | |
209 | re = br'Concurrent Versions System.*?server' |
|
209 | re = br'Concurrent Versions System.*?server' | |
210 | return matchoutput('cvs --version 2>&1', re) and not has_msys() |
|
210 | return matchoutput('cvs --version 2>&1', re) and not has_msys() | |
211 |
|
211 | |||
212 |
|
212 | |||
213 | @check("cvs112", "cvs client/server 1.12.* (not cvsnt)") |
|
213 | @check("cvs112", "cvs client/server 1.12.* (not cvsnt)") | |
214 | def has_cvs112(): |
|
214 | def has_cvs112(): | |
215 | re = br'Concurrent Versions System \(CVS\) 1.12.*?server' |
|
215 | re = br'Concurrent Versions System \(CVS\) 1.12.*?server' | |
216 | return matchoutput('cvs --version 2>&1', re) and not has_msys() |
|
216 | return matchoutput('cvs --version 2>&1', re) and not has_msys() | |
217 |
|
217 | |||
218 |
|
218 | |||
219 | @check("cvsnt", "cvsnt client/server") |
|
219 | @check("cvsnt", "cvsnt client/server") | |
220 | def has_cvsnt(): |
|
220 | def has_cvsnt(): | |
221 | re = br'Concurrent Versions System \(CVSNT\) (\d+).(\d+).*\(client/server\)' |
|
221 | re = br'Concurrent Versions System \(CVSNT\) (\d+).(\d+).*\(client/server\)' | |
222 | return matchoutput('cvsnt --version 2>&1', re) |
|
222 | return matchoutput('cvsnt --version 2>&1', re) | |
223 |
|
223 | |||
224 |
|
224 | |||
225 | @check("darcs", "darcs client") |
|
225 | @check("darcs", "darcs client") | |
226 | def has_darcs(): |
|
226 | def has_darcs(): | |
227 | return matchoutput('darcs --version', br'\b2\.([2-9]|\d{2})', True) |
|
227 | return matchoutput('darcs --version', br'\b2\.([2-9]|\d{2})', True) | |
228 |
|
228 | |||
229 |
|
229 | |||
230 | @check("mtn", "monotone client (>= 1.0)") |
|
230 | @check("mtn", "monotone client (>= 1.0)") | |
231 | def has_mtn(): |
|
231 | def has_mtn(): | |
232 | return matchoutput('mtn --version', br'monotone', True) and not matchoutput( |
|
232 | return matchoutput('mtn --version', br'monotone', True) and not matchoutput( | |
233 | 'mtn --version', br'monotone 0\.', True |
|
233 | 'mtn --version', br'monotone 0\.', True | |
234 | ) |
|
234 | ) | |
235 |
|
235 | |||
236 |
|
236 | |||
237 | @check("eol-in-paths", "end-of-lines in paths") |
|
237 | @check("eol-in-paths", "end-of-lines in paths") | |
238 | def has_eol_in_paths(): |
|
238 | def has_eol_in_paths(): | |
239 | try: |
|
239 | try: | |
240 | fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix, suffix='\n\r') |
|
240 | fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix, suffix='\n\r') | |
241 | os.close(fd) |
|
241 | os.close(fd) | |
242 | os.remove(path) |
|
242 | os.remove(path) | |
243 | return True |
|
243 | return True | |
244 | except (IOError, OSError): |
|
244 | except (IOError, OSError): | |
245 | return False |
|
245 | return False | |
246 |
|
246 | |||
247 |
|
247 | |||
248 | @check("execbit", "executable bit") |
|
248 | @check("execbit", "executable bit") | |
249 | def has_executablebit(): |
|
249 | def has_executablebit(): | |
250 | try: |
|
250 | try: | |
251 | EXECFLAGS = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH |
|
251 | EXECFLAGS = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH | |
252 | fh, fn = tempfile.mkstemp(dir='.', prefix=tempprefix) |
|
252 | fh, fn = tempfile.mkstemp(dir='.', prefix=tempprefix) | |
253 | try: |
|
253 | try: | |
254 | os.close(fh) |
|
254 | os.close(fh) | |
255 | m = os.stat(fn).st_mode & 0o777 |
|
255 | m = os.stat(fn).st_mode & 0o777 | |
256 | new_file_has_exec = m & EXECFLAGS |
|
256 | new_file_has_exec = m & EXECFLAGS | |
257 | os.chmod(fn, m ^ EXECFLAGS) |
|
257 | os.chmod(fn, m ^ EXECFLAGS) | |
258 | exec_flags_cannot_flip = (os.stat(fn).st_mode & 0o777) == m |
|
258 | exec_flags_cannot_flip = (os.stat(fn).st_mode & 0o777) == m | |
259 | finally: |
|
259 | finally: | |
260 | os.unlink(fn) |
|
260 | os.unlink(fn) | |
261 | except (IOError, OSError): |
|
261 | except (IOError, OSError): | |
262 | # we don't care, the user probably won't be able to commit anyway |
|
262 | # we don't care, the user probably won't be able to commit anyway | |
263 | return False |
|
263 | return False | |
264 | return not (new_file_has_exec or exec_flags_cannot_flip) |
|
264 | return not (new_file_has_exec or exec_flags_cannot_flip) | |
265 |
|
265 | |||
266 |
|
266 | |||
|
267 | @check("suidbit", "setuid and setgid bit") | |||
|
268 | def has_suidbit(): | |||
|
269 | if getattr(os, "statvfs", None) is None or getattr(os, "ST_NOSUID") is None: | |||
|
270 | return False | |||
|
271 | return bool(os.statvfs('.').f_flag & os.ST_NOSUID) | |||
|
272 | ||||
|
273 | ||||
267 | @check("icasefs", "case insensitive file system") |
|
274 | @check("icasefs", "case insensitive file system") | |
268 | def has_icasefs(): |
|
275 | def has_icasefs(): | |
269 | # Stolen from mercurial.util |
|
276 | # Stolen from mercurial.util | |
270 | fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix) |
|
277 | fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix) | |
271 | os.close(fd) |
|
278 | os.close(fd) | |
272 | try: |
|
279 | try: | |
273 | s1 = os.stat(path) |
|
280 | s1 = os.stat(path) | |
274 | d, b = os.path.split(path) |
|
281 | d, b = os.path.split(path) | |
275 | p2 = os.path.join(d, b.upper()) |
|
282 | p2 = os.path.join(d, b.upper()) | |
276 | if path == p2: |
|
283 | if path == p2: | |
277 | p2 = os.path.join(d, b.lower()) |
|
284 | p2 = os.path.join(d, b.lower()) | |
278 | try: |
|
285 | try: | |
279 | s2 = os.stat(p2) |
|
286 | s2 = os.stat(p2) | |
280 | return s2 == s1 |
|
287 | return s2 == s1 | |
281 | except OSError: |
|
288 | except OSError: | |
282 | return False |
|
289 | return False | |
283 | finally: |
|
290 | finally: | |
284 | os.remove(path) |
|
291 | os.remove(path) | |
285 |
|
292 | |||
286 |
|
293 | |||
287 | @check("fifo", "named pipes") |
|
294 | @check("fifo", "named pipes") | |
288 | def has_fifo(): |
|
295 | def has_fifo(): | |
289 | if getattr(os, "mkfifo", None) is None: |
|
296 | if getattr(os, "mkfifo", None) is None: | |
290 | return False |
|
297 | return False | |
291 | name = tempfile.mktemp(dir='.', prefix=tempprefix) |
|
298 | name = tempfile.mktemp(dir='.', prefix=tempprefix) | |
292 | try: |
|
299 | try: | |
293 | os.mkfifo(name) |
|
300 | os.mkfifo(name) | |
294 | os.unlink(name) |
|
301 | os.unlink(name) | |
295 | return True |
|
302 | return True | |
296 | except OSError: |
|
303 | except OSError: | |
297 | return False |
|
304 | return False | |
298 |
|
305 | |||
299 |
|
306 | |||
300 | @check("killdaemons", 'killdaemons.py support') |
|
307 | @check("killdaemons", 'killdaemons.py support') | |
301 | def has_killdaemons(): |
|
308 | def has_killdaemons(): | |
302 | return True |
|
309 | return True | |
303 |
|
310 | |||
304 |
|
311 | |||
305 | @check("cacheable", "cacheable filesystem") |
|
312 | @check("cacheable", "cacheable filesystem") | |
306 | def has_cacheable_fs(): |
|
313 | def has_cacheable_fs(): | |
307 | from mercurial import util |
|
314 | from mercurial import util | |
308 |
|
315 | |||
309 | fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix) |
|
316 | fd, path = tempfile.mkstemp(dir='.', prefix=tempprefix) | |
310 | os.close(fd) |
|
317 | os.close(fd) | |
311 | try: |
|
318 | try: | |
312 | return util.cachestat(path).cacheable() |
|
319 | return util.cachestat(path).cacheable() | |
313 | finally: |
|
320 | finally: | |
314 | os.remove(path) |
|
321 | os.remove(path) | |
315 |
|
322 | |||
316 |
|
323 | |||
317 | @check("lsprof", "python lsprof module") |
|
324 | @check("lsprof", "python lsprof module") | |
318 | def has_lsprof(): |
|
325 | def has_lsprof(): | |
319 | try: |
|
326 | try: | |
320 | import _lsprof |
|
327 | import _lsprof | |
321 |
|
328 | |||
322 | _lsprof.Profiler # silence unused import warning |
|
329 | _lsprof.Profiler # silence unused import warning | |
323 | return True |
|
330 | return True | |
324 | except ImportError: |
|
331 | except ImportError: | |
325 | return False |
|
332 | return False | |
326 |
|
333 | |||
327 |
|
334 | |||
328 | def _gethgversion(): |
|
335 | def _gethgversion(): | |
329 | m = matchoutput('hg --version --quiet 2>&1', br'(\d+)\.(\d+)') |
|
336 | m = matchoutput('hg --version --quiet 2>&1', br'(\d+)\.(\d+)') | |
330 | if not m: |
|
337 | if not m: | |
331 | return (0, 0) |
|
338 | return (0, 0) | |
332 | return (int(m.group(1)), int(m.group(2))) |
|
339 | return (int(m.group(1)), int(m.group(2))) | |
333 |
|
340 | |||
334 |
|
341 | |||
335 | _hgversion = None |
|
342 | _hgversion = None | |
336 |
|
343 | |||
337 |
|
344 | |||
338 | def gethgversion(): |
|
345 | def gethgversion(): | |
339 | global _hgversion |
|
346 | global _hgversion | |
340 | if _hgversion is None: |
|
347 | if _hgversion is None: | |
341 | _hgversion = _gethgversion() |
|
348 | _hgversion = _gethgversion() | |
342 | return _hgversion |
|
349 | return _hgversion | |
343 |
|
350 | |||
344 |
|
351 | |||
345 | @checkvers( |
|
352 | @checkvers( | |
346 | "hg", "Mercurial >= %s", list([(1.0 * x) / 10 for x in range(9, 99)]) |
|
353 | "hg", "Mercurial >= %s", list([(1.0 * x) / 10 for x in range(9, 99)]) | |
347 | ) |
|
354 | ) | |
348 | def has_hg_range(v): |
|
355 | def has_hg_range(v): | |
349 | major, minor = v.split('.')[0:2] |
|
356 | major, minor = v.split('.')[0:2] | |
350 | return gethgversion() >= (int(major), int(minor)) |
|
357 | return gethgversion() >= (int(major), int(minor)) | |
351 |
|
358 | |||
352 |
|
359 | |||
353 | @check("rust", "Using the Rust extensions") |
|
360 | @check("rust", "Using the Rust extensions") | |
354 | def has_rust(): |
|
361 | def has_rust(): | |
355 | """Check is the mercurial currently running is using some rust code""" |
|
362 | """Check is the mercurial currently running is using some rust code""" | |
356 | cmd = 'hg debuginstall --quiet 2>&1' |
|
363 | cmd = 'hg debuginstall --quiet 2>&1' | |
357 | match = br'checking module policy \(([^)]+)\)' |
|
364 | match = br'checking module policy \(([^)]+)\)' | |
358 | policy = matchoutput(cmd, match) |
|
365 | policy = matchoutput(cmd, match) | |
359 | if not policy: |
|
366 | if not policy: | |
360 | return False |
|
367 | return False | |
361 | return b'rust' in policy.group(1) |
|
368 | return b'rust' in policy.group(1) | |
362 |
|
369 | |||
363 |
|
370 | |||
364 | @check("hg08", "Mercurial >= 0.8") |
|
371 | @check("hg08", "Mercurial >= 0.8") | |
365 | def has_hg08(): |
|
372 | def has_hg08(): | |
366 | if checks["hg09"][0](): |
|
373 | if checks["hg09"][0](): | |
367 | return True |
|
374 | return True | |
368 | return matchoutput('hg help annotate 2>&1', '--date') |
|
375 | return matchoutput('hg help annotate 2>&1', '--date') | |
369 |
|
376 | |||
370 |
|
377 | |||
371 | @check("hg07", "Mercurial >= 0.7") |
|
378 | @check("hg07", "Mercurial >= 0.7") | |
372 | def has_hg07(): |
|
379 | def has_hg07(): | |
373 | if checks["hg08"][0](): |
|
380 | if checks["hg08"][0](): | |
374 | return True |
|
381 | return True | |
375 | return matchoutput('hg --version --quiet 2>&1', 'Mercurial Distributed SCM') |
|
382 | return matchoutput('hg --version --quiet 2>&1', 'Mercurial Distributed SCM') | |
376 |
|
383 | |||
377 |
|
384 | |||
378 | @check("hg06", "Mercurial >= 0.6") |
|
385 | @check("hg06", "Mercurial >= 0.6") | |
379 | def has_hg06(): |
|
386 | def has_hg06(): | |
380 | if checks["hg07"][0](): |
|
387 | if checks["hg07"][0](): | |
381 | return True |
|
388 | return True | |
382 | return matchoutput('hg --version --quiet 2>&1', 'Mercurial version') |
|
389 | return matchoutput('hg --version --quiet 2>&1', 'Mercurial version') | |
383 |
|
390 | |||
384 |
|
391 | |||
385 | @check("gettext", "GNU Gettext (msgfmt)") |
|
392 | @check("gettext", "GNU Gettext (msgfmt)") | |
386 | def has_gettext(): |
|
393 | def has_gettext(): | |
387 | return matchoutput('msgfmt --version', br'GNU gettext-tools') |
|
394 | return matchoutput('msgfmt --version', br'GNU gettext-tools') | |
388 |
|
395 | |||
389 |
|
396 | |||
390 | @check("git", "git command line client") |
|
397 | @check("git", "git command line client") | |
391 | def has_git(): |
|
398 | def has_git(): | |
392 | return matchoutput('git --version 2>&1', br'^git version') |
|
399 | return matchoutput('git --version 2>&1', br'^git version') | |
393 |
|
400 | |||
394 |
|
401 | |||
395 | def getgitversion(): |
|
402 | def getgitversion(): | |
396 | m = matchoutput('git --version 2>&1', br'git version (\d+)\.(\d+)') |
|
403 | m = matchoutput('git --version 2>&1', br'git version (\d+)\.(\d+)') | |
397 | if not m: |
|
404 | if not m: | |
398 | return (0, 0) |
|
405 | return (0, 0) | |
399 | return (int(m.group(1)), int(m.group(2))) |
|
406 | return (int(m.group(1)), int(m.group(2))) | |
400 |
|
407 | |||
401 |
|
408 | |||
402 | @check("pygit2", "pygit2 Python library") |
|
409 | @check("pygit2", "pygit2 Python library") | |
403 | def has_git(): |
|
410 | def has_git(): | |
404 | try: |
|
411 | try: | |
405 | import pygit2 |
|
412 | import pygit2 | |
406 |
|
413 | |||
407 | pygit2.Oid # silence unused import |
|
414 | pygit2.Oid # silence unused import | |
408 | return True |
|
415 | return True | |
409 | except ImportError: |
|
416 | except ImportError: | |
410 | return False |
|
417 | return False | |
411 |
|
418 | |||
412 |
|
419 | |||
413 | # https://github.com/git-lfs/lfs-test-server |
|
420 | # https://github.com/git-lfs/lfs-test-server | |
414 | @check("lfs-test-server", "git-lfs test server") |
|
421 | @check("lfs-test-server", "git-lfs test server") | |
415 | def has_lfsserver(): |
|
422 | def has_lfsserver(): | |
416 | exe = 'lfs-test-server' |
|
423 | exe = 'lfs-test-server' | |
417 | if has_windows(): |
|
424 | if has_windows(): | |
418 | exe = 'lfs-test-server.exe' |
|
425 | exe = 'lfs-test-server.exe' | |
419 | return any( |
|
426 | return any( | |
420 | os.access(os.path.join(path, exe), os.X_OK) |
|
427 | os.access(os.path.join(path, exe), os.X_OK) | |
421 | for path in os.environ["PATH"].split(os.pathsep) |
|
428 | for path in os.environ["PATH"].split(os.pathsep) | |
422 | ) |
|
429 | ) | |
423 |
|
430 | |||
424 |
|
431 | |||
425 | @checkvers("git", "git client (with ext::sh support) version >= %s", (1.9,)) |
|
432 | @checkvers("git", "git client (with ext::sh support) version >= %s", (1.9,)) | |
426 | def has_git_range(v): |
|
433 | def has_git_range(v): | |
427 | major, minor = v.split('.')[0:2] |
|
434 | major, minor = v.split('.')[0:2] | |
428 | return getgitversion() >= (int(major), int(minor)) |
|
435 | return getgitversion() >= (int(major), int(minor)) | |
429 |
|
436 | |||
430 |
|
437 | |||
431 | @check("docutils", "Docutils text processing library") |
|
438 | @check("docutils", "Docutils text processing library") | |
432 | def has_docutils(): |
|
439 | def has_docutils(): | |
433 | try: |
|
440 | try: | |
434 | import docutils.core |
|
441 | import docutils.core | |
435 |
|
442 | |||
436 | docutils.core.publish_cmdline # silence unused import |
|
443 | docutils.core.publish_cmdline # silence unused import | |
437 | return True |
|
444 | return True | |
438 | except ImportError: |
|
445 | except ImportError: | |
439 | return False |
|
446 | return False | |
440 |
|
447 | |||
441 |
|
448 | |||
442 | def getsvnversion(): |
|
449 | def getsvnversion(): | |
443 | m = matchoutput('svn --version --quiet 2>&1', br'^(\d+)\.(\d+)') |
|
450 | m = matchoutput('svn --version --quiet 2>&1', br'^(\d+)\.(\d+)') | |
444 | if not m: |
|
451 | if not m: | |
445 | return (0, 0) |
|
452 | return (0, 0) | |
446 | return (int(m.group(1)), int(m.group(2))) |
|
453 | return (int(m.group(1)), int(m.group(2))) | |
447 |
|
454 | |||
448 |
|
455 | |||
449 | @checkvers("svn", "subversion client and admin tools >= %s", (1.3, 1.5)) |
|
456 | @checkvers("svn", "subversion client and admin tools >= %s", (1.3, 1.5)) | |
450 | def has_svn_range(v): |
|
457 | def has_svn_range(v): | |
451 | major, minor = v.split('.')[0:2] |
|
458 | major, minor = v.split('.')[0:2] | |
452 | return getsvnversion() >= (int(major), int(minor)) |
|
459 | return getsvnversion() >= (int(major), int(minor)) | |
453 |
|
460 | |||
454 |
|
461 | |||
455 | @check("svn", "subversion client and admin tools") |
|
462 | @check("svn", "subversion client and admin tools") | |
456 | def has_svn(): |
|
463 | def has_svn(): | |
457 | return matchoutput('svn --version 2>&1', br'^svn, version') and matchoutput( |
|
464 | return matchoutput('svn --version 2>&1', br'^svn, version') and matchoutput( | |
458 | 'svnadmin --version 2>&1', br'^svnadmin, version' |
|
465 | 'svnadmin --version 2>&1', br'^svnadmin, version' | |
459 | ) |
|
466 | ) | |
460 |
|
467 | |||
461 |
|
468 | |||
462 | @check("svn-bindings", "subversion python bindings") |
|
469 | @check("svn-bindings", "subversion python bindings") | |
463 | def has_svn_bindings(): |
|
470 | def has_svn_bindings(): | |
464 | try: |
|
471 | try: | |
465 | import svn.core |
|
472 | import svn.core | |
466 |
|
473 | |||
467 | version = svn.core.SVN_VER_MAJOR, svn.core.SVN_VER_MINOR |
|
474 | version = svn.core.SVN_VER_MAJOR, svn.core.SVN_VER_MINOR | |
468 | if version < (1, 4): |
|
475 | if version < (1, 4): | |
469 | return False |
|
476 | return False | |
470 | return True |
|
477 | return True | |
471 | except ImportError: |
|
478 | except ImportError: | |
472 | return False |
|
479 | return False | |
473 |
|
480 | |||
474 |
|
481 | |||
475 | @check("p4", "Perforce server and client") |
|
482 | @check("p4", "Perforce server and client") | |
476 | def has_p4(): |
|
483 | def has_p4(): | |
477 | return matchoutput('p4 -V', br'Rev\. P4/') and matchoutput( |
|
484 | return matchoutput('p4 -V', br'Rev\. P4/') and matchoutput( | |
478 | 'p4d -V', br'Rev\. P4D/' |
|
485 | 'p4d -V', br'Rev\. P4D/' | |
479 | ) |
|
486 | ) | |
480 |
|
487 | |||
481 |
|
488 | |||
482 | @check("symlink", "symbolic links") |
|
489 | @check("symlink", "symbolic links") | |
483 | def has_symlink(): |
|
490 | def has_symlink(): | |
484 | # mercurial.windows.checklink() is a hard 'no' at the moment |
|
491 | # mercurial.windows.checklink() is a hard 'no' at the moment | |
485 | if os.name == 'nt' or getattr(os, "symlink", None) is None: |
|
492 | if os.name == 'nt' or getattr(os, "symlink", None) is None: | |
486 | return False |
|
493 | return False | |
487 | name = tempfile.mktemp(dir='.', prefix=tempprefix) |
|
494 | name = tempfile.mktemp(dir='.', prefix=tempprefix) | |
488 | try: |
|
495 | try: | |
489 | os.symlink(".", name) |
|
496 | os.symlink(".", name) | |
490 | os.unlink(name) |
|
497 | os.unlink(name) | |
491 | return True |
|
498 | return True | |
492 | except (OSError, AttributeError): |
|
499 | except (OSError, AttributeError): | |
493 | return False |
|
500 | return False | |
494 |
|
501 | |||
495 |
|
502 | |||
496 | @check("hardlink", "hardlinks") |
|
503 | @check("hardlink", "hardlinks") | |
497 | def has_hardlink(): |
|
504 | def has_hardlink(): | |
498 | from mercurial import util |
|
505 | from mercurial import util | |
499 |
|
506 | |||
500 | fh, fn = tempfile.mkstemp(dir='.', prefix=tempprefix) |
|
507 | fh, fn = tempfile.mkstemp(dir='.', prefix=tempprefix) | |
501 | os.close(fh) |
|
508 | os.close(fh) | |
502 | name = tempfile.mktemp(dir='.', prefix=tempprefix) |
|
509 | name = tempfile.mktemp(dir='.', prefix=tempprefix) | |
503 | try: |
|
510 | try: | |
504 | util.oslink(_sys2bytes(fn), _sys2bytes(name)) |
|
511 | util.oslink(_sys2bytes(fn), _sys2bytes(name)) | |
505 | os.unlink(name) |
|
512 | os.unlink(name) | |
506 | return True |
|
513 | return True | |
507 | except OSError: |
|
514 | except OSError: | |
508 | return False |
|
515 | return False | |
509 | finally: |
|
516 | finally: | |
510 | os.unlink(fn) |
|
517 | os.unlink(fn) | |
511 |
|
518 | |||
512 |
|
519 | |||
513 | @check("hardlink-whitelisted", "hardlinks on whitelisted filesystems") |
|
520 | @check("hardlink-whitelisted", "hardlinks on whitelisted filesystems") | |
514 | def has_hardlink_whitelisted(): |
|
521 | def has_hardlink_whitelisted(): | |
515 | from mercurial import util |
|
522 | from mercurial import util | |
516 |
|
523 | |||
517 | try: |
|
524 | try: | |
518 | fstype = util.getfstype(b'.') |
|
525 | fstype = util.getfstype(b'.') | |
519 | except OSError: |
|
526 | except OSError: | |
520 | return False |
|
527 | return False | |
521 | return fstype in util._hardlinkfswhitelist |
|
528 | return fstype in util._hardlinkfswhitelist | |
522 |
|
529 | |||
523 |
|
530 | |||
524 | @check("rmcwd", "can remove current working directory") |
|
531 | @check("rmcwd", "can remove current working directory") | |
525 | def has_rmcwd(): |
|
532 | def has_rmcwd(): | |
526 | ocwd = os.getcwd() |
|
533 | ocwd = os.getcwd() | |
527 | temp = tempfile.mkdtemp(dir='.', prefix=tempprefix) |
|
534 | temp = tempfile.mkdtemp(dir='.', prefix=tempprefix) | |
528 | try: |
|
535 | try: | |
529 | os.chdir(temp) |
|
536 | os.chdir(temp) | |
530 | # On Linux, 'rmdir .' isn't allowed, but the other names are okay. |
|
537 | # On Linux, 'rmdir .' isn't allowed, but the other names are okay. | |
531 | # On Solaris and Windows, the cwd can't be removed by any names. |
|
538 | # On Solaris and Windows, the cwd can't be removed by any names. | |
532 | os.rmdir(os.getcwd()) |
|
539 | os.rmdir(os.getcwd()) | |
533 | return True |
|
540 | return True | |
534 | except OSError: |
|
541 | except OSError: | |
535 | return False |
|
542 | return False | |
536 | finally: |
|
543 | finally: | |
537 | os.chdir(ocwd) |
|
544 | os.chdir(ocwd) | |
538 | # clean up temp dir on platforms where cwd can't be removed |
|
545 | # clean up temp dir on platforms where cwd can't be removed | |
539 | try: |
|
546 | try: | |
540 | os.rmdir(temp) |
|
547 | os.rmdir(temp) | |
541 | except OSError: |
|
548 | except OSError: | |
542 | pass |
|
549 | pass | |
543 |
|
550 | |||
544 |
|
551 | |||
545 | @check("tla", "GNU Arch tla client") |
|
552 | @check("tla", "GNU Arch tla client") | |
546 | def has_tla(): |
|
553 | def has_tla(): | |
547 | return matchoutput('tla --version 2>&1', br'The GNU Arch Revision') |
|
554 | return matchoutput('tla --version 2>&1', br'The GNU Arch Revision') | |
548 |
|
555 | |||
549 |
|
556 | |||
550 | @check("gpg", "gpg client") |
|
557 | @check("gpg", "gpg client") | |
551 | def has_gpg(): |
|
558 | def has_gpg(): | |
552 | return matchoutput('gpg --version 2>&1', br'GnuPG') |
|
559 | return matchoutput('gpg --version 2>&1', br'GnuPG') | |
553 |
|
560 | |||
554 |
|
561 | |||
555 | @check("gpg2", "gpg client v2") |
|
562 | @check("gpg2", "gpg client v2") | |
556 | def has_gpg2(): |
|
563 | def has_gpg2(): | |
557 | return matchoutput('gpg --version 2>&1', br'GnuPG[^0-9]+2\.') |
|
564 | return matchoutput('gpg --version 2>&1', br'GnuPG[^0-9]+2\.') | |
558 |
|
565 | |||
559 |
|
566 | |||
560 | @check("gpg21", "gpg client v2.1+") |
|
567 | @check("gpg21", "gpg client v2.1+") | |
561 | def has_gpg21(): |
|
568 | def has_gpg21(): | |
562 | return matchoutput('gpg --version 2>&1', br'GnuPG[^0-9]+2\.(?!0)') |
|
569 | return matchoutput('gpg --version 2>&1', br'GnuPG[^0-9]+2\.(?!0)') | |
563 |
|
570 | |||
564 |
|
571 | |||
565 | @check("unix-permissions", "unix-style permissions") |
|
572 | @check("unix-permissions", "unix-style permissions") | |
566 | def has_unix_permissions(): |
|
573 | def has_unix_permissions(): | |
567 | d = tempfile.mkdtemp(dir='.', prefix=tempprefix) |
|
574 | d = tempfile.mkdtemp(dir='.', prefix=tempprefix) | |
568 | try: |
|
575 | try: | |
569 | fname = os.path.join(d, 'foo') |
|
576 | fname = os.path.join(d, 'foo') | |
570 | for umask in (0o77, 0o07, 0o22): |
|
577 | for umask in (0o77, 0o07, 0o22): | |
571 | os.umask(umask) |
|
578 | os.umask(umask) | |
572 | f = open(fname, 'w') |
|
579 | f = open(fname, 'w') | |
573 | f.close() |
|
580 | f.close() | |
574 | mode = os.stat(fname).st_mode |
|
581 | mode = os.stat(fname).st_mode | |
575 | os.unlink(fname) |
|
582 | os.unlink(fname) | |
576 | if mode & 0o777 != ~umask & 0o666: |
|
583 | if mode & 0o777 != ~umask & 0o666: | |
577 | return False |
|
584 | return False | |
578 | return True |
|
585 | return True | |
579 | finally: |
|
586 | finally: | |
580 | os.rmdir(d) |
|
587 | os.rmdir(d) | |
581 |
|
588 | |||
582 |
|
589 | |||
583 | @check("unix-socket", "AF_UNIX socket family") |
|
590 | @check("unix-socket", "AF_UNIX socket family") | |
584 | def has_unix_socket(): |
|
591 | def has_unix_socket(): | |
585 | return getattr(socket, 'AF_UNIX', None) is not None |
|
592 | return getattr(socket, 'AF_UNIX', None) is not None | |
586 |
|
593 | |||
587 |
|
594 | |||
588 | @check("root", "root permissions") |
|
595 | @check("root", "root permissions") | |
589 | def has_root(): |
|
596 | def has_root(): | |
590 | return getattr(os, 'geteuid', None) and os.geteuid() == 0 |
|
597 | return getattr(os, 'geteuid', None) and os.geteuid() == 0 | |
591 |
|
598 | |||
592 |
|
599 | |||
593 | @check("pyflakes", "Pyflakes python linter") |
|
600 | @check("pyflakes", "Pyflakes python linter") | |
594 | def has_pyflakes(): |
|
601 | def has_pyflakes(): | |
595 | try: |
|
602 | try: | |
596 | import pyflakes |
|
603 | import pyflakes | |
597 |
|
604 | |||
598 | pyflakes.__version__ |
|
605 | pyflakes.__version__ | |
599 | except ImportError: |
|
606 | except ImportError: | |
600 | return False |
|
607 | return False | |
601 | else: |
|
608 | else: | |
602 | return True |
|
609 | return True | |
603 |
|
610 | |||
604 |
|
611 | |||
605 | @check("pylint", "Pylint python linter") |
|
612 | @check("pylint", "Pylint python linter") | |
606 | def has_pylint(): |
|
613 | def has_pylint(): | |
607 | return matchoutput("pylint --help", br"Usage:[ ]+pylint", True) |
|
614 | return matchoutput("pylint --help", br"Usage:[ ]+pylint", True) | |
608 |
|
615 | |||
609 |
|
616 | |||
610 | @check("clang-format", "clang-format C code formatter (>= 11)") |
|
617 | @check("clang-format", "clang-format C code formatter (>= 11)") | |
611 | def has_clang_format(): |
|
618 | def has_clang_format(): | |
612 | m = matchoutput('clang-format --version', br'clang-format version (\d+)') |
|
619 | m = matchoutput('clang-format --version', br'clang-format version (\d+)') | |
613 | # style changed somewhere between 10.x and 11.x |
|
620 | # style changed somewhere between 10.x and 11.x | |
614 | if m: |
|
621 | if m: | |
615 | return int(m.group(1)) >= 11 |
|
622 | return int(m.group(1)) >= 11 | |
616 | # Assist Googler contributors, they have a centrally-maintained version of |
|
623 | # Assist Googler contributors, they have a centrally-maintained version of | |
617 | # clang-format that is generally very fresh, but unlike most builds (both |
|
624 | # clang-format that is generally very fresh, but unlike most builds (both | |
618 | # official and unofficial), it does *not* include a version number. |
|
625 | # official and unofficial), it does *not* include a version number. | |
619 | return matchoutput( |
|
626 | return matchoutput( | |
620 | 'clang-format --version', br'clang-format .*google3-trunk \([0-9a-f]+\)' |
|
627 | 'clang-format --version', br'clang-format .*google3-trunk \([0-9a-f]+\)' | |
621 | ) |
|
628 | ) | |
622 |
|
629 | |||
623 |
|
630 | |||
624 | @check("jshint", "JSHint static code analysis tool") |
|
631 | @check("jshint", "JSHint static code analysis tool") | |
625 | def has_jshint(): |
|
632 | def has_jshint(): | |
626 | return matchoutput("jshint --version 2>&1", br"jshint v") |
|
633 | return matchoutput("jshint --version 2>&1", br"jshint v") | |
627 |
|
634 | |||
628 |
|
635 | |||
629 | @check("pygments", "Pygments source highlighting library") |
|
636 | @check("pygments", "Pygments source highlighting library") | |
630 | def has_pygments(): |
|
637 | def has_pygments(): | |
631 | try: |
|
638 | try: | |
632 | import pygments |
|
639 | import pygments | |
633 |
|
640 | |||
634 | pygments.highlight # silence unused import warning |
|
641 | pygments.highlight # silence unused import warning | |
635 | return True |
|
642 | return True | |
636 | except ImportError: |
|
643 | except ImportError: | |
637 | return False |
|
644 | return False | |
638 |
|
645 | |||
639 |
|
646 | |||
640 | @check("pygments25", "Pygments version >= 2.5") |
|
647 | @check("pygments25", "Pygments version >= 2.5") | |
641 | def pygments25(): |
|
648 | def pygments25(): | |
642 | try: |
|
649 | try: | |
643 | import pygments |
|
650 | import pygments | |
644 |
|
651 | |||
645 | v = pygments.__version__ |
|
652 | v = pygments.__version__ | |
646 | except ImportError: |
|
653 | except ImportError: | |
647 | return False |
|
654 | return False | |
648 |
|
655 | |||
649 | parts = v.split(".") |
|
656 | parts = v.split(".") | |
650 | major = int(parts[0]) |
|
657 | major = int(parts[0]) | |
651 | minor = int(parts[1]) |
|
658 | minor = int(parts[1]) | |
652 |
|
659 | |||
653 | return (major, minor) >= (2, 5) |
|
660 | return (major, minor) >= (2, 5) | |
654 |
|
661 | |||
655 |
|
662 | |||
656 | @check("outer-repo", "outer repo") |
|
663 | @check("outer-repo", "outer repo") | |
657 | def has_outer_repo(): |
|
664 | def has_outer_repo(): | |
658 | # failing for other reasons than 'no repo' imply that there is a repo |
|
665 | # failing for other reasons than 'no repo' imply that there is a repo | |
659 | return not matchoutput('hg root 2>&1', br'abort: no repository found', True) |
|
666 | return not matchoutput('hg root 2>&1', br'abort: no repository found', True) | |
660 |
|
667 | |||
661 |
|
668 | |||
662 | @check("ssl", "ssl module available") |
|
669 | @check("ssl", "ssl module available") | |
663 | def has_ssl(): |
|
670 | def has_ssl(): | |
664 | try: |
|
671 | try: | |
665 | import ssl |
|
672 | import ssl | |
666 |
|
673 | |||
667 | ssl.CERT_NONE |
|
674 | ssl.CERT_NONE | |
668 | return True |
|
675 | return True | |
669 | except ImportError: |
|
676 | except ImportError: | |
670 | return False |
|
677 | return False | |
671 |
|
678 | |||
672 |
|
679 | |||
673 | @check("defaultcacertsloaded", "detected presence of loaded system CA certs") |
|
680 | @check("defaultcacertsloaded", "detected presence of loaded system CA certs") | |
674 | def has_defaultcacertsloaded(): |
|
681 | def has_defaultcacertsloaded(): | |
675 | import ssl |
|
682 | import ssl | |
676 | from mercurial import sslutil, ui as uimod |
|
683 | from mercurial import sslutil, ui as uimod | |
677 |
|
684 | |||
678 | ui = uimod.ui.load() |
|
685 | ui = uimod.ui.load() | |
679 | cafile = sslutil._defaultcacerts(ui) |
|
686 | cafile = sslutil._defaultcacerts(ui) | |
680 | ctx = ssl.create_default_context() |
|
687 | ctx = ssl.create_default_context() | |
681 | if cafile: |
|
688 | if cafile: | |
682 | ctx.load_verify_locations(cafile=cafile) |
|
689 | ctx.load_verify_locations(cafile=cafile) | |
683 | else: |
|
690 | else: | |
684 | ctx.load_default_certs() |
|
691 | ctx.load_default_certs() | |
685 |
|
692 | |||
686 | return len(ctx.get_ca_certs()) > 0 |
|
693 | return len(ctx.get_ca_certs()) > 0 | |
687 |
|
694 | |||
688 |
|
695 | |||
689 | @check("tls1.2", "TLS 1.2 protocol support") |
|
696 | @check("tls1.2", "TLS 1.2 protocol support") | |
690 | def has_tls1_2(): |
|
697 | def has_tls1_2(): | |
691 | from mercurial import sslutil |
|
698 | from mercurial import sslutil | |
692 |
|
699 | |||
693 | return b'tls1.2' in sslutil.supportedprotocols |
|
700 | return b'tls1.2' in sslutil.supportedprotocols | |
694 |
|
701 | |||
695 |
|
702 | |||
696 | @check("windows", "Windows") |
|
703 | @check("windows", "Windows") | |
697 | def has_windows(): |
|
704 | def has_windows(): | |
698 | return os.name == 'nt' |
|
705 | return os.name == 'nt' | |
699 |
|
706 | |||
700 |
|
707 | |||
701 | @check("system-sh", "system() uses sh") |
|
708 | @check("system-sh", "system() uses sh") | |
702 | def has_system_sh(): |
|
709 | def has_system_sh(): | |
703 | return os.name != 'nt' |
|
710 | return os.name != 'nt' | |
704 |
|
711 | |||
705 |
|
712 | |||
706 | @check("serve", "platform and python can manage 'hg serve -d'") |
|
713 | @check("serve", "platform and python can manage 'hg serve -d'") | |
707 | def has_serve(): |
|
714 | def has_serve(): | |
708 | return True |
|
715 | return True | |
709 |
|
716 | |||
710 |
|
717 | |||
711 | @check("setprocname", "whether osutil.setprocname is available or not") |
|
718 | @check("setprocname", "whether osutil.setprocname is available or not") | |
712 | def has_setprocname(): |
|
719 | def has_setprocname(): | |
713 | try: |
|
720 | try: | |
714 | from mercurial.utils import procutil |
|
721 | from mercurial.utils import procutil | |
715 |
|
722 | |||
716 | procutil.setprocname |
|
723 | procutil.setprocname | |
717 | return True |
|
724 | return True | |
718 | except AttributeError: |
|
725 | except AttributeError: | |
719 | return False |
|
726 | return False | |
720 |
|
727 | |||
721 |
|
728 | |||
722 | @check("test-repo", "running tests from repository") |
|
729 | @check("test-repo", "running tests from repository") | |
723 | def has_test_repo(): |
|
730 | def has_test_repo(): | |
724 | t = os.environ["TESTDIR"] |
|
731 | t = os.environ["TESTDIR"] | |
725 | return os.path.isdir(os.path.join(t, "..", ".hg")) |
|
732 | return os.path.isdir(os.path.join(t, "..", ".hg")) | |
726 |
|
733 | |||
727 |
|
734 | |||
728 | @check("network-io", "whether tests are allowed to access 3rd party services") |
|
735 | @check("network-io", "whether tests are allowed to access 3rd party services") | |
729 | def has_test_repo(): |
|
736 | def has_test_repo(): | |
730 | t = os.environ.get("HGTESTS_ALLOW_NETIO") |
|
737 | t = os.environ.get("HGTESTS_ALLOW_NETIO") | |
731 | return t == "1" |
|
738 | return t == "1" | |
732 |
|
739 | |||
733 |
|
740 | |||
734 | @check("curses", "terminfo compiler and curses module") |
|
741 | @check("curses", "terminfo compiler and curses module") | |
735 | def has_curses(): |
|
742 | def has_curses(): | |
736 | try: |
|
743 | try: | |
737 | import curses |
|
744 | import curses | |
738 |
|
745 | |||
739 | curses.COLOR_BLUE |
|
746 | curses.COLOR_BLUE | |
740 |
|
747 | |||
741 | # Windows doesn't have a `tic` executable, but the windows_curses |
|
748 | # Windows doesn't have a `tic` executable, but the windows_curses | |
742 | # package is sufficient to run the tests without it. |
|
749 | # package is sufficient to run the tests without it. | |
743 | if os.name == 'nt': |
|
750 | if os.name == 'nt': | |
744 | return True |
|
751 | return True | |
745 |
|
752 | |||
746 | return has_tic() |
|
753 | return has_tic() | |
747 |
|
754 | |||
748 | except (ImportError, AttributeError): |
|
755 | except (ImportError, AttributeError): | |
749 | return False |
|
756 | return False | |
750 |
|
757 | |||
751 |
|
758 | |||
752 | @check("tic", "terminfo compiler") |
|
759 | @check("tic", "terminfo compiler") | |
753 | def has_tic(): |
|
760 | def has_tic(): | |
754 | return matchoutput('test -x "`which tic`"', br'') |
|
761 | return matchoutput('test -x "`which tic`"', br'') | |
755 |
|
762 | |||
756 |
|
763 | |||
757 | @check("xz", "xz compression utility") |
|
764 | @check("xz", "xz compression utility") | |
758 | def has_xz(): |
|
765 | def has_xz(): | |
759 | # When Windows invokes a subprocess in shell mode, it uses `cmd.exe`, which |
|
766 | # When Windows invokes a subprocess in shell mode, it uses `cmd.exe`, which | |
760 | # only knows `where`, not `which`. So invoke MSYS shell explicitly. |
|
767 | # only knows `where`, not `which`. So invoke MSYS shell explicitly. | |
761 | return matchoutput("sh -c 'test -x \"`which xz`\"'", b'') |
|
768 | return matchoutput("sh -c 'test -x \"`which xz`\"'", b'') | |
762 |
|
769 | |||
763 |
|
770 | |||
764 | @check("msys", "Windows with MSYS") |
|
771 | @check("msys", "Windows with MSYS") | |
765 | def has_msys(): |
|
772 | def has_msys(): | |
766 | return os.getenv('MSYSTEM') |
|
773 | return os.getenv('MSYSTEM') | |
767 |
|
774 | |||
768 |
|
775 | |||
769 | @check("aix", "AIX") |
|
776 | @check("aix", "AIX") | |
770 | def has_aix(): |
|
777 | def has_aix(): | |
771 | return sys.platform.startswith("aix") |
|
778 | return sys.platform.startswith("aix") | |
772 |
|
779 | |||
773 |
|
780 | |||
774 | @check("osx", "OS X") |
|
781 | @check("osx", "OS X") | |
775 | def has_osx(): |
|
782 | def has_osx(): | |
776 | return sys.platform == 'darwin' |
|
783 | return sys.platform == 'darwin' | |
777 |
|
784 | |||
778 |
|
785 | |||
779 | @check("osxpackaging", "OS X packaging tools") |
|
786 | @check("osxpackaging", "OS X packaging tools") | |
780 | def has_osxpackaging(): |
|
787 | def has_osxpackaging(): | |
781 | try: |
|
788 | try: | |
782 | return ( |
|
789 | return ( | |
783 | matchoutput('pkgbuild', br'Usage: pkgbuild ', ignorestatus=1) |
|
790 | matchoutput('pkgbuild', br'Usage: pkgbuild ', ignorestatus=1) | |
784 | and matchoutput( |
|
791 | and matchoutput( | |
785 | 'productbuild', br'Usage: productbuild ', ignorestatus=1 |
|
792 | 'productbuild', br'Usage: productbuild ', ignorestatus=1 | |
786 | ) |
|
793 | ) | |
787 | and matchoutput('lsbom', br'Usage: lsbom', ignorestatus=1) |
|
794 | and matchoutput('lsbom', br'Usage: lsbom', ignorestatus=1) | |
788 | and matchoutput('xar --help', br'Usage: xar', ignorestatus=1) |
|
795 | and matchoutput('xar --help', br'Usage: xar', ignorestatus=1) | |
789 | ) |
|
796 | ) | |
790 | except ImportError: |
|
797 | except ImportError: | |
791 | return False |
|
798 | return False | |
792 |
|
799 | |||
793 |
|
800 | |||
794 | @check('linuxormacos', 'Linux or MacOS') |
|
801 | @check('linuxormacos', 'Linux or MacOS') | |
795 | def has_linuxormacos(): |
|
802 | def has_linuxormacos(): | |
796 | # This isn't a perfect test for MacOS. But it is sufficient for our needs. |
|
803 | # This isn't a perfect test for MacOS. But it is sufficient for our needs. | |
797 | return sys.platform.startswith(('linux', 'darwin')) |
|
804 | return sys.platform.startswith(('linux', 'darwin')) | |
798 |
|
805 | |||
799 |
|
806 | |||
800 | @check("docker", "docker support") |
|
807 | @check("docker", "docker support") | |
801 | def has_docker(): |
|
808 | def has_docker(): | |
802 | pat = br'A self-sufficient runtime for' |
|
809 | pat = br'A self-sufficient runtime for' | |
803 | if matchoutput('docker --help', pat): |
|
810 | if matchoutput('docker --help', pat): | |
804 | if 'linux' not in sys.platform: |
|
811 | if 'linux' not in sys.platform: | |
805 | # TODO: in theory we should be able to test docker-based |
|
812 | # TODO: in theory we should be able to test docker-based | |
806 | # package creation on non-linux using boot2docker, but in |
|
813 | # package creation on non-linux using boot2docker, but in | |
807 | # practice that requires extra coordination to make sure |
|
814 | # practice that requires extra coordination to make sure | |
808 | # $TESTTEMP is going to be visible at the same path to the |
|
815 | # $TESTTEMP is going to be visible at the same path to the | |
809 | # boot2docker VM. If we figure out how to verify that, we |
|
816 | # boot2docker VM. If we figure out how to verify that, we | |
810 | # can use the following instead of just saying False: |
|
817 | # can use the following instead of just saying False: | |
811 | # return 'DOCKER_HOST' in os.environ |
|
818 | # return 'DOCKER_HOST' in os.environ | |
812 | return False |
|
819 | return False | |
813 |
|
820 | |||
814 | return True |
|
821 | return True | |
815 | return False |
|
822 | return False | |
816 |
|
823 | |||
817 |
|
824 | |||
818 | @check("debhelper", "debian packaging tools") |
|
825 | @check("debhelper", "debian packaging tools") | |
819 | def has_debhelper(): |
|
826 | def has_debhelper(): | |
820 | # Some versions of dpkg say `dpkg', some say 'dpkg' (` vs ' on the first |
|
827 | # Some versions of dpkg say `dpkg', some say 'dpkg' (` vs ' on the first | |
821 | # quote), so just accept anything in that spot. |
|
828 | # quote), so just accept anything in that spot. | |
822 | dpkg = matchoutput( |
|
829 | dpkg = matchoutput( | |
823 | 'dpkg --version', br"Debian .dpkg' package management program" |
|
830 | 'dpkg --version', br"Debian .dpkg' package management program" | |
824 | ) |
|
831 | ) | |
825 | dh = matchoutput( |
|
832 | dh = matchoutput( | |
826 | 'dh --help', br'dh is a part of debhelper.', ignorestatus=True |
|
833 | 'dh --help', br'dh is a part of debhelper.', ignorestatus=True | |
827 | ) |
|
834 | ) | |
828 | dh_py2 = matchoutput( |
|
835 | dh_py2 = matchoutput( | |
829 | 'dh_python2 --help', br'other supported Python versions' |
|
836 | 'dh_python2 --help', br'other supported Python versions' | |
830 | ) |
|
837 | ) | |
831 | # debuild comes from the 'devscripts' package, though you might want |
|
838 | # debuild comes from the 'devscripts' package, though you might want | |
832 | # the 'build-debs' package instead, which has a dependency on devscripts. |
|
839 | # the 'build-debs' package instead, which has a dependency on devscripts. | |
833 | debuild = matchoutput( |
|
840 | debuild = matchoutput( | |
834 | 'debuild --help', br'to run debian/rules with given parameter' |
|
841 | 'debuild --help', br'to run debian/rules with given parameter' | |
835 | ) |
|
842 | ) | |
836 | return dpkg and dh and dh_py2 and debuild |
|
843 | return dpkg and dh and dh_py2 and debuild | |
837 |
|
844 | |||
838 |
|
845 | |||
839 | @check( |
|
846 | @check( | |
840 | "debdeps", "debian build dependencies (run dpkg-checkbuilddeps in contrib/)" |
|
847 | "debdeps", "debian build dependencies (run dpkg-checkbuilddeps in contrib/)" | |
841 | ) |
|
848 | ) | |
842 | def has_debdeps(): |
|
849 | def has_debdeps(): | |
843 | # just check exit status (ignoring output) |
|
850 | # just check exit status (ignoring output) | |
844 | path = '%s/../contrib/packaging/debian/control' % os.environ['TESTDIR'] |
|
851 | path = '%s/../contrib/packaging/debian/control' % os.environ['TESTDIR'] | |
845 | return matchoutput('dpkg-checkbuilddeps %s' % path, br'') |
|
852 | return matchoutput('dpkg-checkbuilddeps %s' % path, br'') | |
846 |
|
853 | |||
847 |
|
854 | |||
848 | @check("demandimport", "demandimport enabled") |
|
855 | @check("demandimport", "demandimport enabled") | |
849 | def has_demandimport(): |
|
856 | def has_demandimport(): | |
850 | # chg disables demandimport intentionally for performance wins. |
|
857 | # chg disables demandimport intentionally for performance wins. | |
851 | return (not has_chg()) and os.environ.get('HGDEMANDIMPORT') != 'disable' |
|
858 | return (not has_chg()) and os.environ.get('HGDEMANDIMPORT') != 'disable' | |
852 |
|
859 | |||
853 |
|
860 | |||
854 | # Add "py27", "py35", ... as possible feature checks. Note that there's no |
|
861 | # Add "py27", "py35", ... as possible feature checks. Note that there's no | |
855 | # punctuation here. |
|
862 | # punctuation here. | |
856 | @checkvers("py", "Python >= %s", (2.7, 3.5, 3.6, 3.7, 3.8, 3.9)) |
|
863 | @checkvers("py", "Python >= %s", (2.7, 3.5, 3.6, 3.7, 3.8, 3.9)) | |
857 | def has_python_range(v): |
|
864 | def has_python_range(v): | |
858 | major, minor = v.split('.')[0:2] |
|
865 | major, minor = v.split('.')[0:2] | |
859 | py_major, py_minor = sys.version_info.major, sys.version_info.minor |
|
866 | py_major, py_minor = sys.version_info.major, sys.version_info.minor | |
860 |
|
867 | |||
861 | return (py_major, py_minor) >= (int(major), int(minor)) |
|
868 | return (py_major, py_minor) >= (int(major), int(minor)) | |
862 |
|
869 | |||
863 |
|
870 | |||
864 | @check("py3", "running with Python 3.x") |
|
871 | @check("py3", "running with Python 3.x") | |
865 | def has_py3(): |
|
872 | def has_py3(): | |
866 | return 3 == sys.version_info[0] |
|
873 | return 3 == sys.version_info[0] | |
867 |
|
874 | |||
868 |
|
875 | |||
869 | @check("py3exe", "a Python 3.x interpreter is available") |
|
876 | @check("py3exe", "a Python 3.x interpreter is available") | |
870 | def has_python3exe(): |
|
877 | def has_python3exe(): | |
871 | py = 'python3' |
|
878 | py = 'python3' | |
872 | if os.name == 'nt': |
|
879 | if os.name == 'nt': | |
873 | py = 'py -3' |
|
880 | py = 'py -3' | |
874 | return matchoutput('%s -V' % py, br'^Python 3.(5|6|7|8|9)') |
|
881 | return matchoutput('%s -V' % py, br'^Python 3.(5|6|7|8|9)') | |
875 |
|
882 | |||
876 |
|
883 | |||
877 | @check("pure", "running with pure Python code") |
|
884 | @check("pure", "running with pure Python code") | |
878 | def has_pure(): |
|
885 | def has_pure(): | |
879 | return any( |
|
886 | return any( | |
880 | [ |
|
887 | [ | |
881 | os.environ.get("HGMODULEPOLICY") == "py", |
|
888 | os.environ.get("HGMODULEPOLICY") == "py", | |
882 | os.environ.get("HGTEST_RUN_TESTS_PURE") == "--pure", |
|
889 | os.environ.get("HGTEST_RUN_TESTS_PURE") == "--pure", | |
883 | ] |
|
890 | ] | |
884 | ) |
|
891 | ) | |
885 |
|
892 | |||
886 |
|
893 | |||
887 | @check("slow", "allow slow tests (use --allow-slow-tests)") |
|
894 | @check("slow", "allow slow tests (use --allow-slow-tests)") | |
888 | def has_slow(): |
|
895 | def has_slow(): | |
889 | return os.environ.get('HGTEST_SLOW') == 'slow' |
|
896 | return os.environ.get('HGTEST_SLOW') == 'slow' | |
890 |
|
897 | |||
891 |
|
898 | |||
892 | @check("hypothesis", "Hypothesis automated test generation") |
|
899 | @check("hypothesis", "Hypothesis automated test generation") | |
893 | def has_hypothesis(): |
|
900 | def has_hypothesis(): | |
894 | try: |
|
901 | try: | |
895 | import hypothesis |
|
902 | import hypothesis | |
896 |
|
903 | |||
897 | hypothesis.given |
|
904 | hypothesis.given | |
898 | return True |
|
905 | return True | |
899 | except ImportError: |
|
906 | except ImportError: | |
900 | return False |
|
907 | return False | |
901 |
|
908 | |||
902 |
|
909 | |||
903 | @check("unziplinks", "unzip(1) understands and extracts symlinks") |
|
910 | @check("unziplinks", "unzip(1) understands and extracts symlinks") | |
904 | def unzip_understands_symlinks(): |
|
911 | def unzip_understands_symlinks(): | |
905 | return matchoutput('unzip --help', br'Info-ZIP') |
|
912 | return matchoutput('unzip --help', br'Info-ZIP') | |
906 |
|
913 | |||
907 |
|
914 | |||
908 | @check("zstd", "zstd Python module available") |
|
915 | @check("zstd", "zstd Python module available") | |
909 | def has_zstd(): |
|
916 | def has_zstd(): | |
910 | try: |
|
917 | try: | |
911 | import mercurial.zstd |
|
918 | import mercurial.zstd | |
912 |
|
919 | |||
913 | mercurial.zstd.__version__ |
|
920 | mercurial.zstd.__version__ | |
914 | return True |
|
921 | return True | |
915 | except ImportError: |
|
922 | except ImportError: | |
916 | return False |
|
923 | return False | |
917 |
|
924 | |||
918 |
|
925 | |||
919 | @check("devfull", "/dev/full special file") |
|
926 | @check("devfull", "/dev/full special file") | |
920 | def has_dev_full(): |
|
927 | def has_dev_full(): | |
921 | return os.path.exists('/dev/full') |
|
928 | return os.path.exists('/dev/full') | |
922 |
|
929 | |||
923 |
|
930 | |||
924 | @check("ensurepip", "ensurepip module") |
|
931 | @check("ensurepip", "ensurepip module") | |
925 | def has_ensurepip(): |
|
932 | def has_ensurepip(): | |
926 | try: |
|
933 | try: | |
927 | import ensurepip |
|
934 | import ensurepip | |
928 |
|
935 | |||
929 | ensurepip.bootstrap |
|
936 | ensurepip.bootstrap | |
930 | return True |
|
937 | return True | |
931 | except ImportError: |
|
938 | except ImportError: | |
932 | return False |
|
939 | return False | |
933 |
|
940 | |||
934 |
|
941 | |||
935 | @check("virtualenv", "virtualenv support") |
|
942 | @check("virtualenv", "virtualenv support") | |
936 | def has_virtualenv(): |
|
943 | def has_virtualenv(): | |
937 | try: |
|
944 | try: | |
938 | import virtualenv |
|
945 | import virtualenv | |
939 |
|
946 | |||
940 | # --no-site-package became the default in 1.7 (Nov 2011), and the |
|
947 | # --no-site-package became the default in 1.7 (Nov 2011), and the | |
941 | # argument was removed in 20.0 (Feb 2020). Rather than make the |
|
948 | # argument was removed in 20.0 (Feb 2020). Rather than make the | |
942 | # script complicated, just ignore ancient versions. |
|
949 | # script complicated, just ignore ancient versions. | |
943 | return int(virtualenv.__version__.split('.')[0]) > 1 |
|
950 | return int(virtualenv.__version__.split('.')[0]) > 1 | |
944 | except (AttributeError, ImportError, IndexError): |
|
951 | except (AttributeError, ImportError, IndexError): | |
945 | return False |
|
952 | return False | |
946 |
|
953 | |||
947 |
|
954 | |||
948 | @check("fsmonitor", "running tests with fsmonitor") |
|
955 | @check("fsmonitor", "running tests with fsmonitor") | |
949 | def has_fsmonitor(): |
|
956 | def has_fsmonitor(): | |
950 | return 'HGFSMONITOR_TESTS' in os.environ |
|
957 | return 'HGFSMONITOR_TESTS' in os.environ | |
951 |
|
958 | |||
952 |
|
959 | |||
953 | @check("fuzzywuzzy", "Fuzzy string matching library") |
|
960 | @check("fuzzywuzzy", "Fuzzy string matching library") | |
954 | def has_fuzzywuzzy(): |
|
961 | def has_fuzzywuzzy(): | |
955 | try: |
|
962 | try: | |
956 | import fuzzywuzzy |
|
963 | import fuzzywuzzy | |
957 |
|
964 | |||
958 | fuzzywuzzy.__version__ |
|
965 | fuzzywuzzy.__version__ | |
959 | return True |
|
966 | return True | |
960 | except ImportError: |
|
967 | except ImportError: | |
961 | return False |
|
968 | return False | |
962 |
|
969 | |||
963 |
|
970 | |||
964 | @check("clang-libfuzzer", "clang new enough to include libfuzzer") |
|
971 | @check("clang-libfuzzer", "clang new enough to include libfuzzer") | |
965 | def has_clang_libfuzzer(): |
|
972 | def has_clang_libfuzzer(): | |
966 | mat = matchoutput('clang --version', br'clang version (\d)') |
|
973 | mat = matchoutput('clang --version', br'clang version (\d)') | |
967 | if mat: |
|
974 | if mat: | |
968 | # libfuzzer is new in clang 6 |
|
975 | # libfuzzer is new in clang 6 | |
969 | return int(mat.group(1)) > 5 |
|
976 | return int(mat.group(1)) > 5 | |
970 | return False |
|
977 | return False | |
971 |
|
978 | |||
972 |
|
979 | |||
973 | @check("clang-6.0", "clang 6.0 with version suffix (libfuzzer included)") |
|
980 | @check("clang-6.0", "clang 6.0 with version suffix (libfuzzer included)") | |
974 | def has_clang60(): |
|
981 | def has_clang60(): | |
975 | return matchoutput('clang-6.0 --version', br'clang version 6\.') |
|
982 | return matchoutput('clang-6.0 --version', br'clang version 6\.') | |
976 |
|
983 | |||
977 |
|
984 | |||
978 | @check("xdiff", "xdiff algorithm") |
|
985 | @check("xdiff", "xdiff algorithm") | |
979 | def has_xdiff(): |
|
986 | def has_xdiff(): | |
980 | try: |
|
987 | try: | |
981 | from mercurial import policy |
|
988 | from mercurial import policy | |
982 |
|
989 | |||
983 | bdiff = policy.importmod('bdiff') |
|
990 | bdiff = policy.importmod('bdiff') | |
984 | return bdiff.xdiffblocks(b'', b'') == [(0, 0, 0, 0)] |
|
991 | return bdiff.xdiffblocks(b'', b'') == [(0, 0, 0, 0)] | |
985 | except (ImportError, AttributeError): |
|
992 | except (ImportError, AttributeError): | |
986 | return False |
|
993 | return False | |
987 |
|
994 | |||
988 |
|
995 | |||
989 | @check('extraextensions', 'whether tests are running with extra extensions') |
|
996 | @check('extraextensions', 'whether tests are running with extra extensions') | |
990 | def has_extraextensions(): |
|
997 | def has_extraextensions(): | |
991 | return 'HGTESTEXTRAEXTENSIONS' in os.environ |
|
998 | return 'HGTESTEXTRAEXTENSIONS' in os.environ | |
992 |
|
999 | |||
993 |
|
1000 | |||
994 | def getrepofeatures(): |
|
1001 | def getrepofeatures(): | |
995 | """Obtain set of repository features in use. |
|
1002 | """Obtain set of repository features in use. | |
996 |
|
1003 | |||
997 | HGREPOFEATURES can be used to define or remove features. It contains |
|
1004 | HGREPOFEATURES can be used to define or remove features. It contains | |
998 | a space-delimited list of feature strings. Strings beginning with ``-`` |
|
1005 | a space-delimited list of feature strings. Strings beginning with ``-`` | |
999 | mean to remove. |
|
1006 | mean to remove. | |
1000 | """ |
|
1007 | """ | |
1001 | # Default list provided by core. |
|
1008 | # Default list provided by core. | |
1002 | features = { |
|
1009 | features = { | |
1003 | 'bundlerepo', |
|
1010 | 'bundlerepo', | |
1004 | 'revlogstore', |
|
1011 | 'revlogstore', | |
1005 | 'fncache', |
|
1012 | 'fncache', | |
1006 | } |
|
1013 | } | |
1007 |
|
1014 | |||
1008 | # Features that imply other features. |
|
1015 | # Features that imply other features. | |
1009 | implies = { |
|
1016 | implies = { | |
1010 | 'simplestore': ['-revlogstore', '-bundlerepo', '-fncache'], |
|
1017 | 'simplestore': ['-revlogstore', '-bundlerepo', '-fncache'], | |
1011 | } |
|
1018 | } | |
1012 |
|
1019 | |||
1013 | for override in os.environ.get('HGREPOFEATURES', '').split(' '): |
|
1020 | for override in os.environ.get('HGREPOFEATURES', '').split(' '): | |
1014 | if not override: |
|
1021 | if not override: | |
1015 | continue |
|
1022 | continue | |
1016 |
|
1023 | |||
1017 | if override.startswith('-'): |
|
1024 | if override.startswith('-'): | |
1018 | if override[1:] in features: |
|
1025 | if override[1:] in features: | |
1019 | features.remove(override[1:]) |
|
1026 | features.remove(override[1:]) | |
1020 | else: |
|
1027 | else: | |
1021 | features.add(override) |
|
1028 | features.add(override) | |
1022 |
|
1029 | |||
1023 | for imply in implies.get(override, []): |
|
1030 | for imply in implies.get(override, []): | |
1024 | if imply.startswith('-'): |
|
1031 | if imply.startswith('-'): | |
1025 | if imply[1:] in features: |
|
1032 | if imply[1:] in features: | |
1026 | features.remove(imply[1:]) |
|
1033 | features.remove(imply[1:]) | |
1027 | else: |
|
1034 | else: | |
1028 | features.add(imply) |
|
1035 | features.add(imply) | |
1029 |
|
1036 | |||
1030 | return features |
|
1037 | return features | |
1031 |
|
1038 | |||
1032 |
|
1039 | |||
1033 | @check('reporevlogstore', 'repository using the default revlog store') |
|
1040 | @check('reporevlogstore', 'repository using the default revlog store') | |
1034 | def has_reporevlogstore(): |
|
1041 | def has_reporevlogstore(): | |
1035 | return 'revlogstore' in getrepofeatures() |
|
1042 | return 'revlogstore' in getrepofeatures() | |
1036 |
|
1043 | |||
1037 |
|
1044 | |||
1038 | @check('reposimplestore', 'repository using simple storage extension') |
|
1045 | @check('reposimplestore', 'repository using simple storage extension') | |
1039 | def has_reposimplestore(): |
|
1046 | def has_reposimplestore(): | |
1040 | return 'simplestore' in getrepofeatures() |
|
1047 | return 'simplestore' in getrepofeatures() | |
1041 |
|
1048 | |||
1042 |
|
1049 | |||
1043 | @check('repobundlerepo', 'whether we can open bundle files as repos') |
|
1050 | @check('repobundlerepo', 'whether we can open bundle files as repos') | |
1044 | def has_repobundlerepo(): |
|
1051 | def has_repobundlerepo(): | |
1045 | return 'bundlerepo' in getrepofeatures() |
|
1052 | return 'bundlerepo' in getrepofeatures() | |
1046 |
|
1053 | |||
1047 |
|
1054 | |||
1048 | @check('repofncache', 'repository has an fncache') |
|
1055 | @check('repofncache', 'repository has an fncache') | |
1049 | def has_repofncache(): |
|
1056 | def has_repofncache(): | |
1050 | return 'fncache' in getrepofeatures() |
|
1057 | return 'fncache' in getrepofeatures() | |
1051 |
|
1058 | |||
1052 |
|
1059 | |||
1053 | @check('dirstate-v2', 'using the v2 format of .hg/dirstate') |
|
1060 | @check('dirstate-v2', 'using the v2 format of .hg/dirstate') | |
1054 | def has_dirstate_v2(): |
|
1061 | def has_dirstate_v2(): | |
1055 | # Keep this logic in sync with `newreporequirements()` in `mercurial/localrepo.py` |
|
1062 | # Keep this logic in sync with `newreporequirements()` in `mercurial/localrepo.py` | |
1056 | return has_rust() and matchoutput( |
|
1063 | return has_rust() and matchoutput( | |
1057 | 'hg config format.exp-dirstate-v2', b'(?i)1|yes|true|on|always' |
|
1064 | 'hg config format.exp-dirstate-v2', b'(?i)1|yes|true|on|always' | |
1058 | ) |
|
1065 | ) | |
1059 |
|
1066 | |||
1060 |
|
1067 | |||
1061 | @check('sqlite', 'sqlite3 module and matching cli is available') |
|
1068 | @check('sqlite', 'sqlite3 module and matching cli is available') | |
1062 | def has_sqlite(): |
|
1069 | def has_sqlite(): | |
1063 | try: |
|
1070 | try: | |
1064 | import sqlite3 |
|
1071 | import sqlite3 | |
1065 |
|
1072 | |||
1066 | version = sqlite3.sqlite_version_info |
|
1073 | version = sqlite3.sqlite_version_info | |
1067 | except ImportError: |
|
1074 | except ImportError: | |
1068 | return False |
|
1075 | return False | |
1069 |
|
1076 | |||
1070 | if version < (3, 8, 3): |
|
1077 | if version < (3, 8, 3): | |
1071 | # WITH clause not supported |
|
1078 | # WITH clause not supported | |
1072 | return False |
|
1079 | return False | |
1073 |
|
1080 | |||
1074 | return matchoutput('sqlite3 -version', br'^3\.\d+') |
|
1081 | return matchoutput('sqlite3 -version', br'^3\.\d+') | |
1075 |
|
1082 | |||
1076 |
|
1083 | |||
1077 | @check('vcr', 'vcr http mocking library (pytest-vcr)') |
|
1084 | @check('vcr', 'vcr http mocking library (pytest-vcr)') | |
1078 | def has_vcr(): |
|
1085 | def has_vcr(): | |
1079 | try: |
|
1086 | try: | |
1080 | import vcr |
|
1087 | import vcr | |
1081 |
|
1088 | |||
1082 | vcr.VCR |
|
1089 | vcr.VCR | |
1083 | return True |
|
1090 | return True | |
1084 | except (ImportError, AttributeError): |
|
1091 | except (ImportError, AttributeError): | |
1085 | pass |
|
1092 | pass | |
1086 | return False |
|
1093 | return False | |
1087 |
|
1094 | |||
1088 |
|
1095 | |||
1089 | @check('emacs', 'GNU Emacs') |
|
1096 | @check('emacs', 'GNU Emacs') | |
1090 | def has_emacs(): |
|
1097 | def has_emacs(): | |
1091 | # Our emacs lisp uses `with-eval-after-load` which is new in emacs |
|
1098 | # Our emacs lisp uses `with-eval-after-load` which is new in emacs | |
1092 | # 24.4, so we allow emacs 24.4, 24.5, and 25+ (24.5 was the last |
|
1099 | # 24.4, so we allow emacs 24.4, 24.5, and 25+ (24.5 was the last | |
1093 | # 24 release) |
|
1100 | # 24 release) | |
1094 | return matchoutput('emacs --version', b'GNU Emacs 2(4.4|4.5|5|6|7|8|9)') |
|
1101 | return matchoutput('emacs --version', b'GNU Emacs 2(4.4|4.5|5|6|7|8|9)') | |
1095 |
|
1102 | |||
1096 |
|
1103 | |||
1097 | @check('black', 'the black formatter for python (>= 20.8b1)') |
|
1104 | @check('black', 'the black formatter for python (>= 20.8b1)') | |
1098 | def has_black(): |
|
1105 | def has_black(): | |
1099 | blackcmd = 'black --version' |
|
1106 | blackcmd = 'black --version' | |
1100 | version_regex = b'black, version ([0-9a-b.]+)' |
|
1107 | version_regex = b'black, version ([0-9a-b.]+)' | |
1101 | version = matchoutput(blackcmd, version_regex) |
|
1108 | version = matchoutput(blackcmd, version_regex) | |
1102 | sv = distutils.version.StrictVersion |
|
1109 | sv = distutils.version.StrictVersion | |
1103 | return version and sv(_bytes2sys(version.group(1))) >= sv('20.8b1') |
|
1110 | return version and sv(_bytes2sys(version.group(1))) >= sv('20.8b1') | |
1104 |
|
1111 | |||
1105 |
|
1112 | |||
1106 | @check('pytype', 'the pytype type checker') |
|
1113 | @check('pytype', 'the pytype type checker') | |
1107 | def has_pytype(): |
|
1114 | def has_pytype(): | |
1108 | pytypecmd = 'pytype --version' |
|
1115 | pytypecmd = 'pytype --version' | |
1109 | version = matchoutput(pytypecmd, b'[0-9a-b.]+') |
|
1116 | version = matchoutput(pytypecmd, b'[0-9a-b.]+') | |
1110 | sv = distutils.version.StrictVersion |
|
1117 | sv = distutils.version.StrictVersion | |
1111 | return version and sv(_bytes2sys(version.group(0))) >= sv('2019.10.17') |
|
1118 | return version and sv(_bytes2sys(version.group(0))) >= sv('2019.10.17') | |
1112 |
|
1119 | |||
1113 |
|
1120 | |||
1114 | @check("rustfmt", "rustfmt tool at version nightly-2020-10-04") |
|
1121 | @check("rustfmt", "rustfmt tool at version nightly-2020-10-04") | |
1115 | def has_rustfmt(): |
|
1122 | def has_rustfmt(): | |
1116 | # We use Nightly's rustfmt due to current unstable config options. |
|
1123 | # We use Nightly's rustfmt due to current unstable config options. | |
1117 | return matchoutput( |
|
1124 | return matchoutput( | |
1118 | '`rustup which --toolchain nightly-2020-10-04 rustfmt` --version', |
|
1125 | '`rustup which --toolchain nightly-2020-10-04 rustfmt` --version', | |
1119 | b'rustfmt', |
|
1126 | b'rustfmt', | |
1120 | ) |
|
1127 | ) | |
1121 |
|
1128 | |||
1122 |
|
1129 | |||
1123 | @check("cargo", "cargo tool") |
|
1130 | @check("cargo", "cargo tool") | |
1124 | def has_cargo(): |
|
1131 | def has_cargo(): | |
1125 | return matchoutput('`rustup which cargo` --version', b'cargo') |
|
1132 | return matchoutput('`rustup which cargo` --version', b'cargo') | |
1126 |
|
1133 | |||
1127 |
|
1134 | |||
1128 | @check("lzma", "python lzma module") |
|
1135 | @check("lzma", "python lzma module") | |
1129 | def has_lzma(): |
|
1136 | def has_lzma(): | |
1130 | try: |
|
1137 | try: | |
1131 | import _lzma |
|
1138 | import _lzma | |
1132 |
|
1139 | |||
1133 | _lzma.FORMAT_XZ |
|
1140 | _lzma.FORMAT_XZ | |
1134 | return True |
|
1141 | return True | |
1135 | except ImportError: |
|
1142 | except ImportError: | |
1136 | return False |
|
1143 | return False | |
1137 |
|
1144 | |||
1138 |
|
1145 | |||
1139 | @check("bash", "bash shell") |
|
1146 | @check("bash", "bash shell") | |
1140 | def has_bash(): |
|
1147 | def has_bash(): | |
1141 | return matchoutput("bash -c 'echo hi'", b'^hi$') |
|
1148 | return matchoutput("bash -c 'echo hi'", b'^hi$') |
@@ -1,46 +1,50 b'' | |||||
1 | #require no-windows |
|
1 | #require no-windows | |
2 |
|
2 | |||
3 | $ . "$TESTDIR/remotefilelog-library.sh" |
|
3 | $ . "$TESTDIR/remotefilelog-library.sh" | |
4 |
|
4 | |||
5 | $ hg init master |
|
5 | $ hg init master | |
6 | $ cd master |
|
6 | $ cd master | |
7 | $ cat >> .hg/hgrc <<EOF |
|
7 | $ cat >> .hg/hgrc <<EOF | |
8 | > [remotefilelog] |
|
8 | > [remotefilelog] | |
9 | > server=True |
|
9 | > server=True | |
10 | > EOF |
|
10 | > EOF | |
11 | $ echo x > x |
|
11 | $ echo x > x | |
12 | $ hg commit -qAm x |
|
12 | $ hg commit -qAm x | |
13 |
|
13 | |||
14 | $ cd .. |
|
14 | $ cd .. | |
15 |
|
15 | |||
16 | $ hgcloneshallow ssh://user@dummy/master shallow -q |
|
16 | $ hgcloneshallow ssh://user@dummy/master shallow -q | |
17 | 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) |
|
17 | 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) | |
18 |
|
18 | |||
19 | $ cd master |
|
19 | $ cd master | |
20 | $ echo xx > x |
|
20 | $ echo xx > x | |
21 | $ hg commit -qAm x2 |
|
21 | $ hg commit -qAm x2 | |
22 | $ cd .. |
|
22 | $ cd .. | |
23 |
|
23 | |||
24 | # Test cache misses with read only permissions on server |
|
24 | # Test cache misses with read only permissions on server | |
25 |
|
25 | |||
26 | $ chmod -R a-w master/.hg/remotefilelogcache |
|
26 | $ chmod -R a-w master/.hg/remotefilelogcache | |
27 | $ cd shallow |
|
27 | $ cd shallow | |
28 | $ hg pull -q |
|
28 | $ hg pull -q | |
29 | $ hg update |
|
29 | $ hg update | |
30 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
30 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
31 | 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) |
|
31 | 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob) | |
32 | $ cd .. |
|
32 | $ cd .. | |
33 |
|
33 | |||
34 | $ chmod -R u+w master/.hg/remotefilelogcache |
|
34 | $ chmod -R u+w master/.hg/remotefilelogcache | |
35 |
|
35 | |||
|
36 | #if suidbit | |||
|
37 | ||||
36 | # Test setting up shared cache with the right permissions |
|
38 | # Test setting up shared cache with the right permissions | |
37 | # (this is hard to test in a cross platform way, so we just make sure nothing |
|
39 | # (this is hard to test in a cross platform way, so we just make sure nothing | |
38 | # crashes) |
|
40 | # crashes) | |
39 |
|
41 | |||
40 | $ rm -rf $CACHEDIR |
|
42 | $ rm -rf $CACHEDIR | |
41 | $ umask 002 |
|
43 | $ umask 002 | |
42 | $ mkdir $CACHEDIR |
|
44 | $ mkdir $CACHEDIR | |
43 | $ hg -q clone --shallow ssh://user@dummy/master shallow2 --config remotefilelog.cachegroup="`id -g -n`" |
|
45 | $ hg -q clone --shallow ssh://user@dummy/master shallow2 --config remotefilelog.cachegroup="`id -g -n`" | |
44 | 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) |
|
46 | 1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob) | |
45 | $ ls -ld $CACHEDIR/11 |
|
47 | $ ls -ld $CACHEDIR/11 | |
46 | drwxrws* $TESTTMP/hgcache/11 (glob) |
|
48 | drwxrws* $TESTTMP/hgcache/11 (glob) | |
|
49 | ||||
|
50 | #endif |
@@ -1,2085 +1,2085 b'' | |||||
1 | This file tests the behavior of run-tests.py itself. |
|
1 | This file tests the behavior of run-tests.py itself. | |
2 |
|
2 | |||
3 | Avoid interference from actual test env: |
|
3 | Avoid interference from actual test env: | |
4 |
|
4 | |||
5 | $ . "$TESTDIR/helper-runtests.sh" |
|
5 | $ . "$TESTDIR/helper-runtests.sh" | |
6 |
|
6 | |||
7 | Smoke test with install |
|
7 | Smoke test with install | |
8 | ============ |
|
8 | ============ | |
9 | $ "$PYTHON" $TESTDIR/run-tests.py $HGTEST_RUN_TESTS_PURE -l |
|
9 | $ "$PYTHON" $TESTDIR/run-tests.py $HGTEST_RUN_TESTS_PURE -l | |
10 | running 0 tests using 0 parallel processes |
|
10 | running 0 tests using 0 parallel processes | |
11 |
|
11 | |||
12 | # Ran 0 tests, 0 skipped, 0 failed. |
|
12 | # Ran 0 tests, 0 skipped, 0 failed. | |
13 |
|
13 | |||
14 | Define a helper to avoid the install step |
|
14 | Define a helper to avoid the install step | |
15 | ============= |
|
15 | ============= | |
16 | $ rt() |
|
16 | $ rt() | |
17 | > { |
|
17 | > { | |
18 | > "$PYTHON" $TESTDIR/run-tests.py --with-hg=$HGTEST_REAL_HG -j1 "$@" |
|
18 | > "$PYTHON" $TESTDIR/run-tests.py --with-hg=$HGTEST_REAL_HG -j1 "$@" | |
19 | > } |
|
19 | > } | |
20 |
|
20 | |||
21 | error paths |
|
21 | error paths | |
22 |
|
22 | |||
23 | #if symlink |
|
23 | #if symlink | |
24 | $ ln -s `which true` hg |
|
24 | $ ln -s `which true` hg | |
25 | $ "$PYTHON" $TESTDIR/run-tests.py --with-hg=./hg |
|
25 | $ "$PYTHON" $TESTDIR/run-tests.py --with-hg=./hg | |
26 | warning: --with-hg should specify an hg script, not: true |
|
26 | ^warning: --with-hg should specify an hg script, not: (true|coreutils)$ (re) | |
27 | running 0 tests using 0 parallel processes |
|
27 | running 0 tests using 0 parallel processes | |
28 |
|
28 | |||
29 | # Ran 0 tests, 0 skipped, 0 failed. |
|
29 | # Ran 0 tests, 0 skipped, 0 failed. | |
30 | $ rm hg |
|
30 | $ rm hg | |
31 | #endif |
|
31 | #endif | |
32 |
|
32 | |||
33 | #if execbit |
|
33 | #if execbit | |
34 | $ touch hg |
|
34 | $ touch hg | |
35 | $ "$PYTHON" $TESTDIR/run-tests.py --with-hg=./hg |
|
35 | $ "$PYTHON" $TESTDIR/run-tests.py --with-hg=./hg | |
36 | usage: run-tests.py [options] [tests] |
|
36 | usage: run-tests.py [options] [tests] | |
37 | run-tests.py: error: --with-hg must specify an executable hg script |
|
37 | run-tests.py: error: --with-hg must specify an executable hg script | |
38 | [2] |
|
38 | [2] | |
39 | $ rm hg |
|
39 | $ rm hg | |
40 | #endif |
|
40 | #endif | |
41 |
|
41 | |||
42 | Features for testing optional lines |
|
42 | Features for testing optional lines | |
43 | =================================== |
|
43 | =================================== | |
44 |
|
44 | |||
45 | $ cat > hghaveaddon.py <<EOF |
|
45 | $ cat > hghaveaddon.py <<EOF | |
46 | > import hghave |
|
46 | > import hghave | |
47 | > @hghave.check("custom", "custom hghave feature") |
|
47 | > @hghave.check("custom", "custom hghave feature") | |
48 | > def has_custom(): |
|
48 | > def has_custom(): | |
49 | > return True |
|
49 | > return True | |
50 | > @hghave.check("missing", "missing hghave feature") |
|
50 | > @hghave.check("missing", "missing hghave feature") | |
51 | > def has_missing(): |
|
51 | > def has_missing(): | |
52 | > return False |
|
52 | > return False | |
53 | > EOF |
|
53 | > EOF | |
54 |
|
54 | |||
55 | an empty test |
|
55 | an empty test | |
56 | ======================= |
|
56 | ======================= | |
57 |
|
57 | |||
58 | $ touch test-empty.t |
|
58 | $ touch test-empty.t | |
59 | $ rt |
|
59 | $ rt | |
60 | running 1 tests using 1 parallel processes |
|
60 | running 1 tests using 1 parallel processes | |
61 | . |
|
61 | . | |
62 | # Ran 1 tests, 0 skipped, 0 failed. |
|
62 | # Ran 1 tests, 0 skipped, 0 failed. | |
63 | $ rm test-empty.t |
|
63 | $ rm test-empty.t | |
64 |
|
64 | |||
65 | a succesful test |
|
65 | a succesful test | |
66 | ======================= |
|
66 | ======================= | |
67 |
|
67 | |||
68 | $ cat > test-success.t << EOF |
|
68 | $ cat > test-success.t << EOF | |
69 | > $ echo babar |
|
69 | > $ echo babar | |
70 | > babar |
|
70 | > babar | |
71 | > $ echo xyzzy |
|
71 | > $ echo xyzzy | |
72 | > dont_print (?) |
|
72 | > dont_print (?) | |
73 | > nothing[42]line (re) (?) |
|
73 | > nothing[42]line (re) (?) | |
74 | > never*happens (glob) (?) |
|
74 | > never*happens (glob) (?) | |
75 | > more_nothing (?) |
|
75 | > more_nothing (?) | |
76 | > xyzzy |
|
76 | > xyzzy | |
77 | > nor this (?) |
|
77 | > nor this (?) | |
78 | > $ printf 'abc\ndef\nxyz\n' |
|
78 | > $ printf 'abc\ndef\nxyz\n' | |
79 | > 123 (?) |
|
79 | > 123 (?) | |
80 | > abc |
|
80 | > abc | |
81 | > def (?) |
|
81 | > def (?) | |
82 | > 456 (?) |
|
82 | > 456 (?) | |
83 | > xyz |
|
83 | > xyz | |
84 | > $ printf 'zyx\nwvu\ntsr\n' |
|
84 | > $ printf 'zyx\nwvu\ntsr\n' | |
85 | > abc (?) |
|
85 | > abc (?) | |
86 | > zyx (custom !) |
|
86 | > zyx (custom !) | |
87 | > wvu |
|
87 | > wvu | |
88 | > no_print (no-custom !) |
|
88 | > no_print (no-custom !) | |
89 | > tsr (no-missing !) |
|
89 | > tsr (no-missing !) | |
90 | > missing (missing !) |
|
90 | > missing (missing !) | |
91 | > EOF |
|
91 | > EOF | |
92 |
|
92 | |||
93 | $ rt |
|
93 | $ rt | |
94 | running 1 tests using 1 parallel processes |
|
94 | running 1 tests using 1 parallel processes | |
95 | . |
|
95 | . | |
96 | # Ran 1 tests, 0 skipped, 0 failed. |
|
96 | # Ran 1 tests, 0 skipped, 0 failed. | |
97 |
|
97 | |||
98 | failing test |
|
98 | failing test | |
99 | ================== |
|
99 | ================== | |
100 |
|
100 | |||
101 | test churn with globs |
|
101 | test churn with globs | |
102 | $ cat > test-failure.t <<EOF |
|
102 | $ cat > test-failure.t <<EOF | |
103 | > $ echo "bar-baz"; echo "bar-bad"; echo foo |
|
103 | > $ echo "bar-baz"; echo "bar-bad"; echo foo | |
104 | > bar*bad (glob) |
|
104 | > bar*bad (glob) | |
105 | > bar*baz (glob) |
|
105 | > bar*baz (glob) | |
106 | > | fo (re) |
|
106 | > | fo (re) | |
107 | > EOF |
|
107 | > EOF | |
108 | $ rt test-failure.t |
|
108 | $ rt test-failure.t | |
109 | running 1 tests using 1 parallel processes |
|
109 | running 1 tests using 1 parallel processes | |
110 |
|
110 | |||
111 | --- $TESTTMP/test-failure.t |
|
111 | --- $TESTTMP/test-failure.t | |
112 | +++ $TESTTMP/test-failure.t.err |
|
112 | +++ $TESTTMP/test-failure.t.err | |
113 | @@ -1,4 +1,4 @@ |
|
113 | @@ -1,4 +1,4 @@ | |
114 | $ echo "bar-baz"; echo "bar-bad"; echo foo |
|
114 | $ echo "bar-baz"; echo "bar-bad"; echo foo | |
115 | + bar*baz (glob) |
|
115 | + bar*baz (glob) | |
116 | bar*bad (glob) |
|
116 | bar*bad (glob) | |
117 | - bar*baz (glob) |
|
117 | - bar*baz (glob) | |
118 | - | fo (re) |
|
118 | - | fo (re) | |
119 | + foo |
|
119 | + foo | |
120 |
|
120 | |||
121 | ERROR: test-failure.t output changed |
|
121 | ERROR: test-failure.t output changed | |
122 | ! |
|
122 | ! | |
123 | Failed test-failure.t: output changed |
|
123 | Failed test-failure.t: output changed | |
124 | # Ran 1 tests, 0 skipped, 1 failed. |
|
124 | # Ran 1 tests, 0 skipped, 1 failed. | |
125 | python hash seed: * (glob) |
|
125 | python hash seed: * (glob) | |
126 | [1] |
|
126 | [1] | |
127 |
|
127 | |||
128 | test how multiple globs gets matched with lines in output |
|
128 | test how multiple globs gets matched with lines in output | |
129 | $ cat > test-failure-globs.t <<EOF |
|
129 | $ cat > test-failure-globs.t <<EOF | |
130 | > $ echo "context"; echo "context"; \ |
|
130 | > $ echo "context"; echo "context"; \ | |
131 | > echo "key: 1"; echo "value: not a"; \ |
|
131 | > echo "key: 1"; echo "value: not a"; \ | |
132 | > echo "key: 2"; echo "value: not b"; \ |
|
132 | > echo "key: 2"; echo "value: not b"; \ | |
133 | > echo "key: 3"; echo "value: c"; \ |
|
133 | > echo "key: 3"; echo "value: c"; \ | |
134 | > echo "key: 4"; echo "value: d" |
|
134 | > echo "key: 4"; echo "value: d" | |
135 | > context |
|
135 | > context | |
136 | > context |
|
136 | > context | |
137 | > key: 1 |
|
137 | > key: 1 | |
138 | > value: a |
|
138 | > value: a | |
139 | > key: 2 |
|
139 | > key: 2 | |
140 | > value: b |
|
140 | > value: b | |
141 | > key: 3 |
|
141 | > key: 3 | |
142 | > value: * (glob) |
|
142 | > value: * (glob) | |
143 | > key: 4 |
|
143 | > key: 4 | |
144 | > value: * (glob) |
|
144 | > value: * (glob) | |
145 | > EOF |
|
145 | > EOF | |
146 | $ rt test-failure-globs.t |
|
146 | $ rt test-failure-globs.t | |
147 | running 1 tests using 1 parallel processes |
|
147 | running 1 tests using 1 parallel processes | |
148 |
|
148 | |||
149 | --- $TESTTMP/test-failure-globs.t |
|
149 | --- $TESTTMP/test-failure-globs.t | |
150 | +++ $TESTTMP/test-failure-globs.t.err |
|
150 | +++ $TESTTMP/test-failure-globs.t.err | |
151 | @@ -2,9 +2,9 @@ |
|
151 | @@ -2,9 +2,9 @@ | |
152 | context |
|
152 | context | |
153 | context |
|
153 | context | |
154 | key: 1 |
|
154 | key: 1 | |
155 | - value: a |
|
155 | - value: a | |
156 | + value: not a |
|
156 | + value: not a | |
157 | key: 2 |
|
157 | key: 2 | |
158 | - value: b |
|
158 | - value: b | |
159 | + value: not b |
|
159 | + value: not b | |
160 | key: 3 |
|
160 | key: 3 | |
161 | value: * (glob) |
|
161 | value: * (glob) | |
162 | key: 4 |
|
162 | key: 4 | |
163 |
|
163 | |||
164 | ERROR: test-failure-globs.t output changed |
|
164 | ERROR: test-failure-globs.t output changed | |
165 | ! |
|
165 | ! | |
166 | Failed test-failure-globs.t: output changed |
|
166 | Failed test-failure-globs.t: output changed | |
167 | # Ran 1 tests, 0 skipped, 1 failed. |
|
167 | # Ran 1 tests, 0 skipped, 1 failed. | |
168 | python hash seed: * (glob) |
|
168 | python hash seed: * (glob) | |
169 | [1] |
|
169 | [1] | |
170 | $ rm test-failure-globs.t |
|
170 | $ rm test-failure-globs.t | |
171 |
|
171 | |||
172 | test diff colorisation |
|
172 | test diff colorisation | |
173 |
|
173 | |||
174 | #if no-windows pygments |
|
174 | #if no-windows pygments | |
175 | $ rt test-failure.t --color always |
|
175 | $ rt test-failure.t --color always | |
176 | running 1 tests using 1 parallel processes |
|
176 | running 1 tests using 1 parallel processes | |
177 |
|
177 | |||
178 | \x1b[38;5;124m--- $TESTTMP/test-failure.t\x1b[39m (esc) |
|
178 | \x1b[38;5;124m--- $TESTTMP/test-failure.t\x1b[39m (esc) | |
179 | \x1b[38;5;34m+++ $TESTTMP/test-failure.t.err\x1b[39m (esc) |
|
179 | \x1b[38;5;34m+++ $TESTTMP/test-failure.t.err\x1b[39m (esc) | |
180 | \x1b[38;5;90;01m@@ -1,4 +1,4 @@\x1b[39;00m (esc) |
|
180 | \x1b[38;5;90;01m@@ -1,4 +1,4 @@\x1b[39;00m (esc) | |
181 | $ echo "bar-baz"; echo "bar-bad"; echo foo |
|
181 | $ echo "bar-baz"; echo "bar-bad"; echo foo | |
182 | \x1b[38;5;34m+ bar*baz (glob)\x1b[39m (esc) |
|
182 | \x1b[38;5;34m+ bar*baz (glob)\x1b[39m (esc) | |
183 | bar*bad (glob) |
|
183 | bar*bad (glob) | |
184 | \x1b[38;5;124m- bar*baz (glob)\x1b[39m (esc) |
|
184 | \x1b[38;5;124m- bar*baz (glob)\x1b[39m (esc) | |
185 | \x1b[38;5;124m- | fo (re)\x1b[39m (esc) |
|
185 | \x1b[38;5;124m- | fo (re)\x1b[39m (esc) | |
186 | \x1b[38;5;34m+ foo\x1b[39m (esc) |
|
186 | \x1b[38;5;34m+ foo\x1b[39m (esc) | |
187 |
|
187 | |||
188 | \x1b[38;5;88mERROR: \x1b[39m\x1b[38;5;9mtest-failure.t\x1b[39m\x1b[38;5;88m output changed\x1b[39m (esc) |
|
188 | \x1b[38;5;88mERROR: \x1b[39m\x1b[38;5;9mtest-failure.t\x1b[39m\x1b[38;5;88m output changed\x1b[39m (esc) | |
189 | ! |
|
189 | ! | |
190 | \x1b[38;5;88mFailed \x1b[39m\x1b[38;5;9mtest-failure.t\x1b[39m\x1b[38;5;88m: output changed\x1b[39m (esc) |
|
190 | \x1b[38;5;88mFailed \x1b[39m\x1b[38;5;9mtest-failure.t\x1b[39m\x1b[38;5;88m: output changed\x1b[39m (esc) | |
191 | # Ran 1 tests, 0 skipped, 1 failed. |
|
191 | # Ran 1 tests, 0 skipped, 1 failed. | |
192 | python hash seed: * (glob) |
|
192 | python hash seed: * (glob) | |
193 | [1] |
|
193 | [1] | |
194 |
|
194 | |||
195 | $ rt test-failure.t 2> tmp.log |
|
195 | $ rt test-failure.t 2> tmp.log | |
196 | running 1 tests using 1 parallel processes |
|
196 | running 1 tests using 1 parallel processes | |
197 | [1] |
|
197 | [1] | |
198 | $ cat tmp.log |
|
198 | $ cat tmp.log | |
199 |
|
199 | |||
200 | --- $TESTTMP/test-failure.t |
|
200 | --- $TESTTMP/test-failure.t | |
201 | +++ $TESTTMP/test-failure.t.err |
|
201 | +++ $TESTTMP/test-failure.t.err | |
202 | @@ -1,4 +1,4 @@ |
|
202 | @@ -1,4 +1,4 @@ | |
203 | $ echo "bar-baz"; echo "bar-bad"; echo foo |
|
203 | $ echo "bar-baz"; echo "bar-bad"; echo foo | |
204 | + bar*baz (glob) |
|
204 | + bar*baz (glob) | |
205 | bar*bad (glob) |
|
205 | bar*bad (glob) | |
206 | - bar*baz (glob) |
|
206 | - bar*baz (glob) | |
207 | - | fo (re) |
|
207 | - | fo (re) | |
208 | + foo |
|
208 | + foo | |
209 |
|
209 | |||
210 | ERROR: test-failure.t output changed |
|
210 | ERROR: test-failure.t output changed | |
211 | ! |
|
211 | ! | |
212 | Failed test-failure.t: output changed |
|
212 | Failed test-failure.t: output changed | |
213 | # Ran 1 tests, 0 skipped, 1 failed. |
|
213 | # Ran 1 tests, 0 skipped, 1 failed. | |
214 | python hash seed: * (glob) |
|
214 | python hash seed: * (glob) | |
215 | #endif |
|
215 | #endif | |
216 |
|
216 | |||
217 | $ cat > test-failure.t << EOF |
|
217 | $ cat > test-failure.t << EOF | |
218 | > $ true |
|
218 | > $ true | |
219 | > should go away (true !) |
|
219 | > should go away (true !) | |
220 | > $ true |
|
220 | > $ true | |
221 | > should stay (false !) |
|
221 | > should stay (false !) | |
222 | > |
|
222 | > | |
223 | > Should remove first line, not second or third |
|
223 | > Should remove first line, not second or third | |
224 | > $ echo 'testing' |
|
224 | > $ echo 'testing' | |
225 | > baz*foo (glob) (true !) |
|
225 | > baz*foo (glob) (true !) | |
226 | > foobar*foo (glob) (false !) |
|
226 | > foobar*foo (glob) (false !) | |
227 | > te*ting (glob) (true !) |
|
227 | > te*ting (glob) (true !) | |
228 | > |
|
228 | > | |
229 | > Should keep first two lines, remove third and last |
|
229 | > Should keep first two lines, remove third and last | |
230 | > $ echo 'testing' |
|
230 | > $ echo 'testing' | |
231 | > test.ng (re) (true !) |
|
231 | > test.ng (re) (true !) | |
232 | > foo.ar (re) (false !) |
|
232 | > foo.ar (re) (false !) | |
233 | > b.r (re) (true !) |
|
233 | > b.r (re) (true !) | |
234 | > missing (?) |
|
234 | > missing (?) | |
235 | > awol (true !) |
|
235 | > awol (true !) | |
236 | > |
|
236 | > | |
237 | > The "missing" line should stay, even though awol is dropped |
|
237 | > The "missing" line should stay, even though awol is dropped | |
238 | > $ echo 'testing' |
|
238 | > $ echo 'testing' | |
239 | > test.ng (re) (true !) |
|
239 | > test.ng (re) (true !) | |
240 | > foo.ar (?) |
|
240 | > foo.ar (?) | |
241 | > awol |
|
241 | > awol | |
242 | > missing (?) |
|
242 | > missing (?) | |
243 | > EOF |
|
243 | > EOF | |
244 | $ rt test-failure.t |
|
244 | $ rt test-failure.t | |
245 | running 1 tests using 1 parallel processes |
|
245 | running 1 tests using 1 parallel processes | |
246 |
|
246 | |||
247 | --- $TESTTMP/test-failure.t |
|
247 | --- $TESTTMP/test-failure.t | |
248 | +++ $TESTTMP/test-failure.t.err |
|
248 | +++ $TESTTMP/test-failure.t.err | |
249 | @@ -1,11 +1,9 @@ |
|
249 | @@ -1,11 +1,9 @@ | |
250 | $ true |
|
250 | $ true | |
251 | - should go away (true !) |
|
251 | - should go away (true !) | |
252 | $ true |
|
252 | $ true | |
253 | should stay (false !) |
|
253 | should stay (false !) | |
254 |
|
254 | |||
255 | Should remove first line, not second or third |
|
255 | Should remove first line, not second or third | |
256 | $ echo 'testing' |
|
256 | $ echo 'testing' | |
257 | - baz*foo (glob) (true !) |
|
257 | - baz*foo (glob) (true !) | |
258 | foobar*foo (glob) (false !) |
|
258 | foobar*foo (glob) (false !) | |
259 | te*ting (glob) (true !) |
|
259 | te*ting (glob) (true !) | |
260 |
|
260 | |||
261 | foo.ar (re) (false !) |
|
261 | foo.ar (re) (false !) | |
262 | missing (?) |
|
262 | missing (?) | |
263 | @@ -13,13 +11,10 @@ |
|
263 | @@ -13,13 +11,10 @@ | |
264 | $ echo 'testing' |
|
264 | $ echo 'testing' | |
265 | test.ng (re) (true !) |
|
265 | test.ng (re) (true !) | |
266 | foo.ar (re) (false !) |
|
266 | foo.ar (re) (false !) | |
267 | - b.r (re) (true !) |
|
267 | - b.r (re) (true !) | |
268 | missing (?) |
|
268 | missing (?) | |
269 | - awol (true !) |
|
269 | - awol (true !) | |
270 |
|
270 | |||
271 | The "missing" line should stay, even though awol is dropped |
|
271 | The "missing" line should stay, even though awol is dropped | |
272 | $ echo 'testing' |
|
272 | $ echo 'testing' | |
273 | test.ng (re) (true !) |
|
273 | test.ng (re) (true !) | |
274 | foo.ar (?) |
|
274 | foo.ar (?) | |
275 | - awol |
|
275 | - awol | |
276 | missing (?) |
|
276 | missing (?) | |
277 |
|
277 | |||
278 | ERROR: test-failure.t output changed |
|
278 | ERROR: test-failure.t output changed | |
279 | ! |
|
279 | ! | |
280 | Failed test-failure.t: output changed |
|
280 | Failed test-failure.t: output changed | |
281 | # Ran 1 tests, 0 skipped, 1 failed. |
|
281 | # Ran 1 tests, 0 skipped, 1 failed. | |
282 | python hash seed: * (glob) |
|
282 | python hash seed: * (glob) | |
283 | [1] |
|
283 | [1] | |
284 |
|
284 | |||
285 | basic failing test |
|
285 | basic failing test | |
286 | $ cat > test-failure.t << EOF |
|
286 | $ cat > test-failure.t << EOF | |
287 | > $ echo babar |
|
287 | > $ echo babar | |
288 | > rataxes |
|
288 | > rataxes | |
289 | > This is a noop statement so that |
|
289 | > This is a noop statement so that | |
290 | > this test is still more bytes than success. |
|
290 | > this test is still more bytes than success. | |
291 | > pad pad pad pad............................................................ |
|
291 | > pad pad pad pad............................................................ | |
292 | > pad pad pad pad............................................................ |
|
292 | > pad pad pad pad............................................................ | |
293 | > pad pad pad pad............................................................ |
|
293 | > pad pad pad pad............................................................ | |
294 | > pad pad pad pad............................................................ |
|
294 | > pad pad pad pad............................................................ | |
295 | > pad pad pad pad............................................................ |
|
295 | > pad pad pad pad............................................................ | |
296 | > pad pad pad pad............................................................ |
|
296 | > pad pad pad pad............................................................ | |
297 | > EOF |
|
297 | > EOF | |
298 |
|
298 | |||
299 | >>> fh = open('test-failure-unicode.t', 'wb') |
|
299 | >>> fh = open('test-failure-unicode.t', 'wb') | |
300 | >>> fh.write(u' $ echo babar\u03b1\n'.encode('utf-8')) and None |
|
300 | >>> fh.write(u' $ echo babar\u03b1\n'.encode('utf-8')) and None | |
301 | >>> fh.write(u' l\u03b5\u03b5t\n'.encode('utf-8')) and None |
|
301 | >>> fh.write(u' l\u03b5\u03b5t\n'.encode('utf-8')) and None | |
302 |
|
302 | |||
303 | $ rt |
|
303 | $ rt | |
304 | running 3 tests using 1 parallel processes |
|
304 | running 3 tests using 1 parallel processes | |
305 |
|
305 | |||
306 | --- $TESTTMP/test-failure.t |
|
306 | --- $TESTTMP/test-failure.t | |
307 | +++ $TESTTMP/test-failure.t.err |
|
307 | +++ $TESTTMP/test-failure.t.err | |
308 | @@ -1,5 +1,5 @@ |
|
308 | @@ -1,5 +1,5 @@ | |
309 | $ echo babar |
|
309 | $ echo babar | |
310 | - rataxes |
|
310 | - rataxes | |
311 | + babar |
|
311 | + babar | |
312 | This is a noop statement so that |
|
312 | This is a noop statement so that | |
313 | this test is still more bytes than success. |
|
313 | this test is still more bytes than success. | |
314 | pad pad pad pad............................................................ |
|
314 | pad pad pad pad............................................................ | |
315 |
|
315 | |||
316 | ERROR: test-failure.t output changed |
|
316 | ERROR: test-failure.t output changed | |
317 | !. |
|
317 | !. | |
318 | --- $TESTTMP/test-failure-unicode.t |
|
318 | --- $TESTTMP/test-failure-unicode.t | |
319 | +++ $TESTTMP/test-failure-unicode.t.err |
|
319 | +++ $TESTTMP/test-failure-unicode.t.err | |
320 | @@ -1,2 +1,2 @@ |
|
320 | @@ -1,2 +1,2 @@ | |
321 | $ echo babar\xce\xb1 (esc) |
|
321 | $ echo babar\xce\xb1 (esc) | |
322 | - l\xce\xb5\xce\xb5t (esc) |
|
322 | - l\xce\xb5\xce\xb5t (esc) | |
323 | + babar\xce\xb1 (esc) |
|
323 | + babar\xce\xb1 (esc) | |
324 |
|
324 | |||
325 | ERROR: test-failure-unicode.t output changed |
|
325 | ERROR: test-failure-unicode.t output changed | |
326 | ! |
|
326 | ! | |
327 | Failed test-failure-unicode.t: output changed |
|
327 | Failed test-failure-unicode.t: output changed | |
328 | Failed test-failure.t: output changed |
|
328 | Failed test-failure.t: output changed | |
329 | # Ran 3 tests, 0 skipped, 2 failed. |
|
329 | # Ran 3 tests, 0 skipped, 2 failed. | |
330 | python hash seed: * (glob) |
|
330 | python hash seed: * (glob) | |
331 | [1] |
|
331 | [1] | |
332 |
|
332 | |||
333 | test --outputdir |
|
333 | test --outputdir | |
334 | $ mkdir output |
|
334 | $ mkdir output | |
335 | $ rt --outputdir output |
|
335 | $ rt --outputdir output | |
336 | running 3 tests using 1 parallel processes |
|
336 | running 3 tests using 1 parallel processes | |
337 |
|
337 | |||
338 | --- $TESTTMP/test-failure.t |
|
338 | --- $TESTTMP/test-failure.t | |
339 | +++ $TESTTMP/output/test-failure.t.err |
|
339 | +++ $TESTTMP/output/test-failure.t.err | |
340 | @@ -1,5 +1,5 @@ |
|
340 | @@ -1,5 +1,5 @@ | |
341 | $ echo babar |
|
341 | $ echo babar | |
342 | - rataxes |
|
342 | - rataxes | |
343 | + babar |
|
343 | + babar | |
344 | This is a noop statement so that |
|
344 | This is a noop statement so that | |
345 | this test is still more bytes than success. |
|
345 | this test is still more bytes than success. | |
346 | pad pad pad pad............................................................ |
|
346 | pad pad pad pad............................................................ | |
347 |
|
347 | |||
348 | ERROR: test-failure.t output changed |
|
348 | ERROR: test-failure.t output changed | |
349 | !. |
|
349 | !. | |
350 | --- $TESTTMP/test-failure-unicode.t |
|
350 | --- $TESTTMP/test-failure-unicode.t | |
351 | +++ $TESTTMP/output/test-failure-unicode.t.err |
|
351 | +++ $TESTTMP/output/test-failure-unicode.t.err | |
352 | @@ -1,2 +1,2 @@ |
|
352 | @@ -1,2 +1,2 @@ | |
353 | $ echo babar\xce\xb1 (esc) |
|
353 | $ echo babar\xce\xb1 (esc) | |
354 | - l\xce\xb5\xce\xb5t (esc) |
|
354 | - l\xce\xb5\xce\xb5t (esc) | |
355 | + babar\xce\xb1 (esc) |
|
355 | + babar\xce\xb1 (esc) | |
356 |
|
356 | |||
357 | ERROR: test-failure-unicode.t output changed |
|
357 | ERROR: test-failure-unicode.t output changed | |
358 | ! |
|
358 | ! | |
359 | Failed test-failure-unicode.t: output changed |
|
359 | Failed test-failure-unicode.t: output changed | |
360 | Failed test-failure.t: output changed |
|
360 | Failed test-failure.t: output changed | |
361 | # Ran 3 tests, 0 skipped, 2 failed. |
|
361 | # Ran 3 tests, 0 skipped, 2 failed. | |
362 | python hash seed: * (glob) |
|
362 | python hash seed: * (glob) | |
363 | [1] |
|
363 | [1] | |
364 | $ ls -a output |
|
364 | $ ls -a output | |
365 | . |
|
365 | . | |
366 | .. |
|
366 | .. | |
367 | .testtimes |
|
367 | .testtimes | |
368 | test-failure-unicode.t.err |
|
368 | test-failure-unicode.t.err | |
369 | test-failure.t.err |
|
369 | test-failure.t.err | |
370 |
|
370 | |||
371 | test --xunit support |
|
371 | test --xunit support | |
372 | $ rt --xunit=xunit.xml |
|
372 | $ rt --xunit=xunit.xml | |
373 | running 3 tests using 1 parallel processes |
|
373 | running 3 tests using 1 parallel processes | |
374 |
|
374 | |||
375 | --- $TESTTMP/test-failure.t |
|
375 | --- $TESTTMP/test-failure.t | |
376 | +++ $TESTTMP/test-failure.t.err |
|
376 | +++ $TESTTMP/test-failure.t.err | |
377 | @@ -1,5 +1,5 @@ |
|
377 | @@ -1,5 +1,5 @@ | |
378 | $ echo babar |
|
378 | $ echo babar | |
379 | - rataxes |
|
379 | - rataxes | |
380 | + babar |
|
380 | + babar | |
381 | This is a noop statement so that |
|
381 | This is a noop statement so that | |
382 | this test is still more bytes than success. |
|
382 | this test is still more bytes than success. | |
383 | pad pad pad pad............................................................ |
|
383 | pad pad pad pad............................................................ | |
384 |
|
384 | |||
385 | ERROR: test-failure.t output changed |
|
385 | ERROR: test-failure.t output changed | |
386 | !. |
|
386 | !. | |
387 | --- $TESTTMP/test-failure-unicode.t |
|
387 | --- $TESTTMP/test-failure-unicode.t | |
388 | +++ $TESTTMP/test-failure-unicode.t.err |
|
388 | +++ $TESTTMP/test-failure-unicode.t.err | |
389 | @@ -1,2 +1,2 @@ |
|
389 | @@ -1,2 +1,2 @@ | |
390 | $ echo babar\xce\xb1 (esc) |
|
390 | $ echo babar\xce\xb1 (esc) | |
391 | - l\xce\xb5\xce\xb5t (esc) |
|
391 | - l\xce\xb5\xce\xb5t (esc) | |
392 | + babar\xce\xb1 (esc) |
|
392 | + babar\xce\xb1 (esc) | |
393 |
|
393 | |||
394 | ERROR: test-failure-unicode.t output changed |
|
394 | ERROR: test-failure-unicode.t output changed | |
395 | ! |
|
395 | ! | |
396 | Failed test-failure-unicode.t: output changed |
|
396 | Failed test-failure-unicode.t: output changed | |
397 | Failed test-failure.t: output changed |
|
397 | Failed test-failure.t: output changed | |
398 | # Ran 3 tests, 0 skipped, 2 failed. |
|
398 | # Ran 3 tests, 0 skipped, 2 failed. | |
399 | python hash seed: * (glob) |
|
399 | python hash seed: * (glob) | |
400 | [1] |
|
400 | [1] | |
401 | $ cat xunit.xml |
|
401 | $ cat xunit.xml | |
402 | <?xml version="1.0" encoding="utf-8"?> |
|
402 | <?xml version="1.0" encoding="utf-8"?> | |
403 | <testsuite errors="0" failures="2" name="run-tests" skipped="0" tests="3"> |
|
403 | <testsuite errors="0" failures="2" name="run-tests" skipped="0" tests="3"> | |
404 | <testcase name="test-success.t" time="*"/> (glob) |
|
404 | <testcase name="test-success.t" time="*"/> (glob) | |
405 | <testcase name="test-failure-unicode.t" time="*"> (glob) |
|
405 | <testcase name="test-failure-unicode.t" time="*"> (glob) | |
406 | <failure message="output changed" type="output-mismatch"><![CDATA[--- $TESTTMP/test-failure-unicode.t (py38 !) |
|
406 | <failure message="output changed" type="output-mismatch"><![CDATA[--- $TESTTMP/test-failure-unicode.t (py38 !) | |
407 | <failure message="output changed" type="output-mismatch"> (no-py38 !) |
|
407 | <failure message="output changed" type="output-mismatch"> (no-py38 !) | |
408 | <![CDATA[--- $TESTTMP/test-failure-unicode.t (no-py38 !) |
|
408 | <![CDATA[--- $TESTTMP/test-failure-unicode.t (no-py38 !) | |
409 | +++ $TESTTMP/test-failure-unicode.t.err |
|
409 | +++ $TESTTMP/test-failure-unicode.t.err | |
410 | @@ -1,2 +1,2 @@ |
|
410 | @@ -1,2 +1,2 @@ | |
411 | $ echo babar\xce\xb1 (esc) |
|
411 | $ echo babar\xce\xb1 (esc) | |
412 | - l\xce\xb5\xce\xb5t (esc) |
|
412 | - l\xce\xb5\xce\xb5t (esc) | |
413 | + babar\xce\xb1 (esc) |
|
413 | + babar\xce\xb1 (esc) | |
414 | ]]></failure> (py38 !) |
|
414 | ]]></failure> (py38 !) | |
415 | ]]> </failure> (no-py38 !) |
|
415 | ]]> </failure> (no-py38 !) | |
416 | </testcase> |
|
416 | </testcase> | |
417 | <testcase name="test-failure.t" time="*"> (glob) |
|
417 | <testcase name="test-failure.t" time="*"> (glob) | |
418 | <failure message="output changed" type="output-mismatch"><![CDATA[--- $TESTTMP/test-failure.t (py38 !) |
|
418 | <failure message="output changed" type="output-mismatch"><![CDATA[--- $TESTTMP/test-failure.t (py38 !) | |
419 | <failure message="output changed" type="output-mismatch"> (no-py38 !) |
|
419 | <failure message="output changed" type="output-mismatch"> (no-py38 !) | |
420 | <![CDATA[--- $TESTTMP/test-failure.t (no-py38 !) |
|
420 | <![CDATA[--- $TESTTMP/test-failure.t (no-py38 !) | |
421 | +++ $TESTTMP/test-failure.t.err |
|
421 | +++ $TESTTMP/test-failure.t.err | |
422 | @@ -1,5 +1,5 @@ |
|
422 | @@ -1,5 +1,5 @@ | |
423 | $ echo babar |
|
423 | $ echo babar | |
424 | - rataxes |
|
424 | - rataxes | |
425 | + babar |
|
425 | + babar | |
426 | This is a noop statement so that |
|
426 | This is a noop statement so that | |
427 | this test is still more bytes than success. |
|
427 | this test is still more bytes than success. | |
428 | pad pad pad pad............................................................ |
|
428 | pad pad pad pad............................................................ | |
429 | ]]></failure> (py38 !) |
|
429 | ]]></failure> (py38 !) | |
430 | ]]> </failure> (no-py38 !) |
|
430 | ]]> </failure> (no-py38 !) | |
431 | </testcase> |
|
431 | </testcase> | |
432 | </testsuite> |
|
432 | </testsuite> | |
433 |
|
433 | |||
434 | $ cat .testtimes |
|
434 | $ cat .testtimes | |
435 | test-empty.t * (glob) |
|
435 | test-empty.t * (glob) | |
436 | test-failure-globs.t * (glob) |
|
436 | test-failure-globs.t * (glob) | |
437 | test-failure-unicode.t * (glob) |
|
437 | test-failure-unicode.t * (glob) | |
438 | test-failure.t * (glob) |
|
438 | test-failure.t * (glob) | |
439 | test-success.t * (glob) |
|
439 | test-success.t * (glob) | |
440 |
|
440 | |||
441 | $ rt --list-tests |
|
441 | $ rt --list-tests | |
442 | test-failure-unicode.t |
|
442 | test-failure-unicode.t | |
443 | test-failure.t |
|
443 | test-failure.t | |
444 | test-success.t |
|
444 | test-success.t | |
445 |
|
445 | |||
446 | $ rt --list-tests --json |
|
446 | $ rt --list-tests --json | |
447 | test-failure-unicode.t |
|
447 | test-failure-unicode.t | |
448 | test-failure.t |
|
448 | test-failure.t | |
449 | test-success.t |
|
449 | test-success.t | |
450 | $ cat report.json |
|
450 | $ cat report.json | |
451 | testreport ={ |
|
451 | testreport ={ | |
452 | "test-failure-unicode.t": { |
|
452 | "test-failure-unicode.t": { | |
453 | "result": "success" |
|
453 | "result": "success" | |
454 | }, |
|
454 | }, | |
455 | "test-failure.t": { |
|
455 | "test-failure.t": { | |
456 | "result": "success" |
|
456 | "result": "success" | |
457 | }, |
|
457 | }, | |
458 | "test-success.t": { |
|
458 | "test-success.t": { | |
459 | "result": "success" |
|
459 | "result": "success" | |
460 | } |
|
460 | } | |
461 | } (no-eol) |
|
461 | } (no-eol) | |
462 |
|
462 | |||
463 | $ rt --list-tests --xunit=xunit.xml |
|
463 | $ rt --list-tests --xunit=xunit.xml | |
464 | test-failure-unicode.t |
|
464 | test-failure-unicode.t | |
465 | test-failure.t |
|
465 | test-failure.t | |
466 | test-success.t |
|
466 | test-success.t | |
467 | $ cat xunit.xml |
|
467 | $ cat xunit.xml | |
468 | <?xml version="1.0" encoding="utf-8"?> |
|
468 | <?xml version="1.0" encoding="utf-8"?> | |
469 | <testsuite errors="0" failures="0" name="run-tests" skipped="0" tests="0"> |
|
469 | <testsuite errors="0" failures="0" name="run-tests" skipped="0" tests="0"> | |
470 | <testcase name="test-failure-unicode.t"/> |
|
470 | <testcase name="test-failure-unicode.t"/> | |
471 | <testcase name="test-failure.t"/> |
|
471 | <testcase name="test-failure.t"/> | |
472 | <testcase name="test-success.t"/> |
|
472 | <testcase name="test-success.t"/> | |
473 | </testsuite> |
|
473 | </testsuite> | |
474 |
|
474 | |||
475 | $ rt --list-tests test-failure* --json --xunit=xunit.xml --outputdir output |
|
475 | $ rt --list-tests test-failure* --json --xunit=xunit.xml --outputdir output | |
476 | test-failure-unicode.t |
|
476 | test-failure-unicode.t | |
477 | test-failure.t |
|
477 | test-failure.t | |
478 | $ cat output/report.json |
|
478 | $ cat output/report.json | |
479 | testreport ={ |
|
479 | testreport ={ | |
480 | "test-failure-unicode.t": { |
|
480 | "test-failure-unicode.t": { | |
481 | "result": "success" |
|
481 | "result": "success" | |
482 | }, |
|
482 | }, | |
483 | "test-failure.t": { |
|
483 | "test-failure.t": { | |
484 | "result": "success" |
|
484 | "result": "success" | |
485 | } |
|
485 | } | |
486 | } (no-eol) |
|
486 | } (no-eol) | |
487 | $ cat xunit.xml |
|
487 | $ cat xunit.xml | |
488 | <?xml version="1.0" encoding="utf-8"?> |
|
488 | <?xml version="1.0" encoding="utf-8"?> | |
489 | <testsuite errors="0" failures="0" name="run-tests" skipped="0" tests="0"> |
|
489 | <testsuite errors="0" failures="0" name="run-tests" skipped="0" tests="0"> | |
490 | <testcase name="test-failure-unicode.t"/> |
|
490 | <testcase name="test-failure-unicode.t"/> | |
491 | <testcase name="test-failure.t"/> |
|
491 | <testcase name="test-failure.t"/> | |
492 | </testsuite> |
|
492 | </testsuite> | |
493 |
|
493 | |||
494 | $ rm test-failure-unicode.t |
|
494 | $ rm test-failure-unicode.t | |
495 |
|
495 | |||
496 | test for --retest |
|
496 | test for --retest | |
497 | ==================== |
|
497 | ==================== | |
498 |
|
498 | |||
499 | $ rt --retest |
|
499 | $ rt --retest | |
500 | running 1 tests using 1 parallel processes |
|
500 | running 1 tests using 1 parallel processes | |
501 |
|
501 | |||
502 | --- $TESTTMP/test-failure.t |
|
502 | --- $TESTTMP/test-failure.t | |
503 | +++ $TESTTMP/test-failure.t.err |
|
503 | +++ $TESTTMP/test-failure.t.err | |
504 | @@ -1,5 +1,5 @@ |
|
504 | @@ -1,5 +1,5 @@ | |
505 | $ echo babar |
|
505 | $ echo babar | |
506 | - rataxes |
|
506 | - rataxes | |
507 | + babar |
|
507 | + babar | |
508 | This is a noop statement so that |
|
508 | This is a noop statement so that | |
509 | this test is still more bytes than success. |
|
509 | this test is still more bytes than success. | |
510 | pad pad pad pad............................................................ |
|
510 | pad pad pad pad............................................................ | |
511 |
|
511 | |||
512 | ERROR: test-failure.t output changed |
|
512 | ERROR: test-failure.t output changed | |
513 | ! |
|
513 | ! | |
514 | Failed test-failure.t: output changed |
|
514 | Failed test-failure.t: output changed | |
515 | # Ran 1 tests, 0 skipped, 1 failed. |
|
515 | # Ran 1 tests, 0 skipped, 1 failed. | |
516 | python hash seed: * (glob) |
|
516 | python hash seed: * (glob) | |
517 | [1] |
|
517 | [1] | |
518 |
|
518 | |||
519 | --retest works with --outputdir |
|
519 | --retest works with --outputdir | |
520 | $ rm -r output |
|
520 | $ rm -r output | |
521 | $ mkdir output |
|
521 | $ mkdir output | |
522 | $ mv test-failure.t.err output |
|
522 | $ mv test-failure.t.err output | |
523 | $ rt --retest --outputdir output |
|
523 | $ rt --retest --outputdir output | |
524 | running 1 tests using 1 parallel processes |
|
524 | running 1 tests using 1 parallel processes | |
525 |
|
525 | |||
526 | --- $TESTTMP/test-failure.t |
|
526 | --- $TESTTMP/test-failure.t | |
527 | +++ $TESTTMP/output/test-failure.t.err |
|
527 | +++ $TESTTMP/output/test-failure.t.err | |
528 | @@ -1,5 +1,5 @@ |
|
528 | @@ -1,5 +1,5 @@ | |
529 | $ echo babar |
|
529 | $ echo babar | |
530 | - rataxes |
|
530 | - rataxes | |
531 | + babar |
|
531 | + babar | |
532 | This is a noop statement so that |
|
532 | This is a noop statement so that | |
533 | this test is still more bytes than success. |
|
533 | this test is still more bytes than success. | |
534 | pad pad pad pad............................................................ |
|
534 | pad pad pad pad............................................................ | |
535 |
|
535 | |||
536 | ERROR: test-failure.t output changed |
|
536 | ERROR: test-failure.t output changed | |
537 | ! |
|
537 | ! | |
538 | Failed test-failure.t: output changed |
|
538 | Failed test-failure.t: output changed | |
539 | # Ran 1 tests, 0 skipped, 1 failed. |
|
539 | # Ran 1 tests, 0 skipped, 1 failed. | |
540 | python hash seed: * (glob) |
|
540 | python hash seed: * (glob) | |
541 | [1] |
|
541 | [1] | |
542 |
|
542 | |||
543 | Selecting Tests To Run |
|
543 | Selecting Tests To Run | |
544 | ====================== |
|
544 | ====================== | |
545 |
|
545 | |||
546 | successful |
|
546 | successful | |
547 |
|
547 | |||
548 | $ rt test-success.t |
|
548 | $ rt test-success.t | |
549 | running 1 tests using 1 parallel processes |
|
549 | running 1 tests using 1 parallel processes | |
550 | . |
|
550 | . | |
551 | # Ran 1 tests, 0 skipped, 0 failed. |
|
551 | # Ran 1 tests, 0 skipped, 0 failed. | |
552 |
|
552 | |||
553 | success w/ keyword |
|
553 | success w/ keyword | |
554 | $ rt -k xyzzy |
|
554 | $ rt -k xyzzy | |
555 | running 2 tests using 1 parallel processes |
|
555 | running 2 tests using 1 parallel processes | |
556 | . |
|
556 | . | |
557 | # Ran 2 tests, 1 skipped, 0 failed. |
|
557 | # Ran 2 tests, 1 skipped, 0 failed. | |
558 |
|
558 | |||
559 | failed |
|
559 | failed | |
560 |
|
560 | |||
561 | $ rt test-failure.t |
|
561 | $ rt test-failure.t | |
562 | running 1 tests using 1 parallel processes |
|
562 | running 1 tests using 1 parallel processes | |
563 |
|
563 | |||
564 | --- $TESTTMP/test-failure.t |
|
564 | --- $TESTTMP/test-failure.t | |
565 | +++ $TESTTMP/test-failure.t.err |
|
565 | +++ $TESTTMP/test-failure.t.err | |
566 | @@ -1,5 +1,5 @@ |
|
566 | @@ -1,5 +1,5 @@ | |
567 | $ echo babar |
|
567 | $ echo babar | |
568 | - rataxes |
|
568 | - rataxes | |
569 | + babar |
|
569 | + babar | |
570 | This is a noop statement so that |
|
570 | This is a noop statement so that | |
571 | this test is still more bytes than success. |
|
571 | this test is still more bytes than success. | |
572 | pad pad pad pad............................................................ |
|
572 | pad pad pad pad............................................................ | |
573 |
|
573 | |||
574 | ERROR: test-failure.t output changed |
|
574 | ERROR: test-failure.t output changed | |
575 | ! |
|
575 | ! | |
576 | Failed test-failure.t: output changed |
|
576 | Failed test-failure.t: output changed | |
577 | # Ran 1 tests, 0 skipped, 1 failed. |
|
577 | # Ran 1 tests, 0 skipped, 1 failed. | |
578 | python hash seed: * (glob) |
|
578 | python hash seed: * (glob) | |
579 | [1] |
|
579 | [1] | |
580 |
|
580 | |||
581 | failure w/ keyword |
|
581 | failure w/ keyword | |
582 | $ rt -k rataxes |
|
582 | $ rt -k rataxes | |
583 | running 2 tests using 1 parallel processes |
|
583 | running 2 tests using 1 parallel processes | |
584 |
|
584 | |||
585 | --- $TESTTMP/test-failure.t |
|
585 | --- $TESTTMP/test-failure.t | |
586 | +++ $TESTTMP/test-failure.t.err |
|
586 | +++ $TESTTMP/test-failure.t.err | |
587 | @@ -1,5 +1,5 @@ |
|
587 | @@ -1,5 +1,5 @@ | |
588 | $ echo babar |
|
588 | $ echo babar | |
589 | - rataxes |
|
589 | - rataxes | |
590 | + babar |
|
590 | + babar | |
591 | This is a noop statement so that |
|
591 | This is a noop statement so that | |
592 | this test is still more bytes than success. |
|
592 | this test is still more bytes than success. | |
593 | pad pad pad pad............................................................ |
|
593 | pad pad pad pad............................................................ | |
594 |
|
594 | |||
595 | ERROR: test-failure.t output changed |
|
595 | ERROR: test-failure.t output changed | |
596 | ! |
|
596 | ! | |
597 | Failed test-failure.t: output changed |
|
597 | Failed test-failure.t: output changed | |
598 | # Ran 2 tests, 1 skipped, 1 failed. |
|
598 | # Ran 2 tests, 1 skipped, 1 failed. | |
599 | python hash seed: * (glob) |
|
599 | python hash seed: * (glob) | |
600 | [1] |
|
600 | [1] | |
601 |
|
601 | |||
602 | Verify that when a process fails to start we show a useful message |
|
602 | Verify that when a process fails to start we show a useful message | |
603 | ================================================================== |
|
603 | ================================================================== | |
604 |
|
604 | |||
605 | $ cat > test-serve-fail.t <<EOF |
|
605 | $ cat > test-serve-fail.t <<EOF | |
606 | > $ echo 'abort: child process failed to start blah' |
|
606 | > $ echo 'abort: child process failed to start blah' | |
607 | > EOF |
|
607 | > EOF | |
608 | $ rt test-serve-fail.t |
|
608 | $ rt test-serve-fail.t | |
609 | running 1 tests using 1 parallel processes |
|
609 | running 1 tests using 1 parallel processes | |
610 |
|
610 | |||
611 | --- $TESTTMP/test-serve-fail.t |
|
611 | --- $TESTTMP/test-serve-fail.t | |
612 | +++ $TESTTMP/test-serve-fail.t.err |
|
612 | +++ $TESTTMP/test-serve-fail.t.err | |
613 | @@ -1* +1,2 @@ (glob) |
|
613 | @@ -1* +1,2 @@ (glob) | |
614 | $ echo 'abort: child process failed to start blah' |
|
614 | $ echo 'abort: child process failed to start blah' | |
615 | + abort: child process failed to start blah |
|
615 | + abort: child process failed to start blah | |
616 |
|
616 | |||
617 | ERROR: test-serve-fail.t output changed |
|
617 | ERROR: test-serve-fail.t output changed | |
618 | ! |
|
618 | ! | |
619 | Failed test-serve-fail.t: server failed to start (HGPORT=*) (glob) |
|
619 | Failed test-serve-fail.t: server failed to start (HGPORT=*) (glob) | |
620 | # Ran 1 tests, 0 skipped, 1 failed. |
|
620 | # Ran 1 tests, 0 skipped, 1 failed. | |
621 | python hash seed: * (glob) |
|
621 | python hash seed: * (glob) | |
622 | [1] |
|
622 | [1] | |
623 | $ rm test-serve-fail.t |
|
623 | $ rm test-serve-fail.t | |
624 |
|
624 | |||
625 | Verify that we can try other ports |
|
625 | Verify that we can try other ports | |
626 | =================================== |
|
626 | =================================== | |
627 |
|
627 | |||
628 | Extensions aren't inherited by the invoked run-tests.py. An extension |
|
628 | Extensions aren't inherited by the invoked run-tests.py. An extension | |
629 | introducing a repository requirement could cause this to fail. So we force |
|
629 | introducing a repository requirement could cause this to fail. So we force | |
630 | HGRCPATH to get a clean environment. |
|
630 | HGRCPATH to get a clean environment. | |
631 |
|
631 | |||
632 | $ HGRCPATH= hg init inuse |
|
632 | $ HGRCPATH= hg init inuse | |
633 | $ hg serve -R inuse -p $HGPORT -d --pid-file=blocks.pid |
|
633 | $ hg serve -R inuse -p $HGPORT -d --pid-file=blocks.pid | |
634 | $ cat blocks.pid >> $DAEMON_PIDS |
|
634 | $ cat blocks.pid >> $DAEMON_PIDS | |
635 | $ cat > test-serve-inuse.t <<EOF |
|
635 | $ cat > test-serve-inuse.t <<EOF | |
636 | > $ hg serve -R `pwd`/inuse -p \$HGPORT -d --pid-file=hg.pid |
|
636 | > $ hg serve -R `pwd`/inuse -p \$HGPORT -d --pid-file=hg.pid | |
637 | > $ cat hg.pid >> \$DAEMON_PIDS |
|
637 | > $ cat hg.pid >> \$DAEMON_PIDS | |
638 | > EOF |
|
638 | > EOF | |
639 | $ rt test-serve-inuse.t |
|
639 | $ rt test-serve-inuse.t | |
640 | running 1 tests using 1 parallel processes |
|
640 | running 1 tests using 1 parallel processes | |
641 | . |
|
641 | . | |
642 | # Ran 1 tests, 0 skipped, 0 failed. |
|
642 | # Ran 1 tests, 0 skipped, 0 failed. | |
643 | $ rm test-serve-inuse.t |
|
643 | $ rm test-serve-inuse.t | |
644 | $ killdaemons.py $DAEMON_PIDS |
|
644 | $ killdaemons.py $DAEMON_PIDS | |
645 |
|
645 | |||
646 | Running In Debug Mode |
|
646 | Running In Debug Mode | |
647 | ====================== |
|
647 | ====================== | |
648 |
|
648 | |||
649 | $ rt --debug 2>&1 | grep -v pwd |
|
649 | $ rt --debug 2>&1 | grep -v pwd | |
650 | running 2 tests using 1 parallel processes |
|
650 | running 2 tests using 1 parallel processes | |
651 | + echo *SALT* 0 0 (glob) |
|
651 | + echo *SALT* 0 0 (glob) | |
652 | *SALT* 0 0 (glob) |
|
652 | *SALT* 0 0 (glob) | |
653 | + echo babar |
|
653 | + echo babar | |
654 | babar |
|
654 | babar | |
655 | + echo *SALT* 10 0 (glob) |
|
655 | + echo *SALT* 10 0 (glob) | |
656 | *SALT* 10 0 (glob) |
|
656 | *SALT* 10 0 (glob) | |
657 | *+ echo *SALT* 0 0 (glob) |
|
657 | *+ echo *SALT* 0 0 (glob) | |
658 | *SALT* 0 0 (glob) |
|
658 | *SALT* 0 0 (glob) | |
659 | + echo babar |
|
659 | + echo babar | |
660 | babar |
|
660 | babar | |
661 | + echo *SALT* 2 0 (glob) |
|
661 | + echo *SALT* 2 0 (glob) | |
662 | *SALT* 2 0 (glob) |
|
662 | *SALT* 2 0 (glob) | |
663 | + echo xyzzy |
|
663 | + echo xyzzy | |
664 | xyzzy |
|
664 | xyzzy | |
665 | + echo *SALT* 9 0 (glob) |
|
665 | + echo *SALT* 9 0 (glob) | |
666 | *SALT* 9 0 (glob) |
|
666 | *SALT* 9 0 (glob) | |
667 | + printf *abc\ndef\nxyz\n* (glob) |
|
667 | + printf *abc\ndef\nxyz\n* (glob) | |
668 | abc |
|
668 | abc | |
669 | def |
|
669 | def | |
670 | xyz |
|
670 | xyz | |
671 | + echo *SALT* 15 0 (glob) |
|
671 | + echo *SALT* 15 0 (glob) | |
672 | *SALT* 15 0 (glob) |
|
672 | *SALT* 15 0 (glob) | |
673 | + printf *zyx\nwvu\ntsr\n* (glob) |
|
673 | + printf *zyx\nwvu\ntsr\n* (glob) | |
674 | zyx |
|
674 | zyx | |
675 | wvu |
|
675 | wvu | |
676 | tsr |
|
676 | tsr | |
677 | + echo *SALT* 22 0 (glob) |
|
677 | + echo *SALT* 22 0 (glob) | |
678 | *SALT* 22 0 (glob) |
|
678 | *SALT* 22 0 (glob) | |
679 | . |
|
679 | . | |
680 | # Ran 2 tests, 0 skipped, 0 failed. |
|
680 | # Ran 2 tests, 0 skipped, 0 failed. | |
681 |
|
681 | |||
682 | Parallel runs |
|
682 | Parallel runs | |
683 | ============== |
|
683 | ============== | |
684 |
|
684 | |||
685 | (duplicate the failing test to get predictable output) |
|
685 | (duplicate the failing test to get predictable output) | |
686 | $ cp test-failure.t test-failure-copy.t |
|
686 | $ cp test-failure.t test-failure-copy.t | |
687 |
|
687 | |||
688 | $ rt --jobs 2 test-failure*.t -n |
|
688 | $ rt --jobs 2 test-failure*.t -n | |
689 | running 2 tests using 2 parallel processes |
|
689 | running 2 tests using 2 parallel processes | |
690 | !! |
|
690 | !! | |
691 | Failed test-failure*.t: output changed (glob) |
|
691 | Failed test-failure*.t: output changed (glob) | |
692 | Failed test-failure*.t: output changed (glob) |
|
692 | Failed test-failure*.t: output changed (glob) | |
693 | # Ran 2 tests, 0 skipped, 2 failed. |
|
693 | # Ran 2 tests, 0 skipped, 2 failed. | |
694 | python hash seed: * (glob) |
|
694 | python hash seed: * (glob) | |
695 | [1] |
|
695 | [1] | |
696 |
|
696 | |||
697 | failures in parallel with --first should only print one failure |
|
697 | failures in parallel with --first should only print one failure | |
698 | $ rt --jobs 2 --first test-failure*.t |
|
698 | $ rt --jobs 2 --first test-failure*.t | |
699 | running 2 tests using 2 parallel processes |
|
699 | running 2 tests using 2 parallel processes | |
700 |
|
700 | |||
701 | --- $TESTTMP/test-failure*.t (glob) |
|
701 | --- $TESTTMP/test-failure*.t (glob) | |
702 | +++ $TESTTMP/test-failure*.t.err (glob) |
|
702 | +++ $TESTTMP/test-failure*.t.err (glob) | |
703 | @@ -1,5 +1,5 @@ |
|
703 | @@ -1,5 +1,5 @@ | |
704 | $ echo babar |
|
704 | $ echo babar | |
705 | - rataxes |
|
705 | - rataxes | |
706 | + babar |
|
706 | + babar | |
707 | This is a noop statement so that |
|
707 | This is a noop statement so that | |
708 | this test is still more bytes than success. |
|
708 | this test is still more bytes than success. | |
709 | pad pad pad pad............................................................ |
|
709 | pad pad pad pad............................................................ | |
710 |
|
710 | |||
711 | Failed test-failure*.t: output changed (glob) |
|
711 | Failed test-failure*.t: output changed (glob) | |
712 | Failed test-failure*.t: output changed (glob) |
|
712 | Failed test-failure*.t: output changed (glob) | |
713 | # Ran 2 tests, 0 skipped, 2 failed. |
|
713 | # Ran 2 tests, 0 skipped, 2 failed. | |
714 | python hash seed: * (glob) |
|
714 | python hash seed: * (glob) | |
715 | [1] |
|
715 | [1] | |
716 |
|
716 | |||
717 |
|
717 | |||
718 | (delete the duplicated test file) |
|
718 | (delete the duplicated test file) | |
719 | $ rm test-failure-copy.t |
|
719 | $ rm test-failure-copy.t | |
720 |
|
720 | |||
721 | multiple runs per test should be parallelized |
|
721 | multiple runs per test should be parallelized | |
722 |
|
722 | |||
723 | $ rt --jobs 2 --runs-per-test 2 test-success.t |
|
723 | $ rt --jobs 2 --runs-per-test 2 test-success.t | |
724 | running 2 tests using 2 parallel processes |
|
724 | running 2 tests using 2 parallel processes | |
725 | .. |
|
725 | .. | |
726 | # Ran 2 tests, 0 skipped, 0 failed. |
|
726 | # Ran 2 tests, 0 skipped, 0 failed. | |
727 |
|
727 | |||
728 | Interactive run |
|
728 | Interactive run | |
729 | =============== |
|
729 | =============== | |
730 |
|
730 | |||
731 | (backup the failing test) |
|
731 | (backup the failing test) | |
732 | $ cp test-failure.t backup |
|
732 | $ cp test-failure.t backup | |
733 |
|
733 | |||
734 | Refuse the fix |
|
734 | Refuse the fix | |
735 |
|
735 | |||
736 | $ echo 'n' | rt -i |
|
736 | $ echo 'n' | rt -i | |
737 | running 2 tests using 1 parallel processes |
|
737 | running 2 tests using 1 parallel processes | |
738 |
|
738 | |||
739 | --- $TESTTMP/test-failure.t |
|
739 | --- $TESTTMP/test-failure.t | |
740 | +++ $TESTTMP/test-failure.t.err |
|
740 | +++ $TESTTMP/test-failure.t.err | |
741 | @@ -1,5 +1,5 @@ |
|
741 | @@ -1,5 +1,5 @@ | |
742 | $ echo babar |
|
742 | $ echo babar | |
743 | - rataxes |
|
743 | - rataxes | |
744 | + babar |
|
744 | + babar | |
745 | This is a noop statement so that |
|
745 | This is a noop statement so that | |
746 | this test is still more bytes than success. |
|
746 | this test is still more bytes than success. | |
747 | pad pad pad pad............................................................ |
|
747 | pad pad pad pad............................................................ | |
748 | Accept this change? [y/N] |
|
748 | Accept this change? [y/N] | |
749 | ERROR: test-failure.t output changed |
|
749 | ERROR: test-failure.t output changed | |
750 | !. |
|
750 | !. | |
751 | Failed test-failure.t: output changed |
|
751 | Failed test-failure.t: output changed | |
752 | # Ran 2 tests, 0 skipped, 1 failed. |
|
752 | # Ran 2 tests, 0 skipped, 1 failed. | |
753 | python hash seed: * (glob) |
|
753 | python hash seed: * (glob) | |
754 | [1] |
|
754 | [1] | |
755 |
|
755 | |||
756 | $ cat test-failure.t |
|
756 | $ cat test-failure.t | |
757 | $ echo babar |
|
757 | $ echo babar | |
758 | rataxes |
|
758 | rataxes | |
759 | This is a noop statement so that |
|
759 | This is a noop statement so that | |
760 | this test is still more bytes than success. |
|
760 | this test is still more bytes than success. | |
761 | pad pad pad pad............................................................ |
|
761 | pad pad pad pad............................................................ | |
762 | pad pad pad pad............................................................ |
|
762 | pad pad pad pad............................................................ | |
763 | pad pad pad pad............................................................ |
|
763 | pad pad pad pad............................................................ | |
764 | pad pad pad pad............................................................ |
|
764 | pad pad pad pad............................................................ | |
765 | pad pad pad pad............................................................ |
|
765 | pad pad pad pad............................................................ | |
766 | pad pad pad pad............................................................ |
|
766 | pad pad pad pad............................................................ | |
767 |
|
767 | |||
768 | Interactive with custom view |
|
768 | Interactive with custom view | |
769 |
|
769 | |||
770 | $ echo 'n' | rt -i --view echo |
|
770 | $ echo 'n' | rt -i --view echo | |
771 | running 2 tests using 1 parallel processes |
|
771 | running 2 tests using 1 parallel processes | |
772 | $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err |
|
772 | $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err | |
773 | Accept this change? [y/N]* (glob) |
|
773 | Accept this change? [y/N]* (glob) | |
774 | ERROR: test-failure.t output changed |
|
774 | ERROR: test-failure.t output changed | |
775 | !. |
|
775 | !. | |
776 | Failed test-failure.t: output changed |
|
776 | Failed test-failure.t: output changed | |
777 | # Ran 2 tests, 0 skipped, 1 failed. |
|
777 | # Ran 2 tests, 0 skipped, 1 failed. | |
778 | python hash seed: * (glob) |
|
778 | python hash seed: * (glob) | |
779 | [1] |
|
779 | [1] | |
780 |
|
780 | |||
781 | View the fix |
|
781 | View the fix | |
782 |
|
782 | |||
783 | $ echo 'y' | rt --view echo |
|
783 | $ echo 'y' | rt --view echo | |
784 | running 2 tests using 1 parallel processes |
|
784 | running 2 tests using 1 parallel processes | |
785 | $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err |
|
785 | $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err | |
786 |
|
786 | |||
787 | ERROR: test-failure.t output changed |
|
787 | ERROR: test-failure.t output changed | |
788 | !. |
|
788 | !. | |
789 | Failed test-failure.t: output changed |
|
789 | Failed test-failure.t: output changed | |
790 | # Ran 2 tests, 0 skipped, 1 failed. |
|
790 | # Ran 2 tests, 0 skipped, 1 failed. | |
791 | python hash seed: * (glob) |
|
791 | python hash seed: * (glob) | |
792 | [1] |
|
792 | [1] | |
793 |
|
793 | |||
794 | Accept the fix |
|
794 | Accept the fix | |
795 |
|
795 | |||
796 | $ cat >> test-failure.t <<EOF |
|
796 | $ cat >> test-failure.t <<EOF | |
797 | > $ echo 'saved backup bundle to \$TESTTMP/foo.hg' |
|
797 | > $ echo 'saved backup bundle to \$TESTTMP/foo.hg' | |
798 | > saved backup bundle to \$TESTTMP/foo.hg |
|
798 | > saved backup bundle to \$TESTTMP/foo.hg | |
799 | > $ echo 'saved backup bundle to \$TESTTMP/foo.hg' |
|
799 | > $ echo 'saved backup bundle to \$TESTTMP/foo.hg' | |
800 | > saved backup bundle to $TESTTMP\\foo.hg |
|
800 | > saved backup bundle to $TESTTMP\\foo.hg | |
801 | > $ echo 'saved backup bundle to \$TESTTMP/foo.hg' |
|
801 | > $ echo 'saved backup bundle to \$TESTTMP/foo.hg' | |
802 | > saved backup bundle to \$TESTTMP/*.hg (glob) |
|
802 | > saved backup bundle to \$TESTTMP/*.hg (glob) | |
803 | > EOF |
|
803 | > EOF | |
804 | $ echo 'y' | rt -i 2>&1 |
|
804 | $ echo 'y' | rt -i 2>&1 | |
805 | running 2 tests using 1 parallel processes |
|
805 | running 2 tests using 1 parallel processes | |
806 |
|
806 | |||
807 | --- $TESTTMP/test-failure.t |
|
807 | --- $TESTTMP/test-failure.t | |
808 | +++ $TESTTMP/test-failure.t.err |
|
808 | +++ $TESTTMP/test-failure.t.err | |
809 | @@ -1,5 +1,5 @@ |
|
809 | @@ -1,5 +1,5 @@ | |
810 | $ echo babar |
|
810 | $ echo babar | |
811 | - rataxes |
|
811 | - rataxes | |
812 | + babar |
|
812 | + babar | |
813 | This is a noop statement so that |
|
813 | This is a noop statement so that | |
814 | this test is still more bytes than success. |
|
814 | this test is still more bytes than success. | |
815 | pad pad pad pad............................................................ |
|
815 | pad pad pad pad............................................................ | |
816 | @@ -11,6 +11,6 @@ |
|
816 | @@ -11,6 +11,6 @@ | |
817 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' |
|
817 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' | |
818 | saved backup bundle to $TESTTMP/foo.hg |
|
818 | saved backup bundle to $TESTTMP/foo.hg | |
819 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' |
|
819 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' | |
820 | - saved backup bundle to $TESTTMP\foo.hg |
|
820 | - saved backup bundle to $TESTTMP\foo.hg | |
821 | + saved backup bundle to $TESTTMP/foo.hg |
|
821 | + saved backup bundle to $TESTTMP/foo.hg | |
822 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' |
|
822 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' | |
823 | saved backup bundle to $TESTTMP/*.hg (glob) |
|
823 | saved backup bundle to $TESTTMP/*.hg (glob) | |
824 | Accept this change? [y/N] .. |
|
824 | Accept this change? [y/N] .. | |
825 | # Ran 2 tests, 0 skipped, 0 failed. |
|
825 | # Ran 2 tests, 0 skipped, 0 failed. | |
826 |
|
826 | |||
827 | $ sed -e 's,(glob)$,&<,g' test-failure.t |
|
827 | $ sed -e 's,(glob)$,&<,g' test-failure.t | |
828 | $ echo babar |
|
828 | $ echo babar | |
829 | babar |
|
829 | babar | |
830 | This is a noop statement so that |
|
830 | This is a noop statement so that | |
831 | this test is still more bytes than success. |
|
831 | this test is still more bytes than success. | |
832 | pad pad pad pad............................................................ |
|
832 | pad pad pad pad............................................................ | |
833 | pad pad pad pad............................................................ |
|
833 | pad pad pad pad............................................................ | |
834 | pad pad pad pad............................................................ |
|
834 | pad pad pad pad............................................................ | |
835 | pad pad pad pad............................................................ |
|
835 | pad pad pad pad............................................................ | |
836 | pad pad pad pad............................................................ |
|
836 | pad pad pad pad............................................................ | |
837 | pad pad pad pad............................................................ |
|
837 | pad pad pad pad............................................................ | |
838 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' |
|
838 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' | |
839 | saved backup bundle to $TESTTMP/foo.hg |
|
839 | saved backup bundle to $TESTTMP/foo.hg | |
840 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' |
|
840 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' | |
841 | saved backup bundle to $TESTTMP/foo.hg |
|
841 | saved backup bundle to $TESTTMP/foo.hg | |
842 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' |
|
842 | $ echo 'saved backup bundle to $TESTTMP/foo.hg' | |
843 | saved backup bundle to $TESTTMP/*.hg (glob)< |
|
843 | saved backup bundle to $TESTTMP/*.hg (glob)< | |
844 |
|
844 | |||
845 | $ rm test-failure.t |
|
845 | $ rm test-failure.t | |
846 |
|
846 | |||
847 | Race condition - test file was modified when test is running |
|
847 | Race condition - test file was modified when test is running | |
848 |
|
848 | |||
849 | $ TESTRACEDIR=`pwd` |
|
849 | $ TESTRACEDIR=`pwd` | |
850 | $ export TESTRACEDIR |
|
850 | $ export TESTRACEDIR | |
851 | $ cat > test-race.t <<EOF |
|
851 | $ cat > test-race.t <<EOF | |
852 | > $ echo 1 |
|
852 | > $ echo 1 | |
853 | > $ echo "# a new line" >> $TESTRACEDIR/test-race.t |
|
853 | > $ echo "# a new line" >> $TESTRACEDIR/test-race.t | |
854 | > EOF |
|
854 | > EOF | |
855 |
|
855 | |||
856 | $ rt -i test-race.t |
|
856 | $ rt -i test-race.t | |
857 | running 1 tests using 1 parallel processes |
|
857 | running 1 tests using 1 parallel processes | |
858 |
|
858 | |||
859 | --- $TESTTMP/test-race.t |
|
859 | --- $TESTTMP/test-race.t | |
860 | +++ $TESTTMP/test-race.t.err |
|
860 | +++ $TESTTMP/test-race.t.err | |
861 | @@ -1,2 +1,3 @@ |
|
861 | @@ -1,2 +1,3 @@ | |
862 | $ echo 1 |
|
862 | $ echo 1 | |
863 | + 1 |
|
863 | + 1 | |
864 | $ echo "# a new line" >> $TESTTMP/test-race.t |
|
864 | $ echo "# a new line" >> $TESTTMP/test-race.t | |
865 | Reference output has changed (run again to prompt changes) |
|
865 | Reference output has changed (run again to prompt changes) | |
866 | ERROR: test-race.t output changed |
|
866 | ERROR: test-race.t output changed | |
867 | ! |
|
867 | ! | |
868 | Failed test-race.t: output changed |
|
868 | Failed test-race.t: output changed | |
869 | # Ran 1 tests, 0 skipped, 1 failed. |
|
869 | # Ran 1 tests, 0 skipped, 1 failed. | |
870 | python hash seed: * (glob) |
|
870 | python hash seed: * (glob) | |
871 | [1] |
|
871 | [1] | |
872 |
|
872 | |||
873 | $ rm test-race.t |
|
873 | $ rm test-race.t | |
874 |
|
874 | |||
875 | When "#testcases" is used in .t files |
|
875 | When "#testcases" is used in .t files | |
876 |
|
876 | |||
877 | $ cat >> test-cases.t <<EOF |
|
877 | $ cat >> test-cases.t <<EOF | |
878 | > #testcases a b |
|
878 | > #testcases a b | |
879 | > #if a |
|
879 | > #if a | |
880 | > $ echo 1 |
|
880 | > $ echo 1 | |
881 | > #endif |
|
881 | > #endif | |
882 | > #if b |
|
882 | > #if b | |
883 | > $ echo 2 |
|
883 | > $ echo 2 | |
884 | > #endif |
|
884 | > #endif | |
885 | > EOF |
|
885 | > EOF | |
886 |
|
886 | |||
887 | $ cat <<EOF | rt -i test-cases.t 2>&1 |
|
887 | $ cat <<EOF | rt -i test-cases.t 2>&1 | |
888 | > y |
|
888 | > y | |
889 | > y |
|
889 | > y | |
890 | > EOF |
|
890 | > EOF | |
891 | running 2 tests using 1 parallel processes |
|
891 | running 2 tests using 1 parallel processes | |
892 |
|
892 | |||
893 | --- $TESTTMP/test-cases.t |
|
893 | --- $TESTTMP/test-cases.t | |
894 | +++ $TESTTMP/test-cases.t#a.err |
|
894 | +++ $TESTTMP/test-cases.t#a.err | |
895 | @@ -1,6 +1,7 @@ |
|
895 | @@ -1,6 +1,7 @@ | |
896 | #testcases a b |
|
896 | #testcases a b | |
897 | #if a |
|
897 | #if a | |
898 | $ echo 1 |
|
898 | $ echo 1 | |
899 | + 1 |
|
899 | + 1 | |
900 | #endif |
|
900 | #endif | |
901 | #if b |
|
901 | #if b | |
902 | $ echo 2 |
|
902 | $ echo 2 | |
903 | Accept this change? [y/N] . |
|
903 | Accept this change? [y/N] . | |
904 | --- $TESTTMP/test-cases.t |
|
904 | --- $TESTTMP/test-cases.t | |
905 | +++ $TESTTMP/test-cases.t#b.err |
|
905 | +++ $TESTTMP/test-cases.t#b.err | |
906 | @@ -5,4 +5,5 @@ |
|
906 | @@ -5,4 +5,5 @@ | |
907 | #endif |
|
907 | #endif | |
908 | #if b |
|
908 | #if b | |
909 | $ echo 2 |
|
909 | $ echo 2 | |
910 | + 2 |
|
910 | + 2 | |
911 | #endif |
|
911 | #endif | |
912 | Accept this change? [y/N] . |
|
912 | Accept this change? [y/N] . | |
913 | # Ran 2 tests, 0 skipped, 0 failed. |
|
913 | # Ran 2 tests, 0 skipped, 0 failed. | |
914 |
|
914 | |||
915 | $ cat test-cases.t |
|
915 | $ cat test-cases.t | |
916 | #testcases a b |
|
916 | #testcases a b | |
917 | #if a |
|
917 | #if a | |
918 | $ echo 1 |
|
918 | $ echo 1 | |
919 | 1 |
|
919 | 1 | |
920 | #endif |
|
920 | #endif | |
921 | #if b |
|
921 | #if b | |
922 | $ echo 2 |
|
922 | $ echo 2 | |
923 | 2 |
|
923 | 2 | |
924 | #endif |
|
924 | #endif | |
925 |
|
925 | |||
926 | $ cat >> test-cases.t <<'EOF' |
|
926 | $ cat >> test-cases.t <<'EOF' | |
927 | > #if a |
|
927 | > #if a | |
928 | > $ NAME=A |
|
928 | > $ NAME=A | |
929 | > #else |
|
929 | > #else | |
930 | > $ NAME=B |
|
930 | > $ NAME=B | |
931 | > #endif |
|
931 | > #endif | |
932 | > $ echo $NAME |
|
932 | > $ echo $NAME | |
933 | > A (a !) |
|
933 | > A (a !) | |
934 | > B (b !) |
|
934 | > B (b !) | |
935 | > EOF |
|
935 | > EOF | |
936 | $ rt test-cases.t |
|
936 | $ rt test-cases.t | |
937 | running 2 tests using 1 parallel processes |
|
937 | running 2 tests using 1 parallel processes | |
938 | .. |
|
938 | .. | |
939 | # Ran 2 tests, 0 skipped, 0 failed. |
|
939 | # Ran 2 tests, 0 skipped, 0 failed. | |
940 |
|
940 | |||
941 | When using multiple dimensions of "#testcases" in .t files |
|
941 | When using multiple dimensions of "#testcases" in .t files | |
942 |
|
942 | |||
943 | $ cat > test-cases.t <<'EOF' |
|
943 | $ cat > test-cases.t <<'EOF' | |
944 | > #testcases a b |
|
944 | > #testcases a b | |
945 | > #testcases c d |
|
945 | > #testcases c d | |
946 | > #if a d |
|
946 | > #if a d | |
947 | > $ echo $TESTCASE |
|
947 | > $ echo $TESTCASE | |
948 | > a#d |
|
948 | > a#d | |
949 | > #endif |
|
949 | > #endif | |
950 | > #if b c |
|
950 | > #if b c | |
951 | > $ echo yes |
|
951 | > $ echo yes | |
952 | > no |
|
952 | > no | |
953 | > #endif |
|
953 | > #endif | |
954 | > EOF |
|
954 | > EOF | |
955 | $ rt test-cases.t |
|
955 | $ rt test-cases.t | |
956 | running 4 tests using 1 parallel processes |
|
956 | running 4 tests using 1 parallel processes | |
957 | .. |
|
957 | .. | |
958 | --- $TESTTMP/test-cases.t |
|
958 | --- $TESTTMP/test-cases.t | |
959 | +++ $TESTTMP/test-cases.t#b#c.err |
|
959 | +++ $TESTTMP/test-cases.t#b#c.err | |
960 | @@ -6,5 +6,5 @@ |
|
960 | @@ -6,5 +6,5 @@ | |
961 | #endif |
|
961 | #endif | |
962 | #if b c |
|
962 | #if b c | |
963 | $ echo yes |
|
963 | $ echo yes | |
964 | - no |
|
964 | - no | |
965 | + yes |
|
965 | + yes | |
966 | #endif |
|
966 | #endif | |
967 |
|
967 | |||
968 | ERROR: test-cases.t#b#c output changed |
|
968 | ERROR: test-cases.t#b#c output changed | |
969 | !. |
|
969 | !. | |
970 | Failed test-cases.t#b#c: output changed |
|
970 | Failed test-cases.t#b#c: output changed | |
971 | # Ran 4 tests, 0 skipped, 1 failed. |
|
971 | # Ran 4 tests, 0 skipped, 1 failed. | |
972 | python hash seed: * (glob) |
|
972 | python hash seed: * (glob) | |
973 | [1] |
|
973 | [1] | |
974 |
|
974 | |||
975 | $ rt --retest |
|
975 | $ rt --retest | |
976 | running 1 tests using 1 parallel processes |
|
976 | running 1 tests using 1 parallel processes | |
977 |
|
977 | |||
978 | --- $TESTTMP/test-cases.t |
|
978 | --- $TESTTMP/test-cases.t | |
979 | +++ $TESTTMP/test-cases.t#b#c.err |
|
979 | +++ $TESTTMP/test-cases.t#b#c.err | |
980 | @@ -6,5 +6,5 @@ |
|
980 | @@ -6,5 +6,5 @@ | |
981 | #endif |
|
981 | #endif | |
982 | #if b c |
|
982 | #if b c | |
983 | $ echo yes |
|
983 | $ echo yes | |
984 | - no |
|
984 | - no | |
985 | + yes |
|
985 | + yes | |
986 | #endif |
|
986 | #endif | |
987 |
|
987 | |||
988 | ERROR: test-cases.t#b#c output changed |
|
988 | ERROR: test-cases.t#b#c output changed | |
989 | ! |
|
989 | ! | |
990 | Failed test-cases.t#b#c: output changed |
|
990 | Failed test-cases.t#b#c: output changed | |
991 | # Ran 1 tests, 0 skipped, 1 failed. |
|
991 | # Ran 1 tests, 0 skipped, 1 failed. | |
992 | python hash seed: * (glob) |
|
992 | python hash seed: * (glob) | |
993 | [1] |
|
993 | [1] | |
994 | $ rm test-cases.t#b#c.err |
|
994 | $ rm test-cases.t#b#c.err | |
995 | $ rm test-cases.t |
|
995 | $ rm test-cases.t | |
996 |
|
996 | |||
997 | (reinstall) |
|
997 | (reinstall) | |
998 | $ mv backup test-failure.t |
|
998 | $ mv backup test-failure.t | |
999 |
|
999 | |||
1000 | No Diff |
|
1000 | No Diff | |
1001 | =============== |
|
1001 | =============== | |
1002 |
|
1002 | |||
1003 | $ rt --nodiff |
|
1003 | $ rt --nodiff | |
1004 | running 2 tests using 1 parallel processes |
|
1004 | running 2 tests using 1 parallel processes | |
1005 | !. |
|
1005 | !. | |
1006 | Failed test-failure.t: output changed |
|
1006 | Failed test-failure.t: output changed | |
1007 | # Ran 2 tests, 0 skipped, 1 failed. |
|
1007 | # Ran 2 tests, 0 skipped, 1 failed. | |
1008 | python hash seed: * (glob) |
|
1008 | python hash seed: * (glob) | |
1009 | [1] |
|
1009 | [1] | |
1010 |
|
1010 | |||
1011 | test --tmpdir support |
|
1011 | test --tmpdir support | |
1012 | $ rt --tmpdir=$TESTTMP/keep test-success.t |
|
1012 | $ rt --tmpdir=$TESTTMP/keep test-success.t | |
1013 | running 1 tests using 1 parallel processes |
|
1013 | running 1 tests using 1 parallel processes | |
1014 |
|
1014 | |||
1015 | Keeping testtmp dir: $TESTTMP/keep/child1/test-success.t |
|
1015 | Keeping testtmp dir: $TESTTMP/keep/child1/test-success.t | |
1016 | Keeping threadtmp dir: $TESTTMP/keep/child1 |
|
1016 | Keeping threadtmp dir: $TESTTMP/keep/child1 | |
1017 | . |
|
1017 | . | |
1018 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1018 | # Ran 1 tests, 0 skipped, 0 failed. | |
1019 |
|
1019 | |||
1020 | timeouts |
|
1020 | timeouts | |
1021 | ======== |
|
1021 | ======== | |
1022 | $ cat > test-timeout.t <<EOF |
|
1022 | $ cat > test-timeout.t <<EOF | |
1023 | > $ sleep 2 |
|
1023 | > $ sleep 2 | |
1024 | > $ echo pass |
|
1024 | > $ echo pass | |
1025 | > pass |
|
1025 | > pass | |
1026 | > EOF |
|
1026 | > EOF | |
1027 | > echo '#require slow' > test-slow-timeout.t |
|
1027 | > echo '#require slow' > test-slow-timeout.t | |
1028 | > cat test-timeout.t >> test-slow-timeout.t |
|
1028 | > cat test-timeout.t >> test-slow-timeout.t | |
1029 | $ rt --timeout=1 --slowtimeout=3 test-timeout.t test-slow-timeout.t |
|
1029 | $ rt --timeout=1 --slowtimeout=3 test-timeout.t test-slow-timeout.t | |
1030 | running 2 tests using 1 parallel processes |
|
1030 | running 2 tests using 1 parallel processes | |
1031 | st |
|
1031 | st | |
1032 | Skipped test-slow-timeout.t: missing feature: allow slow tests (use --allow-slow-tests) |
|
1032 | Skipped test-slow-timeout.t: missing feature: allow slow tests (use --allow-slow-tests) | |
1033 | Failed test-timeout.t: timed out |
|
1033 | Failed test-timeout.t: timed out | |
1034 | # Ran 1 tests, 1 skipped, 1 failed. |
|
1034 | # Ran 1 tests, 1 skipped, 1 failed. | |
1035 | python hash seed: * (glob) |
|
1035 | python hash seed: * (glob) | |
1036 | [1] |
|
1036 | [1] | |
1037 | $ rt --timeout=1 --slowtimeout=3 \ |
|
1037 | $ rt --timeout=1 --slowtimeout=3 \ | |
1038 | > test-timeout.t test-slow-timeout.t --allow-slow-tests |
|
1038 | > test-timeout.t test-slow-timeout.t --allow-slow-tests | |
1039 | running 2 tests using 1 parallel processes |
|
1039 | running 2 tests using 1 parallel processes | |
1040 | .t |
|
1040 | .t | |
1041 | Failed test-timeout.t: timed out |
|
1041 | Failed test-timeout.t: timed out | |
1042 | # Ran 2 tests, 0 skipped, 1 failed. |
|
1042 | # Ran 2 tests, 0 skipped, 1 failed. | |
1043 | python hash seed: * (glob) |
|
1043 | python hash seed: * (glob) | |
1044 | [1] |
|
1044 | [1] | |
1045 | $ rm test-timeout.t test-slow-timeout.t |
|
1045 | $ rm test-timeout.t test-slow-timeout.t | |
1046 |
|
1046 | |||
1047 | test for --time |
|
1047 | test for --time | |
1048 | ================== |
|
1048 | ================== | |
1049 |
|
1049 | |||
1050 | $ rt test-success.t --time |
|
1050 | $ rt test-success.t --time | |
1051 | running 1 tests using 1 parallel processes |
|
1051 | running 1 tests using 1 parallel processes | |
1052 | . |
|
1052 | . | |
1053 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1053 | # Ran 1 tests, 0 skipped, 0 failed. | |
1054 | # Producing time report |
|
1054 | # Producing time report | |
1055 | start end cuser csys real Test |
|
1055 | start end cuser csys real Test | |
1056 | \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} test-success.t (re) |
|
1056 | \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} test-success.t (re) | |
1057 |
|
1057 | |||
1058 | test for --time with --job enabled |
|
1058 | test for --time with --job enabled | |
1059 | ==================================== |
|
1059 | ==================================== | |
1060 |
|
1060 | |||
1061 | $ rt test-success.t --time --jobs 2 |
|
1061 | $ rt test-success.t --time --jobs 2 | |
1062 | running 1 tests using 1 parallel processes |
|
1062 | running 1 tests using 1 parallel processes | |
1063 | . |
|
1063 | . | |
1064 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1064 | # Ran 1 tests, 0 skipped, 0 failed. | |
1065 | # Producing time report |
|
1065 | # Producing time report | |
1066 | start end cuser csys real Test |
|
1066 | start end cuser csys real Test | |
1067 | \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} test-success.t (re) |
|
1067 | \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} \s*[\d\.]{5,8} test-success.t (re) | |
1068 |
|
1068 | |||
1069 | Skips |
|
1069 | Skips | |
1070 | ================ |
|
1070 | ================ | |
1071 | $ cat > test-skip.t <<EOF |
|
1071 | $ cat > test-skip.t <<EOF | |
1072 | > $ echo xyzzy |
|
1072 | > $ echo xyzzy | |
1073 | > #if true |
|
1073 | > #if true | |
1074 | > #require false |
|
1074 | > #require false | |
1075 | > #end |
|
1075 | > #end | |
1076 | > EOF |
|
1076 | > EOF | |
1077 | $ cat > test-noskip.t <<EOF |
|
1077 | $ cat > test-noskip.t <<EOF | |
1078 | > #if false |
|
1078 | > #if false | |
1079 | > #require false |
|
1079 | > #require false | |
1080 | > #endif |
|
1080 | > #endif | |
1081 | > EOF |
|
1081 | > EOF | |
1082 | $ rt --nodiff |
|
1082 | $ rt --nodiff | |
1083 | running 4 tests using 1 parallel processes |
|
1083 | running 4 tests using 1 parallel processes | |
1084 | !.s. |
|
1084 | !.s. | |
1085 | Skipped test-skip.t: missing feature: nail clipper |
|
1085 | Skipped test-skip.t: missing feature: nail clipper | |
1086 | Failed test-failure.t: output changed |
|
1086 | Failed test-failure.t: output changed | |
1087 | # Ran 3 tests, 1 skipped, 1 failed. |
|
1087 | # Ran 3 tests, 1 skipped, 1 failed. | |
1088 | python hash seed: * (glob) |
|
1088 | python hash seed: * (glob) | |
1089 | [1] |
|
1089 | [1] | |
1090 |
|
1090 | |||
1091 | $ rm test-noskip.t |
|
1091 | $ rm test-noskip.t | |
1092 | $ rt --keyword xyzzy |
|
1092 | $ rt --keyword xyzzy | |
1093 | running 3 tests using 1 parallel processes |
|
1093 | running 3 tests using 1 parallel processes | |
1094 | .s |
|
1094 | .s | |
1095 | Skipped test-skip.t: missing feature: nail clipper |
|
1095 | Skipped test-skip.t: missing feature: nail clipper | |
1096 | # Ran 2 tests, 2 skipped, 0 failed. |
|
1096 | # Ran 2 tests, 2 skipped, 0 failed. | |
1097 |
|
1097 | |||
1098 | Skips with xml |
|
1098 | Skips with xml | |
1099 | $ rt --keyword xyzzy \ |
|
1099 | $ rt --keyword xyzzy \ | |
1100 | > --xunit=xunit.xml |
|
1100 | > --xunit=xunit.xml | |
1101 | running 3 tests using 1 parallel processes |
|
1101 | running 3 tests using 1 parallel processes | |
1102 | .s |
|
1102 | .s | |
1103 | Skipped test-skip.t: missing feature: nail clipper |
|
1103 | Skipped test-skip.t: missing feature: nail clipper | |
1104 | # Ran 2 tests, 2 skipped, 0 failed. |
|
1104 | # Ran 2 tests, 2 skipped, 0 failed. | |
1105 | $ cat xunit.xml |
|
1105 | $ cat xunit.xml | |
1106 | <?xml version="1.0" encoding="utf-8"?> |
|
1106 | <?xml version="1.0" encoding="utf-8"?> | |
1107 | <testsuite errors="0" failures="0" name="run-tests" skipped="2" tests="2"> |
|
1107 | <testsuite errors="0" failures="0" name="run-tests" skipped="2" tests="2"> | |
1108 | <testcase name="test-success.t" time="*"/> (glob) |
|
1108 | <testcase name="test-success.t" time="*"/> (glob) | |
1109 | <testcase name="test-skip.t"> |
|
1109 | <testcase name="test-skip.t"> | |
1110 | <skipped><![CDATA[missing feature: nail clipper]]></skipped> (py38 !) |
|
1110 | <skipped><![CDATA[missing feature: nail clipper]]></skipped> (py38 !) | |
1111 | <skipped> (no-py38 !) |
|
1111 | <skipped> (no-py38 !) | |
1112 | <![CDATA[missing feature: nail clipper]]> </skipped> (no-py38 !) |
|
1112 | <![CDATA[missing feature: nail clipper]]> </skipped> (no-py38 !) | |
1113 | </testcase> |
|
1113 | </testcase> | |
1114 | </testsuite> |
|
1114 | </testsuite> | |
1115 |
|
1115 | |||
1116 | Missing skips or blacklisted skips don't count as executed: |
|
1116 | Missing skips or blacklisted skips don't count as executed: | |
1117 | $ mkdir tests |
|
1117 | $ mkdir tests | |
1118 | $ echo tests/test-failure.t > blacklist |
|
1118 | $ echo tests/test-failure.t > blacklist | |
1119 | $ cp test-failure.t tests |
|
1119 | $ cp test-failure.t tests | |
1120 | $ rt --blacklist=blacklist --json\ |
|
1120 | $ rt --blacklist=blacklist --json\ | |
1121 | > tests/test-failure.t tests/test-bogus.t |
|
1121 | > tests/test-failure.t tests/test-bogus.t | |
1122 | running 2 tests using 1 parallel processes |
|
1122 | running 2 tests using 1 parallel processes | |
1123 | ss |
|
1123 | ss | |
1124 | Skipped test-bogus.t: Doesn't exist |
|
1124 | Skipped test-bogus.t: Doesn't exist | |
1125 | Skipped test-failure.t: blacklisted |
|
1125 | Skipped test-failure.t: blacklisted | |
1126 | # Ran 0 tests, 2 skipped, 0 failed. |
|
1126 | # Ran 0 tests, 2 skipped, 0 failed. | |
1127 | $ cat tests/report.json |
|
1127 | $ cat tests/report.json | |
1128 | testreport ={ |
|
1128 | testreport ={ | |
1129 | "test-bogus.t": { |
|
1129 | "test-bogus.t": { | |
1130 | "result": "skip" |
|
1130 | "result": "skip" | |
1131 | }, |
|
1131 | }, | |
1132 | "test-failure.t": { |
|
1132 | "test-failure.t": { | |
1133 | "result": "skip" |
|
1133 | "result": "skip" | |
1134 | } |
|
1134 | } | |
1135 | } (no-eol) |
|
1135 | } (no-eol) | |
1136 | $ rm -r tests |
|
1136 | $ rm -r tests | |
1137 | $ echo test-failure.t > blacklist |
|
1137 | $ echo test-failure.t > blacklist | |
1138 |
|
1138 | |||
1139 | Whitelist trumps blacklist |
|
1139 | Whitelist trumps blacklist | |
1140 | $ echo test-failure.t > whitelist |
|
1140 | $ echo test-failure.t > whitelist | |
1141 | $ rt --blacklist=blacklist --whitelist=whitelist --json\ |
|
1141 | $ rt --blacklist=blacklist --whitelist=whitelist --json\ | |
1142 | > test-failure.t test-bogus.t |
|
1142 | > test-failure.t test-bogus.t | |
1143 | running 2 tests using 1 parallel processes |
|
1143 | running 2 tests using 1 parallel processes | |
1144 | s |
|
1144 | s | |
1145 | --- $TESTTMP/test-failure.t |
|
1145 | --- $TESTTMP/test-failure.t | |
1146 | +++ $TESTTMP/test-failure.t.err |
|
1146 | +++ $TESTTMP/test-failure.t.err | |
1147 | @@ -1,5 +1,5 @@ |
|
1147 | @@ -1,5 +1,5 @@ | |
1148 | $ echo babar |
|
1148 | $ echo babar | |
1149 | - rataxes |
|
1149 | - rataxes | |
1150 | + babar |
|
1150 | + babar | |
1151 | This is a noop statement so that |
|
1151 | This is a noop statement so that | |
1152 | this test is still more bytes than success. |
|
1152 | this test is still more bytes than success. | |
1153 | pad pad pad pad............................................................ |
|
1153 | pad pad pad pad............................................................ | |
1154 |
|
1154 | |||
1155 | ERROR: test-failure.t output changed |
|
1155 | ERROR: test-failure.t output changed | |
1156 | ! |
|
1156 | ! | |
1157 | Skipped test-bogus.t: Doesn't exist |
|
1157 | Skipped test-bogus.t: Doesn't exist | |
1158 | Failed test-failure.t: output changed |
|
1158 | Failed test-failure.t: output changed | |
1159 | # Ran 1 tests, 1 skipped, 1 failed. |
|
1159 | # Ran 1 tests, 1 skipped, 1 failed. | |
1160 | python hash seed: * (glob) |
|
1160 | python hash seed: * (glob) | |
1161 | [1] |
|
1161 | [1] | |
1162 |
|
1162 | |||
1163 | Ensure that --test-list causes only the tests listed in that file to |
|
1163 | Ensure that --test-list causes only the tests listed in that file to | |
1164 | be executed. |
|
1164 | be executed. | |
1165 | $ echo test-success.t >> onlytest |
|
1165 | $ echo test-success.t >> onlytest | |
1166 | $ rt --test-list=onlytest |
|
1166 | $ rt --test-list=onlytest | |
1167 | running 1 tests using 1 parallel processes |
|
1167 | running 1 tests using 1 parallel processes | |
1168 | . |
|
1168 | . | |
1169 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1169 | # Ran 1 tests, 0 skipped, 0 failed. | |
1170 | $ echo test-bogus.t >> anothertest |
|
1170 | $ echo test-bogus.t >> anothertest | |
1171 | $ rt --test-list=onlytest --test-list=anothertest |
|
1171 | $ rt --test-list=onlytest --test-list=anothertest | |
1172 | running 2 tests using 1 parallel processes |
|
1172 | running 2 tests using 1 parallel processes | |
1173 | s. |
|
1173 | s. | |
1174 | Skipped test-bogus.t: Doesn't exist |
|
1174 | Skipped test-bogus.t: Doesn't exist | |
1175 | # Ran 1 tests, 1 skipped, 0 failed. |
|
1175 | # Ran 1 tests, 1 skipped, 0 failed. | |
1176 | $ rm onlytest anothertest |
|
1176 | $ rm onlytest anothertest | |
1177 |
|
1177 | |||
1178 | test for --json |
|
1178 | test for --json | |
1179 | ================== |
|
1179 | ================== | |
1180 |
|
1180 | |||
1181 | $ rt --json |
|
1181 | $ rt --json | |
1182 | running 3 tests using 1 parallel processes |
|
1182 | running 3 tests using 1 parallel processes | |
1183 |
|
1183 | |||
1184 | --- $TESTTMP/test-failure.t |
|
1184 | --- $TESTTMP/test-failure.t | |
1185 | +++ $TESTTMP/test-failure.t.err |
|
1185 | +++ $TESTTMP/test-failure.t.err | |
1186 | @@ -1,5 +1,5 @@ |
|
1186 | @@ -1,5 +1,5 @@ | |
1187 | $ echo babar |
|
1187 | $ echo babar | |
1188 | - rataxes |
|
1188 | - rataxes | |
1189 | + babar |
|
1189 | + babar | |
1190 | This is a noop statement so that |
|
1190 | This is a noop statement so that | |
1191 | this test is still more bytes than success. |
|
1191 | this test is still more bytes than success. | |
1192 | pad pad pad pad............................................................ |
|
1192 | pad pad pad pad............................................................ | |
1193 |
|
1193 | |||
1194 | ERROR: test-failure.t output changed |
|
1194 | ERROR: test-failure.t output changed | |
1195 | !.s |
|
1195 | !.s | |
1196 | Skipped test-skip.t: missing feature: nail clipper |
|
1196 | Skipped test-skip.t: missing feature: nail clipper | |
1197 | Failed test-failure.t: output changed |
|
1197 | Failed test-failure.t: output changed | |
1198 | # Ran 2 tests, 1 skipped, 1 failed. |
|
1198 | # Ran 2 tests, 1 skipped, 1 failed. | |
1199 | python hash seed: * (glob) |
|
1199 | python hash seed: * (glob) | |
1200 | [1] |
|
1200 | [1] | |
1201 |
|
1201 | |||
1202 | $ cat report.json |
|
1202 | $ cat report.json | |
1203 | testreport ={ |
|
1203 | testreport ={ | |
1204 | "test-failure.t": [\{] (re) |
|
1204 | "test-failure.t": [\{] (re) | |
1205 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1205 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1206 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1206 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1207 | "diff": "---.+\+\+\+.+", ? (re) |
|
1207 | "diff": "---.+\+\+\+.+", ? (re) | |
1208 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1208 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1209 | "result": "failure", ? (re) |
|
1209 | "result": "failure", ? (re) | |
1210 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1210 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1211 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1211 | "time": "\s*\d+\.\d{3,4}" (re) | |
1212 | }, ? (re) |
|
1212 | }, ? (re) | |
1213 | "test-skip.t": { |
|
1213 | "test-skip.t": { | |
1214 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1214 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1215 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1215 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1216 | "diff": "", ? (re) |
|
1216 | "diff": "", ? (re) | |
1217 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1217 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1218 | "result": "skip", ? (re) |
|
1218 | "result": "skip", ? (re) | |
1219 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1219 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1220 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1220 | "time": "\s*\d+\.\d{3,4}" (re) | |
1221 | }, ? (re) |
|
1221 | }, ? (re) | |
1222 | "test-success.t": [\{] (re) |
|
1222 | "test-success.t": [\{] (re) | |
1223 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1223 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1224 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1224 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1225 | "diff": "", ? (re) |
|
1225 | "diff": "", ? (re) | |
1226 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1226 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1227 | "result": "success", ? (re) |
|
1227 | "result": "success", ? (re) | |
1228 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1228 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1229 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1229 | "time": "\s*\d+\.\d{3,4}" (re) | |
1230 | } |
|
1230 | } | |
1231 | } (no-eol) |
|
1231 | } (no-eol) | |
1232 | --json with --outputdir |
|
1232 | --json with --outputdir | |
1233 |
|
1233 | |||
1234 | $ rm report.json |
|
1234 | $ rm report.json | |
1235 | $ rm -r output |
|
1235 | $ rm -r output | |
1236 | $ mkdir output |
|
1236 | $ mkdir output | |
1237 | $ rt --json --outputdir output |
|
1237 | $ rt --json --outputdir output | |
1238 | running 3 tests using 1 parallel processes |
|
1238 | running 3 tests using 1 parallel processes | |
1239 |
|
1239 | |||
1240 | --- $TESTTMP/test-failure.t |
|
1240 | --- $TESTTMP/test-failure.t | |
1241 | +++ $TESTTMP/output/test-failure.t.err |
|
1241 | +++ $TESTTMP/output/test-failure.t.err | |
1242 | @@ -1,5 +1,5 @@ |
|
1242 | @@ -1,5 +1,5 @@ | |
1243 | $ echo babar |
|
1243 | $ echo babar | |
1244 | - rataxes |
|
1244 | - rataxes | |
1245 | + babar |
|
1245 | + babar | |
1246 | This is a noop statement so that |
|
1246 | This is a noop statement so that | |
1247 | this test is still more bytes than success. |
|
1247 | this test is still more bytes than success. | |
1248 | pad pad pad pad............................................................ |
|
1248 | pad pad pad pad............................................................ | |
1249 |
|
1249 | |||
1250 | ERROR: test-failure.t output changed |
|
1250 | ERROR: test-failure.t output changed | |
1251 | !.s |
|
1251 | !.s | |
1252 | Skipped test-skip.t: missing feature: nail clipper |
|
1252 | Skipped test-skip.t: missing feature: nail clipper | |
1253 | Failed test-failure.t: output changed |
|
1253 | Failed test-failure.t: output changed | |
1254 | # Ran 2 tests, 1 skipped, 1 failed. |
|
1254 | # Ran 2 tests, 1 skipped, 1 failed. | |
1255 | python hash seed: * (glob) |
|
1255 | python hash seed: * (glob) | |
1256 | [1] |
|
1256 | [1] | |
1257 | $ f report.json |
|
1257 | $ f report.json | |
1258 | report.json: file not found |
|
1258 | report.json: file not found | |
1259 | $ cat output/report.json |
|
1259 | $ cat output/report.json | |
1260 | testreport ={ |
|
1260 | testreport ={ | |
1261 | "test-failure.t": [\{] (re) |
|
1261 | "test-failure.t": [\{] (re) | |
1262 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1262 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1263 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1263 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1264 | "diff": "---.+\+\+\+.+", ? (re) |
|
1264 | "diff": "---.+\+\+\+.+", ? (re) | |
1265 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1265 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1266 | "result": "failure", ? (re) |
|
1266 | "result": "failure", ? (re) | |
1267 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1267 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1268 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1268 | "time": "\s*\d+\.\d{3,4}" (re) | |
1269 | }, ? (re) |
|
1269 | }, ? (re) | |
1270 | "test-skip.t": { |
|
1270 | "test-skip.t": { | |
1271 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1271 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1272 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1272 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1273 | "diff": "", ? (re) |
|
1273 | "diff": "", ? (re) | |
1274 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1274 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1275 | "result": "skip", ? (re) |
|
1275 | "result": "skip", ? (re) | |
1276 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1276 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1277 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1277 | "time": "\s*\d+\.\d{3,4}" (re) | |
1278 | }, ? (re) |
|
1278 | }, ? (re) | |
1279 | "test-success.t": [\{] (re) |
|
1279 | "test-success.t": [\{] (re) | |
1280 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1280 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1281 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1281 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1282 | "diff": "", ? (re) |
|
1282 | "diff": "", ? (re) | |
1283 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1283 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1284 | "result": "success", ? (re) |
|
1284 | "result": "success", ? (re) | |
1285 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1285 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1286 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1286 | "time": "\s*\d+\.\d{3,4}" (re) | |
1287 | } |
|
1287 | } | |
1288 | } (no-eol) |
|
1288 | } (no-eol) | |
1289 | $ ls -a output |
|
1289 | $ ls -a output | |
1290 | . |
|
1290 | . | |
1291 | .. |
|
1291 | .. | |
1292 | .testtimes |
|
1292 | .testtimes | |
1293 | report.json |
|
1293 | report.json | |
1294 | test-failure.t.err |
|
1294 | test-failure.t.err | |
1295 |
|
1295 | |||
1296 | Test that failed test accepted through interactive are properly reported: |
|
1296 | Test that failed test accepted through interactive are properly reported: | |
1297 |
|
1297 | |||
1298 | $ cp test-failure.t backup |
|
1298 | $ cp test-failure.t backup | |
1299 | $ echo y | rt --json -i |
|
1299 | $ echo y | rt --json -i | |
1300 | running 3 tests using 1 parallel processes |
|
1300 | running 3 tests using 1 parallel processes | |
1301 |
|
1301 | |||
1302 | --- $TESTTMP/test-failure.t |
|
1302 | --- $TESTTMP/test-failure.t | |
1303 | +++ $TESTTMP/test-failure.t.err |
|
1303 | +++ $TESTTMP/test-failure.t.err | |
1304 | @@ -1,5 +1,5 @@ |
|
1304 | @@ -1,5 +1,5 @@ | |
1305 | $ echo babar |
|
1305 | $ echo babar | |
1306 | - rataxes |
|
1306 | - rataxes | |
1307 | + babar |
|
1307 | + babar | |
1308 | This is a noop statement so that |
|
1308 | This is a noop statement so that | |
1309 | this test is still more bytes than success. |
|
1309 | this test is still more bytes than success. | |
1310 | pad pad pad pad............................................................ |
|
1310 | pad pad pad pad............................................................ | |
1311 | Accept this change? [y/N] ..s |
|
1311 | Accept this change? [y/N] ..s | |
1312 | Skipped test-skip.t: missing feature: nail clipper |
|
1312 | Skipped test-skip.t: missing feature: nail clipper | |
1313 | # Ran 2 tests, 1 skipped, 0 failed. |
|
1313 | # Ran 2 tests, 1 skipped, 0 failed. | |
1314 |
|
1314 | |||
1315 | $ cat report.json |
|
1315 | $ cat report.json | |
1316 | testreport ={ |
|
1316 | testreport ={ | |
1317 | "test-failure.t": [\{] (re) |
|
1317 | "test-failure.t": [\{] (re) | |
1318 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1318 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1319 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1319 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1320 | "diff": "", ? (re) |
|
1320 | "diff": "", ? (re) | |
1321 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1321 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1322 | "result": "success", ? (re) |
|
1322 | "result": "success", ? (re) | |
1323 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1323 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1324 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1324 | "time": "\s*\d+\.\d{3,4}" (re) | |
1325 | }, ? (re) |
|
1325 | }, ? (re) | |
1326 | "test-skip.t": { |
|
1326 | "test-skip.t": { | |
1327 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1327 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1328 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1328 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1329 | "diff": "", ? (re) |
|
1329 | "diff": "", ? (re) | |
1330 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1330 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1331 | "result": "skip", ? (re) |
|
1331 | "result": "skip", ? (re) | |
1332 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1332 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1333 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1333 | "time": "\s*\d+\.\d{3,4}" (re) | |
1334 | }, ? (re) |
|
1334 | }, ? (re) | |
1335 | "test-success.t": [\{] (re) |
|
1335 | "test-success.t": [\{] (re) | |
1336 | "csys": "\s*\d+\.\d{3,4}", ? (re) |
|
1336 | "csys": "\s*\d+\.\d{3,4}", ? (re) | |
1337 | "cuser": "\s*\d+\.\d{3,4}", ? (re) |
|
1337 | "cuser": "\s*\d+\.\d{3,4}", ? (re) | |
1338 | "diff": "", ? (re) |
|
1338 | "diff": "", ? (re) | |
1339 | "end": "\s*\d+\.\d{3,4}", ? (re) |
|
1339 | "end": "\s*\d+\.\d{3,4}", ? (re) | |
1340 | "result": "success", ? (re) |
|
1340 | "result": "success", ? (re) | |
1341 | "start": "\s*\d+\.\d{3,4}", ? (re) |
|
1341 | "start": "\s*\d+\.\d{3,4}", ? (re) | |
1342 | "time": "\s*\d+\.\d{3,4}" (re) |
|
1342 | "time": "\s*\d+\.\d{3,4}" (re) | |
1343 | } |
|
1343 | } | |
1344 | } (no-eol) |
|
1344 | } (no-eol) | |
1345 | $ mv backup test-failure.t |
|
1345 | $ mv backup test-failure.t | |
1346 |
|
1346 | |||
1347 | backslash on end of line with glob matching is handled properly |
|
1347 | backslash on end of line with glob matching is handled properly | |
1348 |
|
1348 | |||
1349 | $ cat > test-glob-backslash.t << EOF |
|
1349 | $ cat > test-glob-backslash.t << EOF | |
1350 | > $ echo 'foo bar \\' |
|
1350 | > $ echo 'foo bar \\' | |
1351 | > foo * \ (glob) |
|
1351 | > foo * \ (glob) | |
1352 | > EOF |
|
1352 | > EOF | |
1353 |
|
1353 | |||
1354 | $ rt test-glob-backslash.t |
|
1354 | $ rt test-glob-backslash.t | |
1355 | running 1 tests using 1 parallel processes |
|
1355 | running 1 tests using 1 parallel processes | |
1356 | . |
|
1356 | . | |
1357 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1357 | # Ran 1 tests, 0 skipped, 0 failed. | |
1358 |
|
1358 | |||
1359 | $ rm -f test-glob-backslash.t |
|
1359 | $ rm -f test-glob-backslash.t | |
1360 |
|
1360 | |||
1361 | Test globbing of local IP addresses |
|
1361 | Test globbing of local IP addresses | |
1362 | $ echo 172.16.18.1 |
|
1362 | $ echo 172.16.18.1 | |
1363 | $LOCALIP (glob) |
|
1363 | $LOCALIP (glob) | |
1364 | $ echo dead:beef::1 |
|
1364 | $ echo dead:beef::1 | |
1365 | $LOCALIP (glob) |
|
1365 | $LOCALIP (glob) | |
1366 |
|
1366 | |||
1367 | Add support for external test formatter |
|
1367 | Add support for external test formatter | |
1368 | ======================================= |
|
1368 | ======================================= | |
1369 |
|
1369 | |||
1370 | $ CUSTOM_TEST_RESULT=basic_test_result "$PYTHON" $TESTDIR/run-tests.py --with-hg=$HGTEST_REAL_HG -j1 "$@" test-success.t test-failure.t |
|
1370 | $ CUSTOM_TEST_RESULT=basic_test_result "$PYTHON" $TESTDIR/run-tests.py --with-hg=$HGTEST_REAL_HG -j1 "$@" test-success.t test-failure.t | |
1371 | running 2 tests using 1 parallel processes |
|
1371 | running 2 tests using 1 parallel processes | |
1372 |
|
1372 | |||
1373 | # Ran 2 tests, 0 skipped, 0 failed. |
|
1373 | # Ran 2 tests, 0 skipped, 0 failed. | |
1374 | ON_START! <__main__.TestSuite tests=[<__main__.TTest testMethod=test-failure.t>, <__main__.TTest testMethod=test-success.t>]> |
|
1374 | ON_START! <__main__.TestSuite tests=[<__main__.TTest testMethod=test-failure.t>, <__main__.TTest testMethod=test-success.t>]> | |
1375 | FAILURE! test-failure.t output changed |
|
1375 | FAILURE! test-failure.t output changed | |
1376 | SUCCESS! test-success.t |
|
1376 | SUCCESS! test-success.t | |
1377 | ON_END! |
|
1377 | ON_END! | |
1378 |
|
1378 | |||
1379 | Test reusability for third party tools |
|
1379 | Test reusability for third party tools | |
1380 | ====================================== |
|
1380 | ====================================== | |
1381 |
|
1381 | |||
1382 | $ THISTESTDIR="$TESTDIR" |
|
1382 | $ THISTESTDIR="$TESTDIR" | |
1383 | $ export THISTESTDIR |
|
1383 | $ export THISTESTDIR | |
1384 | $ THISTESTTMP="$TESTTMP" |
|
1384 | $ THISTESTTMP="$TESTTMP" | |
1385 | $ export THISTESTTMP |
|
1385 | $ export THISTESTTMP | |
1386 |
|
1386 | |||
1387 | #if windows |
|
1387 | #if windows | |
1388 |
|
1388 | |||
1389 | $ NEWTESTDIR="$THISTESTTMP"\\anothertests |
|
1389 | $ NEWTESTDIR="$THISTESTTMP"\\anothertests | |
1390 |
|
1390 | |||
1391 | #else |
|
1391 | #else | |
1392 |
|
1392 | |||
1393 | $ NEWTESTDIR="$THISTESTTMP"/anothertests |
|
1393 | $ NEWTESTDIR="$THISTESTTMP"/anothertests | |
1394 |
|
1394 | |||
1395 | #endif |
|
1395 | #endif | |
1396 |
|
1396 | |||
1397 | $ export NEWTESTDIR |
|
1397 | $ export NEWTESTDIR | |
1398 |
|
1398 | |||
1399 | $ echo creating some new test in: $NEWTESTDIR |
|
1399 | $ echo creating some new test in: $NEWTESTDIR | |
1400 | creating some new test in: $TESTTMP\anothertests (windows !) |
|
1400 | creating some new test in: $TESTTMP\anothertests (windows !) | |
1401 | creating some new test in: $TESTTMP/anothertests (no-windows !) |
|
1401 | creating some new test in: $TESTTMP/anothertests (no-windows !) | |
1402 | $ mkdir "$NEWTESTDIR" |
|
1402 | $ mkdir "$NEWTESTDIR" | |
1403 | $ cd "$NEWTESTDIR" |
|
1403 | $ cd "$NEWTESTDIR" | |
1404 |
|
1404 | |||
1405 | test that `run-tests.py` can execute hghave, even if it runs not in |
|
1405 | test that `run-tests.py` can execute hghave, even if it runs not in | |
1406 | Mercurial source tree. |
|
1406 | Mercurial source tree. | |
1407 |
|
1407 | |||
1408 | $ cat > test-hghave.t <<EOF |
|
1408 | $ cat > test-hghave.t <<EOF | |
1409 | > #require true |
|
1409 | > #require true | |
1410 | > $ echo foo |
|
1410 | > $ echo foo | |
1411 | > foo |
|
1411 | > foo | |
1412 | > EOF |
|
1412 | > EOF | |
1413 | $ rt test-hghave.t |
|
1413 | $ rt test-hghave.t | |
1414 | running 1 tests using 1 parallel processes |
|
1414 | running 1 tests using 1 parallel processes | |
1415 | . |
|
1415 | . | |
1416 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1416 | # Ran 1 tests, 0 skipped, 0 failed. | |
1417 |
|
1417 | |||
1418 | test that RUNTESTDIR refers the directory, in which `run-tests.py` now |
|
1418 | test that RUNTESTDIR refers the directory, in which `run-tests.py` now | |
1419 | running is placed. |
|
1419 | running is placed. | |
1420 |
|
1420 | |||
1421 |
|
1421 | |||
1422 | $ cat > test-runtestdir.t <<EOF |
|
1422 | $ cat > test-runtestdir.t <<EOF | |
1423 | > # \$THISTESTDIR, in which test-run-tests.t (this test file) is placed |
|
1423 | > # \$THISTESTDIR, in which test-run-tests.t (this test file) is placed | |
1424 | > # \$THISTESTTMP, in which test-run-tests.t (this test file) is placed |
|
1424 | > # \$THISTESTTMP, in which test-run-tests.t (this test file) is placed | |
1425 | > # \$TESTDIR, in which test-runtestdir.t is placed (expanded at runtime) |
|
1425 | > # \$TESTDIR, in which test-runtestdir.t is placed (expanded at runtime) | |
1426 | > # \$RUNTESTDIR, in which run-tests.py is placed (expanded at runtime) |
|
1426 | > # \$RUNTESTDIR, in which run-tests.py is placed (expanded at runtime) | |
1427 | > |
|
1427 | > | |
1428 | > $ test "\$TESTDIR" = "\$NEWTESTDIR" |
|
1428 | > $ test "\$TESTDIR" = "\$NEWTESTDIR" | |
1429 | > If this prints a path, that means RUNTESTDIR didn't equal |
|
1429 | > If this prints a path, that means RUNTESTDIR didn't equal | |
1430 | > THISTESTDIR as it should have. |
|
1430 | > THISTESTDIR as it should have. | |
1431 | > $ test "\$RUNTESTDIR" = "\$THISTESTDIR" || echo "\$RUNTESTDIR" |
|
1431 | > $ test "\$RUNTESTDIR" = "\$THISTESTDIR" || echo "\$RUNTESTDIR" | |
1432 | > This should print the start of check-code. If this passes but the |
|
1432 | > This should print the start of check-code. If this passes but the | |
1433 | > previous check failed, that means we found a copy of check-code at whatever |
|
1433 | > previous check failed, that means we found a copy of check-code at whatever | |
1434 | > RUNTESTSDIR ended up containing, even though it doesn't match THISTESTDIR. |
|
1434 | > RUNTESTSDIR ended up containing, even though it doesn't match THISTESTDIR. | |
1435 | > $ head -n 3 "\$RUNTESTDIR"/../contrib/check-code.py | sed 's@.!.*python3@#!USRBINENVPY@' |
|
1435 | > $ head -n 3 "\$RUNTESTDIR"/../contrib/check-code.py | sed 's@.!.*python3@#!USRBINENVPY@' | |
1436 | > #!USRBINENVPY |
|
1436 | > #!USRBINENVPY | |
1437 | > # |
|
1437 | > # | |
1438 | > # check-code - a style and portability checker for Mercurial |
|
1438 | > # check-code - a style and portability checker for Mercurial | |
1439 | > EOF |
|
1439 | > EOF | |
1440 | $ rt test-runtestdir.t |
|
1440 | $ rt test-runtestdir.t | |
1441 | running 1 tests using 1 parallel processes |
|
1441 | running 1 tests using 1 parallel processes | |
1442 | . |
|
1442 | . | |
1443 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1443 | # Ran 1 tests, 0 skipped, 0 failed. | |
1444 |
|
1444 | |||
1445 | #if execbit |
|
1445 | #if execbit | |
1446 |
|
1446 | |||
1447 | test that TESTDIR is referred in PATH |
|
1447 | test that TESTDIR is referred in PATH | |
1448 |
|
1448 | |||
1449 | $ cat > custom-command.sh <<EOF |
|
1449 | $ cat > custom-command.sh <<EOF | |
1450 | > #!/bin/sh |
|
1450 | > #!/bin/sh | |
1451 | > echo "hello world" |
|
1451 | > echo "hello world" | |
1452 | > EOF |
|
1452 | > EOF | |
1453 | $ chmod +x custom-command.sh |
|
1453 | $ chmod +x custom-command.sh | |
1454 | $ cat > test-testdir-path.t <<EOF |
|
1454 | $ cat > test-testdir-path.t <<EOF | |
1455 | > $ custom-command.sh |
|
1455 | > $ custom-command.sh | |
1456 | > hello world |
|
1456 | > hello world | |
1457 | > EOF |
|
1457 | > EOF | |
1458 | $ rt test-testdir-path.t |
|
1458 | $ rt test-testdir-path.t | |
1459 | running 1 tests using 1 parallel processes |
|
1459 | running 1 tests using 1 parallel processes | |
1460 | . |
|
1460 | . | |
1461 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1461 | # Ran 1 tests, 0 skipped, 0 failed. | |
1462 |
|
1462 | |||
1463 | #endif |
|
1463 | #endif | |
1464 |
|
1464 | |||
1465 | test support for --allow-slow-tests |
|
1465 | test support for --allow-slow-tests | |
1466 | $ cat > test-very-slow-test.t <<EOF |
|
1466 | $ cat > test-very-slow-test.t <<EOF | |
1467 | > #require slow |
|
1467 | > #require slow | |
1468 | > $ echo pass |
|
1468 | > $ echo pass | |
1469 | > pass |
|
1469 | > pass | |
1470 | > EOF |
|
1470 | > EOF | |
1471 | $ rt test-very-slow-test.t |
|
1471 | $ rt test-very-slow-test.t | |
1472 | running 1 tests using 1 parallel processes |
|
1472 | running 1 tests using 1 parallel processes | |
1473 | s |
|
1473 | s | |
1474 | Skipped test-very-slow-test.t: missing feature: allow slow tests (use --allow-slow-tests) |
|
1474 | Skipped test-very-slow-test.t: missing feature: allow slow tests (use --allow-slow-tests) | |
1475 | # Ran 0 tests, 1 skipped, 0 failed. |
|
1475 | # Ran 0 tests, 1 skipped, 0 failed. | |
1476 | $ rt $HGTEST_RUN_TESTS_PURE --allow-slow-tests test-very-slow-test.t |
|
1476 | $ rt $HGTEST_RUN_TESTS_PURE --allow-slow-tests test-very-slow-test.t | |
1477 | running 1 tests using 1 parallel processes |
|
1477 | running 1 tests using 1 parallel processes | |
1478 | . |
|
1478 | . | |
1479 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1479 | # Ran 1 tests, 0 skipped, 0 failed. | |
1480 |
|
1480 | |||
1481 | support for running a test outside the current directory |
|
1481 | support for running a test outside the current directory | |
1482 | $ mkdir nonlocal |
|
1482 | $ mkdir nonlocal | |
1483 | $ cat > nonlocal/test-is-not-here.t << EOF |
|
1483 | $ cat > nonlocal/test-is-not-here.t << EOF | |
1484 | > $ echo pass |
|
1484 | > $ echo pass | |
1485 | > pass |
|
1485 | > pass | |
1486 | > EOF |
|
1486 | > EOF | |
1487 | $ rt nonlocal/test-is-not-here.t |
|
1487 | $ rt nonlocal/test-is-not-here.t | |
1488 | running 1 tests using 1 parallel processes |
|
1488 | running 1 tests using 1 parallel processes | |
1489 | . |
|
1489 | . | |
1490 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1490 | # Ran 1 tests, 0 skipped, 0 failed. | |
1491 |
|
1491 | |||
1492 | support for automatically discovering test if arg is a folder |
|
1492 | support for automatically discovering test if arg is a folder | |
1493 | $ mkdir tmp && cd tmp |
|
1493 | $ mkdir tmp && cd tmp | |
1494 |
|
1494 | |||
1495 | $ cat > test-uno.t << EOF |
|
1495 | $ cat > test-uno.t << EOF | |
1496 | > $ echo line |
|
1496 | > $ echo line | |
1497 | > line |
|
1497 | > line | |
1498 | > EOF |
|
1498 | > EOF | |
1499 |
|
1499 | |||
1500 | $ cp test-uno.t test-dos.t |
|
1500 | $ cp test-uno.t test-dos.t | |
1501 | $ cd .. |
|
1501 | $ cd .. | |
1502 | $ cp -R tmp tmpp |
|
1502 | $ cp -R tmp tmpp | |
1503 | $ cp tmp/test-uno.t test-solo.t |
|
1503 | $ cp tmp/test-uno.t test-solo.t | |
1504 |
|
1504 | |||
1505 | $ rt tmp/ test-solo.t tmpp |
|
1505 | $ rt tmp/ test-solo.t tmpp | |
1506 | running 5 tests using 1 parallel processes |
|
1506 | running 5 tests using 1 parallel processes | |
1507 | ..... |
|
1507 | ..... | |
1508 | # Ran 5 tests, 0 skipped, 0 failed. |
|
1508 | # Ran 5 tests, 0 skipped, 0 failed. | |
1509 | $ rm -rf tmp tmpp |
|
1509 | $ rm -rf tmp tmpp | |
1510 |
|
1510 | |||
1511 | support for running run-tests.py from another directory |
|
1511 | support for running run-tests.py from another directory | |
1512 | $ mkdir tmp && cd tmp |
|
1512 | $ mkdir tmp && cd tmp | |
1513 |
|
1513 | |||
1514 | $ cat > useful-file.sh << EOF |
|
1514 | $ cat > useful-file.sh << EOF | |
1515 | > important command |
|
1515 | > important command | |
1516 | > EOF |
|
1516 | > EOF | |
1517 |
|
1517 | |||
1518 | $ cat > test-folder.t << EOF |
|
1518 | $ cat > test-folder.t << EOF | |
1519 | > $ cat \$TESTDIR/useful-file.sh |
|
1519 | > $ cat \$TESTDIR/useful-file.sh | |
1520 | > important command |
|
1520 | > important command | |
1521 | > EOF |
|
1521 | > EOF | |
1522 |
|
1522 | |||
1523 | $ cat > test-folder-fail.t << EOF |
|
1523 | $ cat > test-folder-fail.t << EOF | |
1524 | > $ cat \$TESTDIR/useful-file.sh |
|
1524 | > $ cat \$TESTDIR/useful-file.sh | |
1525 | > important commando |
|
1525 | > important commando | |
1526 | > EOF |
|
1526 | > EOF | |
1527 |
|
1527 | |||
1528 | $ cd .. |
|
1528 | $ cd .. | |
1529 | $ rt tmp/test-*.t |
|
1529 | $ rt tmp/test-*.t | |
1530 | running 2 tests using 1 parallel processes |
|
1530 | running 2 tests using 1 parallel processes | |
1531 |
|
1531 | |||
1532 | --- $TESTTMP/anothertests/tmp/test-folder-fail.t |
|
1532 | --- $TESTTMP/anothertests/tmp/test-folder-fail.t | |
1533 | +++ $TESTTMP/anothertests/tmp/test-folder-fail.t.err |
|
1533 | +++ $TESTTMP/anothertests/tmp/test-folder-fail.t.err | |
1534 | @@ -1,2 +1,2 @@ |
|
1534 | @@ -1,2 +1,2 @@ | |
1535 | $ cat $TESTDIR/useful-file.sh |
|
1535 | $ cat $TESTDIR/useful-file.sh | |
1536 | - important commando |
|
1536 | - important commando | |
1537 | + important command |
|
1537 | + important command | |
1538 |
|
1538 | |||
1539 | ERROR: test-folder-fail.t output changed |
|
1539 | ERROR: test-folder-fail.t output changed | |
1540 | !. |
|
1540 | !. | |
1541 | Failed test-folder-fail.t: output changed |
|
1541 | Failed test-folder-fail.t: output changed | |
1542 | # Ran 2 tests, 0 skipped, 1 failed. |
|
1542 | # Ran 2 tests, 0 skipped, 1 failed. | |
1543 | python hash seed: * (glob) |
|
1543 | python hash seed: * (glob) | |
1544 | [1] |
|
1544 | [1] | |
1545 |
|
1545 | |||
1546 | support for bisecting failed tests automatically |
|
1546 | support for bisecting failed tests automatically | |
1547 | $ hg init bisect |
|
1547 | $ hg init bisect | |
1548 | $ cd bisect |
|
1548 | $ cd bisect | |
1549 | $ cat >> test-bisect.t <<EOF |
|
1549 | $ cat >> test-bisect.t <<EOF | |
1550 | > $ echo pass |
|
1550 | > $ echo pass | |
1551 | > pass |
|
1551 | > pass | |
1552 | > EOF |
|
1552 | > EOF | |
1553 | $ hg add test-bisect.t |
|
1553 | $ hg add test-bisect.t | |
1554 | $ hg ci -m 'good' |
|
1554 | $ hg ci -m 'good' | |
1555 | $ cat >> test-bisect.t <<EOF |
|
1555 | $ cat >> test-bisect.t <<EOF | |
1556 | > $ echo pass |
|
1556 | > $ echo pass | |
1557 | > fail |
|
1557 | > fail | |
1558 | > EOF |
|
1558 | > EOF | |
1559 | $ hg ci -m 'bad' |
|
1559 | $ hg ci -m 'bad' | |
1560 | $ rt --known-good-rev=0 test-bisect.t |
|
1560 | $ rt --known-good-rev=0 test-bisect.t | |
1561 | running 1 tests using 1 parallel processes |
|
1561 | running 1 tests using 1 parallel processes | |
1562 |
|
1562 | |||
1563 | --- $TESTTMP/anothertests/bisect/test-bisect.t |
|
1563 | --- $TESTTMP/anothertests/bisect/test-bisect.t | |
1564 | +++ $TESTTMP/anothertests/bisect/test-bisect.t.err |
|
1564 | +++ $TESTTMP/anothertests/bisect/test-bisect.t.err | |
1565 | @@ -1,4 +1,4 @@ |
|
1565 | @@ -1,4 +1,4 @@ | |
1566 | $ echo pass |
|
1566 | $ echo pass | |
1567 | pass |
|
1567 | pass | |
1568 | $ echo pass |
|
1568 | $ echo pass | |
1569 | - fail |
|
1569 | - fail | |
1570 | + pass |
|
1570 | + pass | |
1571 |
|
1571 | |||
1572 | ERROR: test-bisect.t output changed |
|
1572 | ERROR: test-bisect.t output changed | |
1573 | ! |
|
1573 | ! | |
1574 | Failed test-bisect.t: output changed |
|
1574 | Failed test-bisect.t: output changed | |
1575 | test-bisect.t broken by 72cbf122d116 (bad) |
|
1575 | test-bisect.t broken by 72cbf122d116 (bad) | |
1576 | # Ran 1 tests, 0 skipped, 1 failed. |
|
1576 | # Ran 1 tests, 0 skipped, 1 failed. | |
1577 | python hash seed: * (glob) |
|
1577 | python hash seed: * (glob) | |
1578 | [1] |
|
1578 | [1] | |
1579 |
|
1579 | |||
1580 | $ cd .. |
|
1580 | $ cd .. | |
1581 |
|
1581 | |||
1582 | support bisecting a separate repo |
|
1582 | support bisecting a separate repo | |
1583 |
|
1583 | |||
1584 | $ hg init bisect-dependent |
|
1584 | $ hg init bisect-dependent | |
1585 | $ cd bisect-dependent |
|
1585 | $ cd bisect-dependent | |
1586 | $ cat > test-bisect-dependent.t <<EOF |
|
1586 | $ cat > test-bisect-dependent.t <<EOF | |
1587 | > $ tail -1 \$TESTDIR/../bisect/test-bisect.t |
|
1587 | > $ tail -1 \$TESTDIR/../bisect/test-bisect.t | |
1588 | > pass |
|
1588 | > pass | |
1589 | > EOF |
|
1589 | > EOF | |
1590 | $ hg commit -Am dependent test-bisect-dependent.t |
|
1590 | $ hg commit -Am dependent test-bisect-dependent.t | |
1591 |
|
1591 | |||
1592 | $ rt --known-good-rev=0 test-bisect-dependent.t |
|
1592 | $ rt --known-good-rev=0 test-bisect-dependent.t | |
1593 | running 1 tests using 1 parallel processes |
|
1593 | running 1 tests using 1 parallel processes | |
1594 |
|
1594 | |||
1595 | --- $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t |
|
1595 | --- $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t | |
1596 | +++ $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t.err |
|
1596 | +++ $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t.err | |
1597 | @@ -1,2 +1,2 @@ |
|
1597 | @@ -1,2 +1,2 @@ | |
1598 | $ tail -1 $TESTDIR/../bisect/test-bisect.t |
|
1598 | $ tail -1 $TESTDIR/../bisect/test-bisect.t | |
1599 | - pass |
|
1599 | - pass | |
1600 | + fail |
|
1600 | + fail | |
1601 |
|
1601 | |||
1602 | ERROR: test-bisect-dependent.t output changed |
|
1602 | ERROR: test-bisect-dependent.t output changed | |
1603 | ! |
|
1603 | ! | |
1604 | Failed test-bisect-dependent.t: output changed |
|
1604 | Failed test-bisect-dependent.t: output changed | |
1605 | Failed to identify failure point for test-bisect-dependent.t |
|
1605 | Failed to identify failure point for test-bisect-dependent.t | |
1606 | # Ran 1 tests, 0 skipped, 1 failed. |
|
1606 | # Ran 1 tests, 0 skipped, 1 failed. | |
1607 | python hash seed: * (glob) |
|
1607 | python hash seed: * (glob) | |
1608 | [1] |
|
1608 | [1] | |
1609 |
|
1609 | |||
1610 | $ rt --bisect-repo=../test-bisect test-bisect-dependent.t |
|
1610 | $ rt --bisect-repo=../test-bisect test-bisect-dependent.t | |
1611 | usage: run-tests.py [options] [tests] |
|
1611 | usage: run-tests.py [options] [tests] | |
1612 | run-tests.py: error: --bisect-repo cannot be used without --known-good-rev |
|
1612 | run-tests.py: error: --bisect-repo cannot be used without --known-good-rev | |
1613 | [2] |
|
1613 | [2] | |
1614 |
|
1614 | |||
1615 | $ rt --known-good-rev=0 --bisect-repo=../bisect test-bisect-dependent.t |
|
1615 | $ rt --known-good-rev=0 --bisect-repo=../bisect test-bisect-dependent.t | |
1616 | running 1 tests using 1 parallel processes |
|
1616 | running 1 tests using 1 parallel processes | |
1617 |
|
1617 | |||
1618 | --- $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t |
|
1618 | --- $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t | |
1619 | +++ $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t.err |
|
1619 | +++ $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t.err | |
1620 | @@ -1,2 +1,2 @@ |
|
1620 | @@ -1,2 +1,2 @@ | |
1621 | $ tail -1 $TESTDIR/../bisect/test-bisect.t |
|
1621 | $ tail -1 $TESTDIR/../bisect/test-bisect.t | |
1622 | - pass |
|
1622 | - pass | |
1623 | + fail |
|
1623 | + fail | |
1624 |
|
1624 | |||
1625 | ERROR: test-bisect-dependent.t output changed |
|
1625 | ERROR: test-bisect-dependent.t output changed | |
1626 | ! |
|
1626 | ! | |
1627 | Failed test-bisect-dependent.t: output changed |
|
1627 | Failed test-bisect-dependent.t: output changed | |
1628 | test-bisect-dependent.t broken by 72cbf122d116 (bad) |
|
1628 | test-bisect-dependent.t broken by 72cbf122d116 (bad) | |
1629 | # Ran 1 tests, 0 skipped, 1 failed. |
|
1629 | # Ran 1 tests, 0 skipped, 1 failed. | |
1630 | python hash seed: * (glob) |
|
1630 | python hash seed: * (glob) | |
1631 | [1] |
|
1631 | [1] | |
1632 |
|
1632 | |||
1633 | $ cd .. |
|
1633 | $ cd .. | |
1634 |
|
1634 | |||
1635 | Test a broken #if statement doesn't break run-tests threading. |
|
1635 | Test a broken #if statement doesn't break run-tests threading. | |
1636 | ============================================================== |
|
1636 | ============================================================== | |
1637 | $ mkdir broken |
|
1637 | $ mkdir broken | |
1638 | $ cd broken |
|
1638 | $ cd broken | |
1639 | $ cat > test-broken.t <<EOF |
|
1639 | $ cat > test-broken.t <<EOF | |
1640 | > true |
|
1640 | > true | |
1641 | > #if notarealhghavefeature |
|
1641 | > #if notarealhghavefeature | |
1642 | > $ false |
|
1642 | > $ false | |
1643 | > #endif |
|
1643 | > #endif | |
1644 | > EOF |
|
1644 | > EOF | |
1645 | $ for f in 1 2 3 4 ; do |
|
1645 | $ for f in 1 2 3 4 ; do | |
1646 | > cat > test-works-$f.t <<EOF |
|
1646 | > cat > test-works-$f.t <<EOF | |
1647 | > This is test case $f |
|
1647 | > This is test case $f | |
1648 | > $ sleep 1 |
|
1648 | > $ sleep 1 | |
1649 | > EOF |
|
1649 | > EOF | |
1650 | > done |
|
1650 | > done | |
1651 | $ rt -j 2 |
|
1651 | $ rt -j 2 | |
1652 | running 5 tests using 2 parallel processes |
|
1652 | running 5 tests using 2 parallel processes | |
1653 | .... |
|
1653 | .... | |
1654 | # Ran 5 tests, 0 skipped, 0 failed. |
|
1654 | # Ran 5 tests, 0 skipped, 0 failed. | |
1655 | skipped: unknown feature: notarealhghavefeature |
|
1655 | skipped: unknown feature: notarealhghavefeature | |
1656 |
|
1656 | |||
1657 | $ cd .. |
|
1657 | $ cd .. | |
1658 | $ rm -rf broken |
|
1658 | $ rm -rf broken | |
1659 |
|
1659 | |||
1660 | Test cases in .t files |
|
1660 | Test cases in .t files | |
1661 | ====================== |
|
1661 | ====================== | |
1662 | $ mkdir cases |
|
1662 | $ mkdir cases | |
1663 | $ cd cases |
|
1663 | $ cd cases | |
1664 | $ cat > test-cases-abc.t <<'EOF' |
|
1664 | $ cat > test-cases-abc.t <<'EOF' | |
1665 | > #testcases A B C |
|
1665 | > #testcases A B C | |
1666 | > $ V=B |
|
1666 | > $ V=B | |
1667 | > #if A |
|
1667 | > #if A | |
1668 | > $ V=A |
|
1668 | > $ V=A | |
1669 | > #endif |
|
1669 | > #endif | |
1670 | > #if C |
|
1670 | > #if C | |
1671 | > $ V=C |
|
1671 | > $ V=C | |
1672 | > #endif |
|
1672 | > #endif | |
1673 | > $ echo $V | sed 's/A/C/' |
|
1673 | > $ echo $V | sed 's/A/C/' | |
1674 | > C |
|
1674 | > C | |
1675 | > #if C |
|
1675 | > #if C | |
1676 | > $ [ $V = C ] |
|
1676 | > $ [ $V = C ] | |
1677 | > #endif |
|
1677 | > #endif | |
1678 | > #if A |
|
1678 | > #if A | |
1679 | > $ [ $V = C ] |
|
1679 | > $ [ $V = C ] | |
1680 | > [1] |
|
1680 | > [1] | |
1681 | > #endif |
|
1681 | > #endif | |
1682 | > #if no-C |
|
1682 | > #if no-C | |
1683 | > $ [ $V = C ] |
|
1683 | > $ [ $V = C ] | |
1684 | > [1] |
|
1684 | > [1] | |
1685 | > #endif |
|
1685 | > #endif | |
1686 | > $ [ $V = D ] |
|
1686 | > $ [ $V = D ] | |
1687 | > [1] |
|
1687 | > [1] | |
1688 | > EOF |
|
1688 | > EOF | |
1689 | $ rt |
|
1689 | $ rt | |
1690 | running 3 tests using 1 parallel processes |
|
1690 | running 3 tests using 1 parallel processes | |
1691 | . |
|
1691 | . | |
1692 | --- $TESTTMP/anothertests/cases/test-cases-abc.t |
|
1692 | --- $TESTTMP/anothertests/cases/test-cases-abc.t | |
1693 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err |
|
1693 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err | |
1694 | @@ -7,7 +7,7 @@ |
|
1694 | @@ -7,7 +7,7 @@ | |
1695 | $ V=C |
|
1695 | $ V=C | |
1696 | #endif |
|
1696 | #endif | |
1697 | $ echo $V | sed 's/A/C/' |
|
1697 | $ echo $V | sed 's/A/C/' | |
1698 | - C |
|
1698 | - C | |
1699 | + B |
|
1699 | + B | |
1700 | #if C |
|
1700 | #if C | |
1701 | $ [ $V = C ] |
|
1701 | $ [ $V = C ] | |
1702 | #endif |
|
1702 | #endif | |
1703 |
|
1703 | |||
1704 | ERROR: test-cases-abc.t#B output changed |
|
1704 | ERROR: test-cases-abc.t#B output changed | |
1705 | !. |
|
1705 | !. | |
1706 | Failed test-cases-abc.t#B: output changed |
|
1706 | Failed test-cases-abc.t#B: output changed | |
1707 | # Ran 3 tests, 0 skipped, 1 failed. |
|
1707 | # Ran 3 tests, 0 skipped, 1 failed. | |
1708 | python hash seed: * (glob) |
|
1708 | python hash seed: * (glob) | |
1709 | [1] |
|
1709 | [1] | |
1710 |
|
1710 | |||
1711 | --restart works |
|
1711 | --restart works | |
1712 |
|
1712 | |||
1713 | $ rt --restart |
|
1713 | $ rt --restart | |
1714 | running 2 tests using 1 parallel processes |
|
1714 | running 2 tests using 1 parallel processes | |
1715 |
|
1715 | |||
1716 | --- $TESTTMP/anothertests/cases/test-cases-abc.t |
|
1716 | --- $TESTTMP/anothertests/cases/test-cases-abc.t | |
1717 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err |
|
1717 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err | |
1718 | @@ -7,7 +7,7 @@ |
|
1718 | @@ -7,7 +7,7 @@ | |
1719 | $ V=C |
|
1719 | $ V=C | |
1720 | #endif |
|
1720 | #endif | |
1721 | $ echo $V | sed 's/A/C/' |
|
1721 | $ echo $V | sed 's/A/C/' | |
1722 | - C |
|
1722 | - C | |
1723 | + B |
|
1723 | + B | |
1724 | #if C |
|
1724 | #if C | |
1725 | $ [ $V = C ] |
|
1725 | $ [ $V = C ] | |
1726 | #endif |
|
1726 | #endif | |
1727 |
|
1727 | |||
1728 | ERROR: test-cases-abc.t#B output changed |
|
1728 | ERROR: test-cases-abc.t#B output changed | |
1729 | !. |
|
1729 | !. | |
1730 | Failed test-cases-abc.t#B: output changed |
|
1730 | Failed test-cases-abc.t#B: output changed | |
1731 | # Ran 2 tests, 0 skipped, 1 failed. |
|
1731 | # Ran 2 tests, 0 skipped, 1 failed. | |
1732 | python hash seed: * (glob) |
|
1732 | python hash seed: * (glob) | |
1733 | [1] |
|
1733 | [1] | |
1734 |
|
1734 | |||
1735 | --restart works with outputdir |
|
1735 | --restart works with outputdir | |
1736 |
|
1736 | |||
1737 | $ mkdir output |
|
1737 | $ mkdir output | |
1738 | $ mv test-cases-abc.t#B.err output |
|
1738 | $ mv test-cases-abc.t#B.err output | |
1739 | $ rt --restart --outputdir output |
|
1739 | $ rt --restart --outputdir output | |
1740 | running 2 tests using 1 parallel processes |
|
1740 | running 2 tests using 1 parallel processes | |
1741 |
|
1741 | |||
1742 | --- $TESTTMP/anothertests/cases/test-cases-abc.t |
|
1742 | --- $TESTTMP/anothertests/cases/test-cases-abc.t | |
1743 | +++ $TESTTMP/anothertests/cases/output/test-cases-abc.t#B.err |
|
1743 | +++ $TESTTMP/anothertests/cases/output/test-cases-abc.t#B.err | |
1744 | @@ -7,7 +7,7 @@ |
|
1744 | @@ -7,7 +7,7 @@ | |
1745 | $ V=C |
|
1745 | $ V=C | |
1746 | #endif |
|
1746 | #endif | |
1747 | $ echo $V | sed 's/A/C/' |
|
1747 | $ echo $V | sed 's/A/C/' | |
1748 | - C |
|
1748 | - C | |
1749 | + B |
|
1749 | + B | |
1750 | #if C |
|
1750 | #if C | |
1751 | $ [ $V = C ] |
|
1751 | $ [ $V = C ] | |
1752 | #endif |
|
1752 | #endif | |
1753 |
|
1753 | |||
1754 | ERROR: test-cases-abc.t#B output changed |
|
1754 | ERROR: test-cases-abc.t#B output changed | |
1755 | !. |
|
1755 | !. | |
1756 | Failed test-cases-abc.t#B: output changed |
|
1756 | Failed test-cases-abc.t#B: output changed | |
1757 | # Ran 2 tests, 0 skipped, 1 failed. |
|
1757 | # Ran 2 tests, 0 skipped, 1 failed. | |
1758 | python hash seed: * (glob) |
|
1758 | python hash seed: * (glob) | |
1759 | [1] |
|
1759 | [1] | |
1760 |
|
1760 | |||
1761 | Test TESTCASE variable |
|
1761 | Test TESTCASE variable | |
1762 |
|
1762 | |||
1763 | $ cat > test-cases-ab.t <<'EOF' |
|
1763 | $ cat > test-cases-ab.t <<'EOF' | |
1764 | > $ dostuff() { |
|
1764 | > $ dostuff() { | |
1765 | > > echo "In case $TESTCASE" |
|
1765 | > > echo "In case $TESTCASE" | |
1766 | > > } |
|
1766 | > > } | |
1767 | > #testcases A B |
|
1767 | > #testcases A B | |
1768 | > #if A |
|
1768 | > #if A | |
1769 | > $ dostuff |
|
1769 | > $ dostuff | |
1770 | > In case A |
|
1770 | > In case A | |
1771 | > #endif |
|
1771 | > #endif | |
1772 | > #if B |
|
1772 | > #if B | |
1773 | > $ dostuff |
|
1773 | > $ dostuff | |
1774 | > In case B |
|
1774 | > In case B | |
1775 | > #endif |
|
1775 | > #endif | |
1776 | > EOF |
|
1776 | > EOF | |
1777 | $ rt test-cases-ab.t |
|
1777 | $ rt test-cases-ab.t | |
1778 | running 2 tests using 1 parallel processes |
|
1778 | running 2 tests using 1 parallel processes | |
1779 | .. |
|
1779 | .. | |
1780 | # Ran 2 tests, 0 skipped, 0 failed. |
|
1780 | # Ran 2 tests, 0 skipped, 0 failed. | |
1781 |
|
1781 | |||
1782 | Support running a specific test case |
|
1782 | Support running a specific test case | |
1783 |
|
1783 | |||
1784 | $ rt "test-cases-abc.t#B" |
|
1784 | $ rt "test-cases-abc.t#B" | |
1785 | running 1 tests using 1 parallel processes |
|
1785 | running 1 tests using 1 parallel processes | |
1786 |
|
1786 | |||
1787 | --- $TESTTMP/anothertests/cases/test-cases-abc.t |
|
1787 | --- $TESTTMP/anothertests/cases/test-cases-abc.t | |
1788 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err |
|
1788 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err | |
1789 | @@ -7,7 +7,7 @@ |
|
1789 | @@ -7,7 +7,7 @@ | |
1790 | $ V=C |
|
1790 | $ V=C | |
1791 | #endif |
|
1791 | #endif | |
1792 | $ echo $V | sed 's/A/C/' |
|
1792 | $ echo $V | sed 's/A/C/' | |
1793 | - C |
|
1793 | - C | |
1794 | + B |
|
1794 | + B | |
1795 | #if C |
|
1795 | #if C | |
1796 | $ [ $V = C ] |
|
1796 | $ [ $V = C ] | |
1797 | #endif |
|
1797 | #endif | |
1798 |
|
1798 | |||
1799 | ERROR: test-cases-abc.t#B output changed |
|
1799 | ERROR: test-cases-abc.t#B output changed | |
1800 | ! |
|
1800 | ! | |
1801 | Failed test-cases-abc.t#B: output changed |
|
1801 | Failed test-cases-abc.t#B: output changed | |
1802 | # Ran 1 tests, 0 skipped, 1 failed. |
|
1802 | # Ran 1 tests, 0 skipped, 1 failed. | |
1803 | python hash seed: * (glob) |
|
1803 | python hash seed: * (glob) | |
1804 | [1] |
|
1804 | [1] | |
1805 |
|
1805 | |||
1806 | Support running multiple test cases in the same file |
|
1806 | Support running multiple test cases in the same file | |
1807 |
|
1807 | |||
1808 | $ rt test-cases-abc.t#B test-cases-abc.t#C |
|
1808 | $ rt test-cases-abc.t#B test-cases-abc.t#C | |
1809 | running 2 tests using 1 parallel processes |
|
1809 | running 2 tests using 1 parallel processes | |
1810 |
|
1810 | |||
1811 | --- $TESTTMP/anothertests/cases/test-cases-abc.t |
|
1811 | --- $TESTTMP/anothertests/cases/test-cases-abc.t | |
1812 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err |
|
1812 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err | |
1813 | @@ -7,7 +7,7 @@ |
|
1813 | @@ -7,7 +7,7 @@ | |
1814 | $ V=C |
|
1814 | $ V=C | |
1815 | #endif |
|
1815 | #endif | |
1816 | $ echo $V | sed 's/A/C/' |
|
1816 | $ echo $V | sed 's/A/C/' | |
1817 | - C |
|
1817 | - C | |
1818 | + B |
|
1818 | + B | |
1819 | #if C |
|
1819 | #if C | |
1820 | $ [ $V = C ] |
|
1820 | $ [ $V = C ] | |
1821 | #endif |
|
1821 | #endif | |
1822 |
|
1822 | |||
1823 | ERROR: test-cases-abc.t#B output changed |
|
1823 | ERROR: test-cases-abc.t#B output changed | |
1824 | !. |
|
1824 | !. | |
1825 | Failed test-cases-abc.t#B: output changed |
|
1825 | Failed test-cases-abc.t#B: output changed | |
1826 | # Ran 2 tests, 0 skipped, 1 failed. |
|
1826 | # Ran 2 tests, 0 skipped, 1 failed. | |
1827 | python hash seed: * (glob) |
|
1827 | python hash seed: * (glob) | |
1828 | [1] |
|
1828 | [1] | |
1829 |
|
1829 | |||
1830 | Support ignoring invalid test cases |
|
1830 | Support ignoring invalid test cases | |
1831 |
|
1831 | |||
1832 | $ rt test-cases-abc.t#B test-cases-abc.t#D |
|
1832 | $ rt test-cases-abc.t#B test-cases-abc.t#D | |
1833 | running 1 tests using 1 parallel processes |
|
1833 | running 1 tests using 1 parallel processes | |
1834 |
|
1834 | |||
1835 | --- $TESTTMP/anothertests/cases/test-cases-abc.t |
|
1835 | --- $TESTTMP/anothertests/cases/test-cases-abc.t | |
1836 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err |
|
1836 | +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err | |
1837 | @@ -7,7 +7,7 @@ |
|
1837 | @@ -7,7 +7,7 @@ | |
1838 | $ V=C |
|
1838 | $ V=C | |
1839 | #endif |
|
1839 | #endif | |
1840 | $ echo $V | sed 's/A/C/' |
|
1840 | $ echo $V | sed 's/A/C/' | |
1841 | - C |
|
1841 | - C | |
1842 | + B |
|
1842 | + B | |
1843 | #if C |
|
1843 | #if C | |
1844 | $ [ $V = C ] |
|
1844 | $ [ $V = C ] | |
1845 | #endif |
|
1845 | #endif | |
1846 |
|
1846 | |||
1847 | ERROR: test-cases-abc.t#B output changed |
|
1847 | ERROR: test-cases-abc.t#B output changed | |
1848 | ! |
|
1848 | ! | |
1849 | Failed test-cases-abc.t#B: output changed |
|
1849 | Failed test-cases-abc.t#B: output changed | |
1850 | # Ran 1 tests, 0 skipped, 1 failed. |
|
1850 | # Ran 1 tests, 0 skipped, 1 failed. | |
1851 | python hash seed: * (glob) |
|
1851 | python hash seed: * (glob) | |
1852 | [1] |
|
1852 | [1] | |
1853 |
|
1853 | |||
1854 | Support running complex test cases names |
|
1854 | Support running complex test cases names | |
1855 |
|
1855 | |||
1856 | $ cat > test-cases-advanced-cases.t <<'EOF' |
|
1856 | $ cat > test-cases-advanced-cases.t <<'EOF' | |
1857 | > #testcases simple case-with-dashes casewith_-.chars |
|
1857 | > #testcases simple case-with-dashes casewith_-.chars | |
1858 | > $ echo $TESTCASE |
|
1858 | > $ echo $TESTCASE | |
1859 | > simple |
|
1859 | > simple | |
1860 | > EOF |
|
1860 | > EOF | |
1861 |
|
1861 | |||
1862 | $ cat test-cases-advanced-cases.t |
|
1862 | $ cat test-cases-advanced-cases.t | |
1863 | #testcases simple case-with-dashes casewith_-.chars |
|
1863 | #testcases simple case-with-dashes casewith_-.chars | |
1864 | $ echo $TESTCASE |
|
1864 | $ echo $TESTCASE | |
1865 | simple |
|
1865 | simple | |
1866 |
|
1866 | |||
1867 | $ rt test-cases-advanced-cases.t |
|
1867 | $ rt test-cases-advanced-cases.t | |
1868 | running 3 tests using 1 parallel processes |
|
1868 | running 3 tests using 1 parallel processes | |
1869 |
|
1869 | |||
1870 | --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t |
|
1870 | --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t | |
1871 | +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#case-with-dashes.err |
|
1871 | +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#case-with-dashes.err | |
1872 | @@ -1,3 +1,3 @@ |
|
1872 | @@ -1,3 +1,3 @@ | |
1873 | #testcases simple case-with-dashes casewith_-.chars |
|
1873 | #testcases simple case-with-dashes casewith_-.chars | |
1874 | $ echo $TESTCASE |
|
1874 | $ echo $TESTCASE | |
1875 | - simple |
|
1875 | - simple | |
1876 | + case-with-dashes |
|
1876 | + case-with-dashes | |
1877 |
|
1877 | |||
1878 | ERROR: test-cases-advanced-cases.t#case-with-dashes output changed |
|
1878 | ERROR: test-cases-advanced-cases.t#case-with-dashes output changed | |
1879 | ! |
|
1879 | ! | |
1880 | --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t |
|
1880 | --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t | |
1881 | +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#casewith_-.chars.err |
|
1881 | +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#casewith_-.chars.err | |
1882 | @@ -1,3 +1,3 @@ |
|
1882 | @@ -1,3 +1,3 @@ | |
1883 | #testcases simple case-with-dashes casewith_-.chars |
|
1883 | #testcases simple case-with-dashes casewith_-.chars | |
1884 | $ echo $TESTCASE |
|
1884 | $ echo $TESTCASE | |
1885 | - simple |
|
1885 | - simple | |
1886 | + casewith_-.chars |
|
1886 | + casewith_-.chars | |
1887 |
|
1887 | |||
1888 | ERROR: test-cases-advanced-cases.t#casewith_-.chars output changed |
|
1888 | ERROR: test-cases-advanced-cases.t#casewith_-.chars output changed | |
1889 | !. |
|
1889 | !. | |
1890 | Failed test-cases-advanced-cases.t#case-with-dashes: output changed |
|
1890 | Failed test-cases-advanced-cases.t#case-with-dashes: output changed | |
1891 | Failed test-cases-advanced-cases.t#casewith_-.chars: output changed |
|
1891 | Failed test-cases-advanced-cases.t#casewith_-.chars: output changed | |
1892 | # Ran 3 tests, 0 skipped, 2 failed. |
|
1892 | # Ran 3 tests, 0 skipped, 2 failed. | |
1893 | python hash seed: * (glob) |
|
1893 | python hash seed: * (glob) | |
1894 | [1] |
|
1894 | [1] | |
1895 |
|
1895 | |||
1896 | $ rt "test-cases-advanced-cases.t#case-with-dashes" |
|
1896 | $ rt "test-cases-advanced-cases.t#case-with-dashes" | |
1897 | running 1 tests using 1 parallel processes |
|
1897 | running 1 tests using 1 parallel processes | |
1898 |
|
1898 | |||
1899 | --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t |
|
1899 | --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t | |
1900 | +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#case-with-dashes.err |
|
1900 | +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#case-with-dashes.err | |
1901 | @@ -1,3 +1,3 @@ |
|
1901 | @@ -1,3 +1,3 @@ | |
1902 | #testcases simple case-with-dashes casewith_-.chars |
|
1902 | #testcases simple case-with-dashes casewith_-.chars | |
1903 | $ echo $TESTCASE |
|
1903 | $ echo $TESTCASE | |
1904 | - simple |
|
1904 | - simple | |
1905 | + case-with-dashes |
|
1905 | + case-with-dashes | |
1906 |
|
1906 | |||
1907 | ERROR: test-cases-advanced-cases.t#case-with-dashes output changed |
|
1907 | ERROR: test-cases-advanced-cases.t#case-with-dashes output changed | |
1908 | ! |
|
1908 | ! | |
1909 | Failed test-cases-advanced-cases.t#case-with-dashes: output changed |
|
1909 | Failed test-cases-advanced-cases.t#case-with-dashes: output changed | |
1910 | # Ran 1 tests, 0 skipped, 1 failed. |
|
1910 | # Ran 1 tests, 0 skipped, 1 failed. | |
1911 | python hash seed: * (glob) |
|
1911 | python hash seed: * (glob) | |
1912 | [1] |
|
1912 | [1] | |
1913 |
|
1913 | |||
1914 | $ rt "test-cases-advanced-cases.t#casewith_-.chars" |
|
1914 | $ rt "test-cases-advanced-cases.t#casewith_-.chars" | |
1915 | running 1 tests using 1 parallel processes |
|
1915 | running 1 tests using 1 parallel processes | |
1916 |
|
1916 | |||
1917 | --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t |
|
1917 | --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t | |
1918 | +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#casewith_-.chars.err |
|
1918 | +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#casewith_-.chars.err | |
1919 | @@ -1,3 +1,3 @@ |
|
1919 | @@ -1,3 +1,3 @@ | |
1920 | #testcases simple case-with-dashes casewith_-.chars |
|
1920 | #testcases simple case-with-dashes casewith_-.chars | |
1921 | $ echo $TESTCASE |
|
1921 | $ echo $TESTCASE | |
1922 | - simple |
|
1922 | - simple | |
1923 | + casewith_-.chars |
|
1923 | + casewith_-.chars | |
1924 |
|
1924 | |||
1925 | ERROR: test-cases-advanced-cases.t#casewith_-.chars output changed |
|
1925 | ERROR: test-cases-advanced-cases.t#casewith_-.chars output changed | |
1926 | ! |
|
1926 | ! | |
1927 | Failed test-cases-advanced-cases.t#casewith_-.chars: output changed |
|
1927 | Failed test-cases-advanced-cases.t#casewith_-.chars: output changed | |
1928 | # Ran 1 tests, 0 skipped, 1 failed. |
|
1928 | # Ran 1 tests, 0 skipped, 1 failed. | |
1929 | python hash seed: * (glob) |
|
1929 | python hash seed: * (glob) | |
1930 | [1] |
|
1930 | [1] | |
1931 |
|
1931 | |||
1932 | Test automatic pattern replacement |
|
1932 | Test automatic pattern replacement | |
1933 | ================================== |
|
1933 | ================================== | |
1934 |
|
1934 | |||
1935 | $ cat << EOF >> common-pattern.py |
|
1935 | $ cat << EOF >> common-pattern.py | |
1936 | > substitutions = [ |
|
1936 | > substitutions = [ | |
1937 | > (br'foo-(.*)\\b', |
|
1937 | > (br'foo-(.*)\\b', | |
1938 | > br'\$XXX=\\1\$'), |
|
1938 | > br'\$XXX=\\1\$'), | |
1939 | > (br'bar\\n', |
|
1939 | > (br'bar\\n', | |
1940 | > br'\$YYY$\\n'), |
|
1940 | > br'\$YYY$\\n'), | |
1941 | > ] |
|
1941 | > ] | |
1942 | > EOF |
|
1942 | > EOF | |
1943 |
|
1943 | |||
1944 | $ cat << EOF >> test-substitution.t |
|
1944 | $ cat << EOF >> test-substitution.t | |
1945 | > $ echo foo-12 |
|
1945 | > $ echo foo-12 | |
1946 | > \$XXX=12$ |
|
1946 | > \$XXX=12$ | |
1947 | > $ echo foo-42 |
|
1947 | > $ echo foo-42 | |
1948 | > \$XXX=42$ |
|
1948 | > \$XXX=42$ | |
1949 | > $ echo bar prior |
|
1949 | > $ echo bar prior | |
1950 | > bar prior |
|
1950 | > bar prior | |
1951 | > $ echo lastbar |
|
1951 | > $ echo lastbar | |
1952 | > last\$YYY$ |
|
1952 | > last\$YYY$ | |
1953 | > $ echo foo-bar foo-baz |
|
1953 | > $ echo foo-bar foo-baz | |
1954 | > EOF |
|
1954 | > EOF | |
1955 |
|
1955 | |||
1956 | $ rt test-substitution.t |
|
1956 | $ rt test-substitution.t | |
1957 | running 1 tests using 1 parallel processes |
|
1957 | running 1 tests using 1 parallel processes | |
1958 |
|
1958 | |||
1959 | --- $TESTTMP/anothertests/cases/test-substitution.t |
|
1959 | --- $TESTTMP/anothertests/cases/test-substitution.t | |
1960 | +++ $TESTTMP/anothertests/cases/test-substitution.t.err |
|
1960 | +++ $TESTTMP/anothertests/cases/test-substitution.t.err | |
1961 | @@ -7,3 +7,4 @@ |
|
1961 | @@ -7,3 +7,4 @@ | |
1962 | $ echo lastbar |
|
1962 | $ echo lastbar | |
1963 | last$YYY$ |
|
1963 | last$YYY$ | |
1964 | $ echo foo-bar foo-baz |
|
1964 | $ echo foo-bar foo-baz | |
1965 | + $XXX=bar foo-baz$ |
|
1965 | + $XXX=bar foo-baz$ | |
1966 |
|
1966 | |||
1967 | ERROR: test-substitution.t output changed |
|
1967 | ERROR: test-substitution.t output changed | |
1968 | ! |
|
1968 | ! | |
1969 | Failed test-substitution.t: output changed |
|
1969 | Failed test-substitution.t: output changed | |
1970 | # Ran 1 tests, 0 skipped, 1 failed. |
|
1970 | # Ran 1 tests, 0 skipped, 1 failed. | |
1971 | python hash seed: * (glob) |
|
1971 | python hash seed: * (glob) | |
1972 | [1] |
|
1972 | [1] | |
1973 |
|
1973 | |||
1974 | --extra-config-opt works |
|
1974 | --extra-config-opt works | |
1975 |
|
1975 | |||
1976 | $ cat << EOF >> test-config-opt.t |
|
1976 | $ cat << EOF >> test-config-opt.t | |
1977 | > $ hg init test-config-opt |
|
1977 | > $ hg init test-config-opt | |
1978 | > $ hg -R test-config-opt purge |
|
1978 | > $ hg -R test-config-opt purge | |
1979 | > $ echo "HGTESTEXTRAEXTENSIONS: \$HGTESTEXTRAEXTENSIONS" |
|
1979 | > $ echo "HGTESTEXTRAEXTENSIONS: \$HGTESTEXTRAEXTENSIONS" | |
1980 | > HGTESTEXTRAEXTENSIONS: purge |
|
1980 | > HGTESTEXTRAEXTENSIONS: purge | |
1981 | > EOF |
|
1981 | > EOF | |
1982 |
|
1982 | |||
1983 | $ rt --extra-config-opt extensions.purge= \ |
|
1983 | $ rt --extra-config-opt extensions.purge= \ | |
1984 | > --extra-config-opt not.an.extension=True test-config-opt.t |
|
1984 | > --extra-config-opt not.an.extension=True test-config-opt.t | |
1985 | running 1 tests using 1 parallel processes |
|
1985 | running 1 tests using 1 parallel processes | |
1986 | . |
|
1986 | . | |
1987 | # Ran 1 tests, 0 skipped, 0 failed. |
|
1987 | # Ran 1 tests, 0 skipped, 0 failed. | |
1988 |
|
1988 | |||
1989 | Test conditional output matching |
|
1989 | Test conditional output matching | |
1990 | ================================ |
|
1990 | ================================ | |
1991 |
|
1991 | |||
1992 | $ cat << EOF >> test-conditional-matching.t |
|
1992 | $ cat << EOF >> test-conditional-matching.t | |
1993 | > #testcases foo bar |
|
1993 | > #testcases foo bar | |
1994 | > $ echo richtig |
|
1994 | > $ echo richtig | |
1995 | > richtig (true !) |
|
1995 | > richtig (true !) | |
1996 | > $ echo falsch |
|
1996 | > $ echo falsch | |
1997 | > falsch (false !) |
|
1997 | > falsch (false !) | |
1998 | > #if foo |
|
1998 | > #if foo | |
1999 | > $ echo arthur |
|
1999 | > $ echo arthur | |
2000 | > arthur (bar !) |
|
2000 | > arthur (bar !) | |
2001 | > #endif |
|
2001 | > #endif | |
2002 | > $ echo celeste |
|
2002 | > $ echo celeste | |
2003 | > celeste (foo !) |
|
2003 | > celeste (foo !) | |
2004 | > $ echo zephir |
|
2004 | > $ echo zephir | |
2005 | > zephir (bar !) |
|
2005 | > zephir (bar !) | |
2006 | > EOF |
|
2006 | > EOF | |
2007 |
|
2007 | |||
2008 | $ rt test-conditional-matching.t |
|
2008 | $ rt test-conditional-matching.t | |
2009 | running 2 tests using 1 parallel processes |
|
2009 | running 2 tests using 1 parallel processes | |
2010 |
|
2010 | |||
2011 | --- $TESTTMP/anothertests/cases/test-conditional-matching.t |
|
2011 | --- $TESTTMP/anothertests/cases/test-conditional-matching.t | |
2012 | +++ $TESTTMP/anothertests/cases/test-conditional-matching.t#bar.err |
|
2012 | +++ $TESTTMP/anothertests/cases/test-conditional-matching.t#bar.err | |
2013 | @@ -3,11 +3,13 @@ |
|
2013 | @@ -3,11 +3,13 @@ | |
2014 | richtig (true !) |
|
2014 | richtig (true !) | |
2015 | $ echo falsch |
|
2015 | $ echo falsch | |
2016 | falsch (false !) |
|
2016 | falsch (false !) | |
2017 | + falsch |
|
2017 | + falsch | |
2018 | #if foo |
|
2018 | #if foo | |
2019 | $ echo arthur |
|
2019 | $ echo arthur | |
2020 | arthur \(bar !\) (re) |
|
2020 | arthur \(bar !\) (re) | |
2021 | #endif |
|
2021 | #endif | |
2022 | $ echo celeste |
|
2022 | $ echo celeste | |
2023 | celeste \(foo !\) (re) |
|
2023 | celeste \(foo !\) (re) | |
2024 | + celeste |
|
2024 | + celeste | |
2025 | $ echo zephir |
|
2025 | $ echo zephir | |
2026 | zephir \(bar !\) (re) |
|
2026 | zephir \(bar !\) (re) | |
2027 |
|
2027 | |||
2028 | ERROR: test-conditional-matching.t#bar output changed |
|
2028 | ERROR: test-conditional-matching.t#bar output changed | |
2029 | ! |
|
2029 | ! | |
2030 | --- $TESTTMP/anothertests/cases/test-conditional-matching.t |
|
2030 | --- $TESTTMP/anothertests/cases/test-conditional-matching.t | |
2031 | +++ $TESTTMP/anothertests/cases/test-conditional-matching.t#foo.err |
|
2031 | +++ $TESTTMP/anothertests/cases/test-conditional-matching.t#foo.err | |
2032 | @@ -3,11 +3,14 @@ |
|
2032 | @@ -3,11 +3,14 @@ | |
2033 | richtig (true !) |
|
2033 | richtig (true !) | |
2034 | $ echo falsch |
|
2034 | $ echo falsch | |
2035 | falsch (false !) |
|
2035 | falsch (false !) | |
2036 | + falsch |
|
2036 | + falsch | |
2037 | #if foo |
|
2037 | #if foo | |
2038 | $ echo arthur |
|
2038 | $ echo arthur | |
2039 | arthur \(bar !\) (re) |
|
2039 | arthur \(bar !\) (re) | |
2040 | + arthur |
|
2040 | + arthur | |
2041 | #endif |
|
2041 | #endif | |
2042 | $ echo celeste |
|
2042 | $ echo celeste | |
2043 | celeste \(foo !\) (re) |
|
2043 | celeste \(foo !\) (re) | |
2044 | $ echo zephir |
|
2044 | $ echo zephir | |
2045 | zephir \(bar !\) (re) |
|
2045 | zephir \(bar !\) (re) | |
2046 | + zephir |
|
2046 | + zephir | |
2047 |
|
2047 | |||
2048 | ERROR: test-conditional-matching.t#foo output changed |
|
2048 | ERROR: test-conditional-matching.t#foo output changed | |
2049 | ! |
|
2049 | ! | |
2050 | Failed test-conditional-matching.t#bar: output changed |
|
2050 | Failed test-conditional-matching.t#bar: output changed | |
2051 | Failed test-conditional-matching.t#foo: output changed |
|
2051 | Failed test-conditional-matching.t#foo: output changed | |
2052 | # Ran 2 tests, 0 skipped, 2 failed. |
|
2052 | # Ran 2 tests, 0 skipped, 2 failed. | |
2053 | python hash seed: * (glob) |
|
2053 | python hash seed: * (glob) | |
2054 | [1] |
|
2054 | [1] | |
2055 |
|
2055 | |||
2056 | Test that a proper "python" has been set up |
|
2056 | Test that a proper "python" has been set up | |
2057 | =========================================== |
|
2057 | =========================================== | |
2058 |
|
2058 | |||
2059 | (with a small check-code work around) |
|
2059 | (with a small check-code work around) | |
2060 | $ printf "#!/usr/bi" > test-py3.tmp |
|
2060 | $ printf "#!/usr/bi" > test-py3.tmp | |
2061 | $ printf "n/en" >> test-py3.tmp |
|
2061 | $ printf "n/en" >> test-py3.tmp | |
2062 | $ cat << EOF >> test-py3.tmp |
|
2062 | $ cat << EOF >> test-py3.tmp | |
2063 | > v python3 |
|
2063 | > v python3 | |
2064 | > import sys |
|
2064 | > import sys | |
2065 | > print('.'.join(str(x) for x in sys.version_info)) |
|
2065 | > print('.'.join(str(x) for x in sys.version_info)) | |
2066 | > EOF |
|
2066 | > EOF | |
2067 | $ mv test-py3.tmp test-py3.py |
|
2067 | $ mv test-py3.tmp test-py3.py | |
2068 | $ chmod +x test-py3.py |
|
2068 | $ chmod +x test-py3.py | |
2069 |
|
2069 | |||
2070 | (with a small check-code work around) |
|
2070 | (with a small check-code work around) | |
2071 | $ printf "#!/usr/bi" > test-py.tmp |
|
2071 | $ printf "#!/usr/bi" > test-py.tmp | |
2072 | $ printf "n/en" >> test-py.tmp |
|
2072 | $ printf "n/en" >> test-py.tmp | |
2073 | $ cat << EOF >> test-py.tmp |
|
2073 | $ cat << EOF >> test-py.tmp | |
2074 | > v python |
|
2074 | > v python | |
2075 | > import sys |
|
2075 | > import sys | |
2076 | > print('.'.join(str(x) for x in sys.version_info)) |
|
2076 | > print('.'.join(str(x) for x in sys.version_info)) | |
2077 | > EOF |
|
2077 | > EOF | |
2078 | $ mv test-py.tmp test-py.py |
|
2078 | $ mv test-py.tmp test-py.py | |
2079 | $ chmod +x test-py.py |
|
2079 | $ chmod +x test-py.py | |
2080 |
|
2080 | |||
2081 | $ ./test-py3.py |
|
2081 | $ ./test-py3.py | |
2082 | 3.* (glob) |
|
2082 | 3.* (glob) | |
2083 | $ ./test-py.py |
|
2083 | $ ./test-py.py | |
2084 | 2.* (glob) (no-py3 !) |
|
2084 | 2.* (glob) (no-py3 !) | |
2085 | 3.* (glob) (py3 !) |
|
2085 | 3.* (glob) (py3 !) |
@@ -1,119 +1,120 b'' | |||||
1 | #require serve |
|
1 | #require serve | |
2 |
|
2 | |||
3 | $ hgserve() |
|
3 | $ hgserve() | |
4 | > { |
|
4 | > { | |
5 | > hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \ |
|
5 | > hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \ | |
6 | > | sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \ |
|
6 | > | sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \ | |
7 | > -e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \ |
|
7 | > -e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \ | |
8 | > -e 's/http:\/\/[^/]*\//http:\/\/localhost\//' |
|
8 | > -e 's/http:\/\/[^/]*\//http:\/\/localhost\//' | |
9 | > if [ -f hg.pid ]; then |
|
9 | > if [ -f hg.pid ]; then | |
10 | > killdaemons.py hg.pid |
|
10 | > killdaemons.py hg.pid | |
11 | > fi |
|
11 | > fi | |
12 | > echo % errors |
|
12 | > echo % errors | |
13 | > cat errors.log |
|
13 | > cat errors.log | |
14 | > } |
|
14 | > } | |
15 |
|
15 | |||
16 | $ hg init test |
|
16 | $ hg init test | |
17 | $ cd test |
|
17 | $ cd test | |
18 | $ echo '[web]' > .hg/hgrc |
|
18 | $ echo '[web]' > .hg/hgrc | |
19 | $ echo 'accesslog = access.log' >> .hg/hgrc |
|
19 | $ echo 'accesslog = access.log' >> .hg/hgrc | |
20 | $ echo "port = $HGPORT1" >> .hg/hgrc |
|
20 | $ echo "port = $HGPORT1" >> .hg/hgrc | |
21 |
|
21 | |||
22 | Without -v |
|
22 | Without -v | |
23 |
|
23 | |||
24 | $ hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log |
|
24 | $ hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log | |
25 | $ cat hg.pid >> "$DAEMON_PIDS" |
|
25 | $ cat hg.pid >> "$DAEMON_PIDS" | |
26 | $ if [ -f access.log ]; then |
|
26 | $ if [ -f access.log ]; then | |
27 | > echo 'access log created - .hg/hgrc respected' |
|
27 | > echo 'access log created - .hg/hgrc respected' | |
28 | > fi |
|
28 | > fi | |
29 | access log created - .hg/hgrc respected |
|
29 | access log created - .hg/hgrc respected | |
30 |
|
30 | |||
31 | errors |
|
31 | errors | |
32 |
|
32 | |||
33 | $ cat errors.log |
|
33 | $ cat errors.log | |
34 |
|
34 | |||
35 | With -v |
|
35 | With -v | |
36 |
|
36 | |||
37 | $ hgserve |
|
37 | $ hgserve | |
38 | listening at http://localhost/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) |
|
38 | listening at http://localhost/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) | |
39 | % errors |
|
39 | % errors | |
40 |
|
40 | |||
41 | With -v and -p HGPORT2 |
|
41 | With -v and -p HGPORT2 | |
42 |
|
42 | |||
43 | $ hgserve -p "$HGPORT2" |
|
43 | $ hgserve -p "$HGPORT2" | |
44 | listening at http://localhost/ (bound to *$LOCALIP*:HGPORT2) (glob) (?) |
|
44 | listening at http://localhost/ (bound to *$LOCALIP*:HGPORT2) (glob) (?) | |
45 | % errors |
|
45 | % errors | |
46 |
|
46 | |||
47 | With -v and -p daytime |
|
47 | With -v and -p daytime | |
48 |
|
48 | |||
49 | # On some system this will fails because port < 1024 are not bindable by normal |
|
49 | # On some system this will fails because port < 1024 are not bindable by normal | |
50 | # users. |
|
50 | # users. | |
51 | # |
|
51 | # | |
52 | # On some others the kernel is configured to allow any user to bind them and |
|
52 | # On some others the kernel is configured to allow any user to bind them and | |
53 | # this will work fine |
|
53 | # this will work fine | |
54 |
|
54 | |||
55 | #if no-windows |
|
55 | #if no-windows | |
56 | $ KILLQUIETLY=Y |
|
56 | $ KILLQUIETLY=Y | |
57 | $ hgserve -p daytime |
|
57 | $ hgserve -p daytime | |
58 | abort: cannot start server at 'localhost:13': Permission denied (?) |
|
58 | abort: cannot start server at 'localhost:13': Permission denied (?) | |
59 | abort: child process failed to start (?) |
|
59 | abort: child process failed to start (?) | |
|
60 | abort: no port number associated with service 'daytime' (?) | |||
60 | listening at http://localhost/ (bound to $LOCALIP:13) (?) |
|
61 | listening at http://localhost/ (bound to $LOCALIP:13) (?) | |
61 | % errors |
|
62 | % errors | |
62 | $ KILLQUIETLY=N |
|
63 | $ KILLQUIETLY=N | |
63 | #endif |
|
64 | #endif | |
64 |
|
65 | |||
65 | With --prefix foo |
|
66 | With --prefix foo | |
66 |
|
67 | |||
67 | $ hgserve --prefix foo |
|
68 | $ hgserve --prefix foo | |
68 | listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) |
|
69 | listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) | |
69 | % errors |
|
70 | % errors | |
70 |
|
71 | |||
71 | With --prefix /foo |
|
72 | With --prefix /foo | |
72 |
|
73 | |||
73 | $ hgserve --prefix /foo |
|
74 | $ hgserve --prefix /foo | |
74 | listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) |
|
75 | listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) | |
75 | % errors |
|
76 | % errors | |
76 |
|
77 | |||
77 | With --prefix foo/ |
|
78 | With --prefix foo/ | |
78 |
|
79 | |||
79 | $ hgserve --prefix foo/ |
|
80 | $ hgserve --prefix foo/ | |
80 | listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) |
|
81 | listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) | |
81 | % errors |
|
82 | % errors | |
82 |
|
83 | |||
83 | With --prefix /foo/ |
|
84 | With --prefix /foo/ | |
84 |
|
85 | |||
85 | $ hgserve --prefix /foo/ |
|
86 | $ hgserve --prefix /foo/ | |
86 | listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) |
|
87 | listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?) | |
87 | % errors |
|
88 | % errors | |
88 |
|
89 | |||
89 | $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS |
|
90 | $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS | |
90 |
|
91 | |||
91 | With out of bounds accesses |
|
92 | With out of bounds accesses | |
92 |
|
93 | |||
93 | $ rm access.log |
|
94 | $ rm access.log | |
94 | $ hg serve -a localhost -p $HGPORT -d --prefix some/dir \ |
|
95 | $ hg serve -a localhost -p $HGPORT -d --prefix some/dir \ | |
95 | > --pid-file=hg.pid -E errors.log |
|
96 | > --pid-file=hg.pid -E errors.log | |
96 | $ cat hg.pid >> "$DAEMON_PIDS" |
|
97 | $ cat hg.pid >> "$DAEMON_PIDS" | |
97 |
|
98 | |||
98 | $ hg id http://localhost:$HGPORT/some/dir7 |
|
99 | $ hg id http://localhost:$HGPORT/some/dir7 | |
99 | abort: HTTP Error 404: Not Found |
|
100 | abort: HTTP Error 404: Not Found | |
100 | [100] |
|
101 | [100] | |
101 | $ hg id http://localhost:$HGPORT/some |
|
102 | $ hg id http://localhost:$HGPORT/some | |
102 | abort: HTTP Error 404: Not Found |
|
103 | abort: HTTP Error 404: Not Found | |
103 | [100] |
|
104 | [100] | |
104 |
|
105 | |||
105 | $ cat access.log errors.log |
|
106 | $ cat access.log errors.log | |
106 | $LOCALIP - - [$LOGDATE$] "GET /some/dir7?cmd=capabilities HTTP/1.1" 404 - (glob) |
|
107 | $LOCALIP - - [$LOGDATE$] "GET /some/dir7?cmd=capabilities HTTP/1.1" 404 - (glob) | |
107 | $LOCALIP - - [$LOGDATE$] "GET /some?cmd=capabilities HTTP/1.1" 404 - (glob) |
|
108 | $LOCALIP - - [$LOGDATE$] "GET /some?cmd=capabilities HTTP/1.1" 404 - (glob) | |
108 |
|
109 | |||
109 | $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS |
|
110 | $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS | |
110 |
|
111 | |||
111 | issue6362: Previously, this crashed on Python 3 |
|
112 | issue6362: Previously, this crashed on Python 3 | |
112 |
|
113 | |||
113 | $ hg serve -a 0.0.0.0 -d --pid-file=hg.pid |
|
114 | $ hg serve -a 0.0.0.0 -d --pid-file=hg.pid | |
114 | listening at http://*:$HGPORT1/ (bound to *:$HGPORT1) (glob) (?) |
|
115 | listening at http://*:$HGPORT1/ (bound to *:$HGPORT1) (glob) (?) | |
115 |
|
116 | |||
116 | $ cat hg.pid > "$DAEMON_PIDS" |
|
117 | $ cat hg.pid > "$DAEMON_PIDS" | |
117 | $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS |
|
118 | $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS | |
118 |
|
119 | |||
119 | $ cd .. |
|
120 | $ cd .. |
General Comments 0
You need to be logged in to leave comments.
Login now