1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497
|
autopkgtest (5.28) unstable; urgency=medium
[ Jochen Sprickerhof ]
* virt-unshare: use rbind to mount subtrees
[ Christian Kastner ]
* QEMU: Enable virtio-serial exactly once (Closes: #1003002)
[ Paride Legovini ]
* Pin pockets with Pin-Priority: 500
[ Paul Gevers ]
* virt/podmon: don't fail on stderr while stopping container
[ Ryan Tandy ]
* Fix qemu failing to boot raw base image (Closes: #1004226)
[ Jelmer Vernooij ]
* Print nicer error message when cleaning up schroot times out.
-- Paul Gevers <elbrus@debian.org> Mon, 30 Jan 2023 19:29:59 +0100
autopkgtest (5.27) unstable; urgency=medium
[ Julian Gilbey ]
* Add timezone to initial informative line
[ Johannes Schauer Marin Rodrigues ]
* setup-commands/setup-testbed: support running in d-i
[ Simon McVittie ]
* setup-testbed: Remove /usr/sbin/policy-rc.d when setting up init
* setup-testbed: Install procps along with sysv-rc or openrc
[ Emanuele Rocca ]
* qemu-system-aarch64: use read-only=on
* Add zerofree to Suggests, needed by autopkgtest-build-qemu
[ Paul Gevers ]
* Improve Architecture field documentation
* Retry lxc-copy and lxc-start if they fail
* adt_testbed: fix logical error
-- Paul Gevers <elbrus@debian.org> Wed, 26 Oct 2022 22:11:34 +0200
autopkgtest (5.26) unstable; urgency=medium
[ Simon McVittie ]
* Add a needs-sudo restriction.
This can be used by packages like gvfs to run tests that need to be run
as an ordinary user, but also require the ability to elevate privileges
to do setup and/or teardown steps. (Closes: #906424)
* Fix a long-standing race condition in test stdout/stderr reporting,
which particularly affects the unshare backend (Closes: #1017974)
* await-boot: Fix a regression in 5.25 which affected tests that
reboot into a sysvinit environment, such as munin
* Start factoring out shell code that runs in the testbed into scripts
lib/in-testbed/*.sh, so that we can include comments, run lint checks
and other useful QA things
* testbed: Make reboot-request detection clearer by not relying on
compensating errors
* testbed, runner: Remove leftover bits of support for install-tmp mode,
which was removed in 5.12
* d/README.source: Document how to run snap lxd via sudo
* doc: Sort restrictions and capabilities in alphabetical order
* runner: Fix a pycodestyle warning
* d/tests/lxd: Update to work with the version in Debian unstable
- Add more test-dependencies
- Modernize use of `lxd init`
- Run as a user in the appropriate group
- Use Debian testing instead of EOL Ubuntu 16.04 (Closes: #1016912)
* d/tests/schroot: Ensure hostname resolves promptly
* tests: Improve debug output for tests that reboot
* tests: Avoid polluting stderr with diagnostic output
* tests: Treat AUTOPKGTEST_TEST_INSTALLED= as uninstalled
* tests: Make a test cope with custom arguments to virt backend
* tests: Don't assert that there is no debug output from virt backend
* tests: Get more debug info from SchrootRunner.test_foreign_arch_deps
* tests: Get more debug info from DebTestsVirtContainer.test_timeout
* tests: Get extra debug information from test_copy_timeout
* tests: Skip test_timeout on lxd backend.
This currently fails, which seems to be reliable, lxd-specific, and
not a recent regression in autopkgtest. (Mitigates: #1020634)
[ Paul Gevers ]
* testbed: Fix creation of apt preferences for suites with a dot in
the name
[ Paride Legovini ]
* qemu: Detect ppc64le host as able to run ppc64le qemu with KVM
enabled (Closes: #1019189, LP: #1988527)
-- Simon McVittie <smcv@debian.org> Sun, 25 Sep 2022 10:35:21 +0100
autopkgtest (5.25) unstable; urgency=medium
[ Antonio Terceiro ]
* tests/autopkgtest: Fix test failure if the user has per-user
containers in ~/.local/share for both lxc and the podman ecosystem
[ Simon McVittie ]
* Improve reliability of waiting for lxc, lxd, podman containers to
boot an init system (Closes: #1017753)
* On non-amd64 architectures, skip a test that assumes i386 can be a
foreign architecture
* Clarify documentation for Restrictions:
- isolation-container implies a service manager (init system) such as
systemd or sysv-rc
- isolation-container does not guarantee logind
- isolation-machine provides the same things as isolation-container
- needs-root is at least root in a container, but not always global root
Thanks: Paride Legovini
-- Simon McVittie <smcv@debian.org> Wed, 24 Aug 2022 09:49:01 +0100
autopkgtest (5.24) unstable; urgency=medium
[ Jochen Sprickerhof ]
* Install unshare-helper, fixing virt-unshare regression in 5.23
[ Antonio Terceiro ]
* virt-lxc: fix handling of --sudo when waiting for testbed to boot
(Closes: #1017017)
[ David Kalnischkies ]
* virt-unshare: Create mount point for --bind if necessary
[ Simon McVittie ]
* testdesc: Represent restrictions and features as sets
* testdesc: Check restrictions vs. capabilities in a data-driven way
* build-docker(1): Fix an invalid groff macro (thanks, Lintian)
* ssh-setup/maas: Silence a Lintian false positive
* Test coverage for regressions in 5.23:
- Test virt-unshare as an autopkgtest to exercise "as-installed" use
- Test virt-lxc as an ordinary user, to detect regressions like #1017017
- Test virt-unshare --bind
* Test reliability:
- Use testing in preference to unstable to avoid transient failures
during transitions
* Packaging updates:
- Update syntax of Lintian overrides
- Add myself to Uploaders
- Standards-Version: 4.6.1 (no changes required)
- d/tests: Correct SPDX license name
-- Simon McVittie <smcv@debian.org> Fri, 12 Aug 2022 09:39:40 +0100
autopkgtest (5.23) unstable; urgency=medium
[ Iñaki Malerba, Chris Kuehl, Felipe Sateler, Simon McVittie ]
* Add support for docker.io virtualization (Closes: #747909)
[ Simon McVittie ]
* virt-docker, build-docker: Allow running as virt-podman, build-podman
* virt-podman, build-podman: Add --init option.
Docker is designed to be used for "app containers", which are like a
better-isolated chroot. Podman can be used like this, but can also be
used to run traditional full-system containers in the same way as lxc
and lxd, and in particular it has special support for running systemd
as the container's init system.
When we're running a service manager like systemd, sysv-rc or openrc,
we can provide the isolation-container capability.
* autopkgtest: Make --test-name repeatable (Closes: #1015921)
* build-podman, build-qemu: Optionally swap or force the init system:
systemd (+ logind), sysv-rc (+ elogind) or openrc (+ elogind).
For qemu, the default is what debootstrap provides, usually systemd.
For podman, the default is no init system at all.
* Automatically create an unprivileged user to run tests if the testbed
is expendable.
This avoids needing to create an unprivileged user when building
container and VM images, which build-lxc and build-podman don't do.
(Closes: #1011202)
* Load setup commands from the source tree if running uninstalled
* Don't recurse or crash if auxverb_debug_fail fails
* virt-lxc, virt-lxd: Factor out code to wait for container to boot.
virt-lxc, virt-lxd and podman --init all want to do the same thing.
* virt-unshare: Factor out unshare-helper into a shell script
* Improve setup-testbed script:
- Stop installing gpg.
We've been installing this since 2018, but it seems we haven't needed
it since we switched from apt-key to [trusted=yes] in 2015.
- Only install dbus, rng-tools if we have an init system
- Only install libpam-systemd if systemd is installed
- Only set up ifupdown if it's installed
- If we overwrite sources.list, also empty sources.list.d
- Don't crash if unable to read /etc/apt/sources.list
- Have a separate proxy setting for setup-testbed itself
- Don't use /usr/share/doc to check package status
- Silence a new shellcheck warning
* Add a test that asserts tests can access pseudo-terminals
* Run more tests on Gitlab-CI and from autopkgtest:
- autopkgtest-virt-docker (can run via docker:dind or in qemu)
- autopkgtest-virt-lxc (can run under privileged Docker or qemu)
- autopkgtest-virt-podman (can run under privileged Docker or in qemu)
- autopkgtest-virt-podman --init (can run in qemu)
- autopkgtest-virt-schroot (can run under privileged Docker, lxc or qemu)
* Test fixes, particularly for running tests that require privileges:
- Fix ChrootRunner failure with glibc 2.34
- Make dependencies more complete
- Skip test_apt_autodep8_with_control if autodep8 not installed
- Speed up test_git_source_build
- Update for perl autodep8 behaviour changes in bullseye
- Test the installed autopkgtest runner so autopkgtest doesn't break
its own specification
- Don't run lint-style tests as an autopkgtest, notably pyflakes
- Accept more variations of apt output
- Fix build of mock test package if a second binary is added
- Cope with schroot not always having AUTOPKGTEST_NORMAL_USER
- Make test failures easier to debug
- Tolerate output before first explicit setup command
- Cope with XDG basedirs environment variables being set
- Speed up testing source package from apt by using a simpler package
(src:tap.py rather than src:gdk-pixbuf)
- Speed up testing schroot backend by repeating fewer tests
- Speed up testing schroot backend by using /var/lib/schroot/unpack
(schroot users should mount a fast filesystem in that location,
ideally a tmpfs if they have enough RAM available)
- Speed up testing schroot backend by using an uncompressed tarball
- Ignore absence of /dev/pts while testing the virt-chroot backend
- Make Podman containers available in mock home directory
- Never completely clear the environment
- Make the test apt archive readable by everyone, fixing failures with
some virtualization backends
- Install libpam-elogind instead of libpam-systemd in VMs and system
containers that boot with a non-systemd init
* Documentation:
- d/README.source: Refer to latest Debian stable and Ubuntu LTS
- d/README.source: Don't recommend manual setup for lxc networking,
no longer needed
- d/README.source: Describe how to run unit tests
- Fix name of build-needed restriction in man page
* Clean up dead code:
- Remove support for click and Ubuntu Mobile.
These technologies are no longer maintained, and none of the
autopkgtest maintainers test autopkgtest's support for them, so
it's very likely that this doesn't actually work anyway.
(Closes: #1011207)
- Remove internal support for obsolete actions from the pre-2017
adt-run CLI
[ Jochen Sprickerhof ]
* virt-unshare: add /dev/{stdin,stdout,stderr}
* virt-unshare: support bind mounts
* virt-unshare: reduce redundancy
[ Paride Legovini ]
* virt-lxd: Add support for LXD VMs
* buildvm-ubuntu-cloud: fix Xenial disk image name
[ Guilhem Moulin ]
* Fix "UnboundLocalError: local variable 'n' referenced before assignment"
(Closes: #1010338)
[ Johannes Schauer Marin Rodrigues ]
* virt-unshare: Mount a new instance of /dev/pts, fixing ability to
use script(1) and other users of pseudo-terminals
-- Simon McVittie <smcv@debian.org> Wed, 10 Aug 2022 20:50:12 +0100
autopkgtest (5.22) unstable; urgency=medium
[ Luca Boccassi ]
* Add --skip-test command line option
[ Jochen Sprickerhof ]
* Add unshare backend
[ Simon McVittie ]
* Avoid more uses of which(1)
* buildvm-ubuntu-cloud: Don't rely on a global variable
* buildvm-ubuntu-cloud: Trim unused space from the image if possible
* buildvm-ubuntu-cloud: Optionally compress the final image
[ Jochen Sprickerhof ]
* [unshare] support suggested-normal-user
[ Paul Gevers ]
* Support current oldstable/updates which is need for security
-- Paul Gevers <elbrus@debian.org> Sat, 14 May 2022 12:55:32 +0200
autopkgtest (5.21) unstable; urgency=medium
[ Paul Gevers ]
* testdesc.py: reduce_restrictions instead of only reduce_arch
(Closes: #1008192)
* spec: improve wording of skip-not-installable
* testdesc: work around variables in d/control
* spec: be more specific what @recommends@ means
[ Antonio Terceiro ]
* autopkgtest-build-lxc: update container configuration (Closes: #979450)
-- Paul Gevers <elbrus@debian.org> Mon, 28 Mar 2022 21:20:12 +0200
autopkgtest (5.20) unstable; urgency=medium
* Determine build-needed by parsing the control (Closes: #1002477)
* Implement support for @recommends@ in test dependencies (Closes: #896698)
* Update documentation
* Convert `needs-recommends` to @recommends@ and drop all other code
related to it
-- Paul Gevers <elbrus@debian.org> Thu, 24 Feb 2022 20:29:51 +0100
autopkgtest (5.19) unstable; urgency=medium
[ Simon Chopin ]
* buildvm-ubuntu-cloud: add a --ram-size option
* buildvm-ubuntu-cloud: add support for non-x86 architectures
[ Paul Gevers ]
* autopkgtest-virt-lxc: cleanup if lxc-start fails after lxc-copy
[ Athos Ribeiro ]
* Force xz compression for satdep.deb
[ Sergio Durigan Junior ]
* Make sure we add a newline to the end of /etc/environment
-- Antonio Terceiro <terceiro@debian.org> Tue, 07 Dec 2021 09:28:26 -0300
autopkgtest (5.18) unstable; urgency=medium
[ Romain Porte ]
* Fix qemu deprecation warnings for short-form booleans (Closes: #996705)
[ Brian Murray ]
* Add support for building VMs of End of Life ubuntu releases.
-- Antonio Terceiro <terceiro@debian.org> Sat, 13 Nov 2021 11:44:27 -0300
autopkgtest (5.17) unstable; urgency=medium
[ Ryutaroh Matsumoto ]
* Use 32-bit OVMF EFI firmware for qemu-system-i386 (Closes: #973522)
* qemu: Explicitly assign unit numbers for pflash devices
[ Iain Lane ]
* lxd: Fix a race condition while rebooting
* buildvm-ubuntu-cloud: Update for compatibility with other changes
mentioned below
* ssh-setup/nova: Quote arguments to `tr`
[ Simon McVittie ]
* VirtSubproc: Allow expecting multiple options
* virt-qemu: Cope with passwordless shell (blank password)
* virt-qemu: Don't rely on exiting from a shell printing "logout"
* virt-qemu: Preseed debconf questions so we can upgrade grub-pc, if
installed (Closes: #982296)
* virt-qemu: Add --qemu-architecture, --dpkg-architecture options
* virt-qemu: Load virtio_console in initramfs to make sure it's ready
when systemd-getty-generator(8) looks for it (workaround for #689962)
* virt-qemu: Improve reliability of interactions with serial console shell
* build-qemu: Automatically run under fakemachine if not uid 0
* build-qemu: Convert image into an absolute path.
This helps when we're sharing directories as "volumes" with fakemachine.
The working directory inside fakemachine isn't necessarily the same as
the working directory outside, leading to the output image being
written somewhere unintended.
* build-qemu: Show the log from vmdb2 if it fails
* build-qemu: Placate pycodestyle
* build-qemu: Never set http_proxy to DIRECT.
The special keyword DIRECT is understood by apt, but not by generic
http clients, and in particular not understood by wget (used by
debootstrap).
* Use `command -v` in preference to `which`.
In Debian, which(1) is provided by the Essential debianutils package,
which recently deprecated it. Silence the resulting warnings by doing
this in a slightly less obvious way.
[ Simon McVittie, Ryutaroh Matsumoto ]
* setup-testbed: Try to put Linux console on both ttyS0 and hvc0.
ttyS0 is PC-specific, hvc0 is a generic hypervisor console available
on multiple hypervisors.
* setup-testbed: Put root shells on both ttyS1 and hvc1 if they exist.
ttyS1 is PC-specific, hvc1 is a generic hypervisor console available
on multiple hypervisors.
* virt-qemu: Only -enable-kvm if VM is compatible with host architecture
* virt-qemu: Add --boot=efi (formerly --efi)
* build-qemu: Add --boot=efi to build images bootable with EFI.
This requires vmdb2 0.22-1~ or newer.
* qemu: armhf and aarch64 support (Closes: #973038, #973663)
- Boot with EFI by default
- Build images with EFI by default (Closes: #990415)
- Use ttyAMA0 as the ARM equivalent of ttyS0
- Default to -machine virt, since there is no default in qemu
- Default to qemu-system-aarch64 -cpu host,aarch64=off -enable-kvm
for armhf on aarch64 host, because qemu-system-arm -enable-kvm is
not available on aarch64 hosts
- Default to -cpu host -enable-kvm for aarch64 on aarch64 host
- Default to -cpu cortex-a53 for aarch64 on non-aarch64 host
since that CPU seems to work well
Thanks to Christian Kastner, Peter Maydell and Steve McIntyre.
[ Simon McVittie, Thierry Fauck, Ryutaroh Matsumoto ]
* qemu: ppc64el support (Closes: #926945)
- Install grub-ieee1275 by default
- Avoid trying to allocate hvc0 as a virtio console.
The default serial port of a pSeries machine appears as /dev/hvc0,
and the virtio consoles start from hvc1.
Thanks to Christian Kastner
[ Christian Kastner ]
* qemu: Use -machine q35 on i386 or amd64 when booting with EFI.
Empirically, it seems to be the minimum required for EFI-booting on
i386; bump the machine on amd64 too, for consistency.
[ Julian Andres Klode ]
* setup-testbed: Remove needrestart so its dpkg hook does not interfere
with the apt test suite
* setup-testbed: Set Acquire::Retries 10, like debci does
* setup-testbed: Always include phased updates
-- Paul Gevers <elbrus@debian.org> Mon, 04 Oct 2021 21:04:48 +0200
autopkgtest (5.16) unstable; urgency=medium
[ Paul Gevers ]
* Fix reported arch in Unsupported message
[ Simon McVittie ]
* tests/ssh-setup-lxd: Fix a typo
* shell scripts: Quote more defensively
* tests/pycodestyle: Prefer command -v instead of which
* shell scripts: Prefer $() instead of backticks
* setup-testbed: Avoid test -a
* setup-testbed: Silence some shellcheck false-positives
* setup-testbed: Be more careful with printf
* setup-testbed: Ensure that $proxy is always initialized
* setup-testbed: Prefer POSIX grep -E over GNU-specific egrep
* setup-testbed: Quote trap command differently
* tests: Add shellcheck test
* tests: Silence some mypy warnings
* tests: Add test that runs mypy across the codebase
* d/copyright: Update
* Use shlex.quote in preference to undocumented pipes.quote
[ Ryutaroh Matsumoto ]
* autopkgtest-build-qemu: Install a PAE kernel on i386 (Closes: #973662)
* autopkgtest-build-qemu: Install LPAE kernel on armhf (Closes: #973592)
[ Simon McVittie ]
* lib: Factor out qemu virtual machine setup
* autopkgtest_qemu: Add QemuImage objects
* buildvm-ubuntu-cloud: Use Qemu object
* autopkgtest-build-qemu: Rewrite in Python
* autopkgtest-buildvm-ubuntu-cloud: Make return of None explicit
* autopkgtest-buildvm-ubuntu-cloud: Fail if release cannot be determined
* autopkgtest-buildvm-ubuntu-cloud: Replace which(1) with shutil.which
* autopkgtest_qemu: Set workdir before preparing overlay
[ Ryutaroh Matsumoto ]
* qemu: Forward stdout, stderr to stderr of parent process
* qemu: Extend timeout for checking python availability
* qemu: Enable discard operation on virtio disk devices
[ Simon McVittie ]
* qemu: Allow passing `uname -m` output to get_default_qemu_command
* tests: Add a unit test for qemu library code
* qemu: Select qemu-system-arm for ARM CPUs
[ Graham Inggs ]
* autpkgtest_args: autoremove after dist-upgrade
[ Balint Reczey ]
* Handle exception thrown by create_testinfo() (Closes: #927146)
(LP: #1907803)
[ Sébastien Delafond ]
* virt-lxc: attempt to cleanly shutdown the container first, and only
then pass --force to lxc-destroy (Closes: #979238)
-- Paul Gevers <elbrus@debian.org> Sun, 24 Jan 2021 21:15:20 +0100
autopkgtest (5.15) unstable; urgency=medium
[ Sebastien Delafond ]
* Remove left over .new containers before trying to generate a new one
(Closes: #971749)
[ Antonio Terceiro ]
* virt-lxc: extract common initial argument list for lxc-copy
* virt-lxc: add option to limit disk usage by tests
[ Paul Gevers ]
* tests/lxd: mark test skippable and exit 77 in stead of 0 in case of
balling-out
* Add support for Architecture field (Closes: #970513)
* Check for empty Tests field (Closes: #918882)
* With --test-name, don't report when other tests are skipped
(Closes: #960267)
[ Simon McVittie ]
* Check restrictions with testbed compat, not during initialization
* Allow restrictions to be ignored from the command line
[ Ivo De Decker ]
* Assume root-on-testbed with autopkgtest-virt-ssh and improve debugging
(Closes: #958727)
-- Paul Gevers <elbrus@debian.org> Mon, 26 Oct 2020 21:27:25 +0100
autopkgtest (5.14) unstable; urgency=medium
[ Christian Kastner ]
* autopkgtest-build-qemu: Support for vmdb2->qemu-debootstrap
(Closes: #959389)
[ Antonio Terceiro ]
* autopkgtest-build-qemu: make sure VM can resolve its own hostname
(Closes: #959713)
* autopkgtest: add --validate option
[ Iain Lane ]
* autopkgtest-virt-ssh: Give the wait_port_down socket a timeout
[ Simon McVittie ]
* Avoid using 'l' as a variable name
* qemu: Guess format of main disk image (Closes: #968598)
* tools: Don't make qemu guess what format the disk image is
[ Paul Gevers ]
* Bump standards
* Bump debhelper compat to 13 via debhelper-compat BD
* Add Rules-Requires-Root: no
* Drop postinst script as all supported releases have higher versions
-- Paul Gevers <elbrus@debian.org> Tue, 01 Sep 2020 21:28:29 +0200
autopkgtest (5.13.1) unstable; urgency=medium
* autopkgtest-build-qemu: revert commit that broke image creation
(Closes: #956659)
-- Antonio Terceiro <terceiro@debian.org> Fri, 17 Apr 2020 22:02:07 -0300
autopkgtest (5.13) unstable; urgency=medium
[ Gordon Ball ]
* Use pyflakes3 instead of pyflakes (Closes: #956338)
[ Paul Gevers ]
* Add support for needs-internet restriction
* Add note about ftp-master ruling (Closes: #954157)
* README.package-tests.rst: add documentation about needs-internet
restriction
* Update 5.12 changelog entry with bug number for qemu on ppc64el item
-- Paul Gevers <elbrus@debian.org> Thu, 16 Apr 2020 21:07:58 +0200
autopkgtest (5.12.1) unstable; urgency=medium
[ Antonio Terceiro ]
* adt_testbed: ignore debian/control when checking for dependencies. This
fixes a regression observed in the debci test suite.
-- Antonio Terceiro <terceiro@debian.org> Sat, 04 Apr 2020 12:20:17 -0300
autopkgtest (5.12) unstable; urgency=medium
[ Dan Streetman ]
* tools/autopkgtest-build-lxd: pass /dev/null on stdin to lxc launch
(LP: #1845037)
* autopkgtest: When finding src pkg, skip binary pkgs for other archs
(LP: #1845157) (Closes: #939790)
* autopkgtest: when checking binary pkg arch, allow *-$ARCH-* values also
[ Antonio Terceiro ]
* Drop unpacking of dependencies to temporary dir
[ Iain Lane ]
* setup-testbed: Install rng-tools
* lib/adt_testbed.py, runner/autopkgtest: Run --shell-fail in more situations
* adt_testbed: Run the debug-fail command in more circumstances
[ Sébastien Delafond ]
* Add kali support
[ Simon McVittie ]
* lxd: Actually exit the awk loop after the first apt source
* build-lxd: Quote MIRROR and RELEASE properly
* d/README.source: Document how to test various backends
[ Paul Gevers ]
* adt_testbed.py: add date to the start of log so we always have it
(Closes: #954366)
* Do not ignore distributions that have dashes in their name
* lxc/lxd: wait for sysvinit services to finish
Thanks to Lars Kruse (Closes: #953655)
* lxc: increase timeout around reboot
* tests/lxd: add skip-not-installable (Closes: #952594)
[ Jelmer Vernooij ]
* Document that $HOME will exist and will be writeable.
[ Thierry Fauck ]
* autopkgtest-build-qemu: create primary partition of type Prep to
support ppc64el with grub2 (Closes: #926945)
* Add proper kernel release name for ppc64el
-- Paul Gevers <elbrus@debian.org> Thu, 02 Apr 2020 10:36:09 +0200
autopkgtest (5.11) unstable; urgency=medium
[ Dan Streetman ]
* autopkgtest-buildvm-ubuntu-cloud: work with precise and trusty
(LP: #1822331) (Closes: #925966)
[ Sébastien Delafond ]
* Add an optional 6th parameter to autopkgtest-build-qemu, to force a
specific image size
[ Julian Andres Klode ]
* ssh-setup/nova: Run nova show after console-log in debug_failure
[ Iain Lane ]
* setup-testbed: Add the -security pocket for Ubuntu releases
* nova: Use glanceclient to find images
* nova: --key_name is actually --key-name
* setup-testbed: Write preserve_sources_list in the new format
* nova: trim whitespace from server UUID
[ Simon McVittie ]
* autopkgtest-build-qemu: Parse named parameters
* autopkgtest-build-qemu: Allow overriding apt proxy via command-line
[ Simon McVittie ]
* testdesc: Report each unsupported test individually (Closes: #851232)
* setup-testbed: Provide more options for handling /etc/apt/sources.list
(Closes: #933062)
[ Dan Streetman ]
* ssh-setup/nova: allow specifying --image with name or uuid
[ Valentin Vidic ]
* autopkgtest-virt-lxc: accept lxc arguments for ephemeral containers
[ Michael Biebl ]
* Use virtio-rng to passthrough RNG to qemu runner and drop haveged
[ Raphaël Hertzog ]
* qemu: Forward VM's ssh port only to localhost (Closes: #931219)
-- Paul Gevers <elbrus@debian.org> Thu, 05 Sep 2019 09:32:10 +0200
autopkgtest (5.10) unstable; urgency=medium
* autopkgtest-build-qemu: use UUID in fstab (Closes: #922671)
-- Antonio Terceiro <terceiro@debian.org> Mon, 25 Feb 2019 11:05:15 -0300
autopkgtest (5.9) unstable; urgency=medium
[ Iain Lane ]
* Add spaces around "[ trusted=yes ]"
[ Antonio Terceiro ]
* autopkgtest-build-qemu: document ARCHITECTURE parameter
* autopkgtest-build-qemu: call user script directly
* autopkgtest-build-qemu: create fstab (Closes: #916407)
* autopkgtest-build-qemu: fix setup of APT proxy
* autopkgtest-build-qemu: update to work with newer vmdb2
(Closes: #922501)
[ Christian Kastner ]
* autopkgtest-build-lxc: lxc/default.conf: lxc.network.type is now
lxc.net.0.type (Closes: #922171)
-- Antonio Terceiro <terceiro@debian.org> Mon, 18 Feb 2019 22:48:48 -0300
autopkgtest (5.8) unstable; urgency=medium
[ Simon McVittie ]
* qemu: Use socket.sendall() to push text into AF_UNIX sockets
[ Niko Tyni ]
* Ensure that autocleaned TempPath file names are unique (Closes:
#916499)
[ Thadeu Lima de Souza Cascardo ]
* qemu: close sockets after being done with them (Closes: #916428)
[ Iain Lane ]
* runner: Fix sed command for escaping special characters in package
names
[ Julian Andres Klode ]
* Minor fixes for the lxd test.
Thanks to Stéphane Graber <stgraber@ubuntu.com>
-- Paul Gevers <elbrus@debian.org> Thu, 10 Jan 2019 18:33:45 +0100
autopkgtest (5.7) unstable; urgency=medium
[ Paul Gevers ]
* doc: remove confusing text about future systems
* runner/autopkgtest: initialize variable (Closes: #914191)
* doc: document test-name syntax (Closes: #915913)
* Also run autodep8 when d/control says so (Closes: #904776)
[ Martin Pitt ]
* Support foreign architecture test dependencies (Closes: #913082)
* lib/testdesc.py: Fix typo in regular expression
* autopkgtest-build-qemu: Fix uninitialized proxy_cmd variable
(Closes: #911963)
[ Iain Lane ]
* autopkgtest-build-lxd hack: mask serial-getty@getty.service
* Re-enable apt-cache fallback for --only-source as needed in trusty
[ Christian Ehrhardt ]
* Better debugging info for failures due to non-installable test
dependencies
-- Paul Gevers <elbrus@debian.org> Thu, 13 Dec 2018 12:03:13 +0100
autopkgtest (5.6) unstable; urgency=medium
[ Simon McVittie ]
* Restore ability to boot pre-stretch systemd systems (Closes: #906227)
* runner: Document exit status 8 for "all tests skipped"
* Implement superficial as a test restriction (Closes: #904979)
* man page: Document that PASS can now be followed by details too
* Ignore pycodestyle W504 "line break after binary operator"
* tests/pycodestyle: Print all warnings before exiting unsuccessfully
* Fix most pycodestyle warnings for invalid escape sequences
[ Martin Pitt ]
* autopkgtest-buildvm-ubuntu-cloud: Drop obsolete Ubuntu release names
* doc: Clarify scope of tests
* Adjust lxd Suggests: (LP: #1788040)
[ Paul Gevers ]
* doc: deprecate needs-recommends
* Improve documentation of --no-apt-fallback
* runner/autopkgtest: improve apt-source for Debian
[ Antonio Terceiro ]
* autopkgtest-build-qemu: build VM images with vmdb2 (Closes: #904972)
-- Paul Gevers <elbrus@debian.org> Mon, 15 Oct 2018 20:35:36 +0200
autopkgtest (5.5) unstable; urgency=medium
[ Antonio Terceiro ]
* Different implementation to make sure to never pass an empty string as
username to `su`
* When using systemd, reboot via systemd-run
* test_breaks_testbed: allow output on stderr
[ Paul Gevers ]
* Fix whitespace in old parts of d/changelog
* Add gitlab pipelines to autopkgtest
* Fixes to be conform pycodestyle
* tests: replace encoding='utf-8' by universal_newlines=True for
python3.5 (stretch)
* Fix missing empty line in commit 30470603
* Add option to disable the apt fallback when dependencies can't be
installed due to pinning
* Make autopkgtest Build-Depends-Arch aware (Closes: #903398)
* Add skip-not-installable restriction (Closes: #905311)
* Drop ancient X-Python3-Version (thanks lintian)
[ Ian Jackson ]
* doc/README.package-tests.rst: document hint-testsuite-triggers
(Closes: #905310)
[ Simon McVittie ]
* runner: Document exit status 14 as possible
* tests: Don't rely on being able to install B-D as non-root (Closes:
#905677)
* tests: Skip test_tree_build_needed_success if necessary
* runner: Exit 8 if every test was skipped or otherwise ignored
(Closes: #901804)
-- Paul Gevers <elbrus@debian.org> Fri, 10 Aug 2018 20:27:40 +0200
autopkgtest (5.4.2) unstable; urgency=medium
[ Martin Pitt ]
* doc: Document "test-name" feature
* doc/README.package-tests.rst: Fix formatting of previous commit
[ Niko Tyni ]
* Fix versioned provides test dependency handling
* Refactor _synthesize_deps() parameters
* Properly handle virtual packages in alternative test dependencies
(Closes: #903975)
* Add test cases for alternative test dependencies improvements
[ Antonio Terceiro ]
* Always pass a non-empty user string to `su` (Closes: #904870)
-- Antonio Terceiro <terceiro@debian.org> Sun, 29 Jul 2018 12:13:06 -0300
autopkgtest (5.4.1) unstable; urgency=medium
* README.package-tests.rst: explain that architecture qualifiers are
allowed in Test-Depends
* SchrootRunner: add testcases for arch qualifiers in Test-Depends
* Fix regression on arch-specific packages with '@' in Test-Depends
(Closes: #903000)
-- Paul Gevers <elbrus@debian.org> Fri, 06 Jul 2018 20:05:39 +0200
autopkgtest (5.4) unstable; urgency=medium
[ Simon McVittie ]
* README.package-tests.rst: Document AUTOPKGTEST_NORMAL_USER
* d/tests/lxd: Don't assume all test-runners set AUTOPKGTEST_NORMAL_USER
* qemu: Only set up base image device if requested (Closes: #892023, #862362)
* qemu: Document --baseimage
* qemu: Update test for --baseimage no longer being the default
* qemu, lxc, lxd: Look for a user account in the 1000-59999 range
(Closes: #897170)
* qemu: Add a shortcut for running tests on an EFI-booted image (Closes:
#898340)
* doc: Describe how to parse Features, Restrictions, Classes
* Add support for flaky tests (Closes: #851558)
* Add support for tests declaring themselves to have been skipped
* autopkgtest(1): Document FLAKY as a possible summary status
[ Balint Reczey ]
* Fix bashism in retrying apt update
[ Paul Gevers ]
* Enable testing to continue after badpkg (Closes: #832751)
* adt_testbed.py fix missed piece of regular expression in commit a7e1dad
* d/tests/autopkgtest Update SchrootRunner
* runner/autopkgtest: Drop Ubuntu 12.04 fallback
* manpage: make ordering consistent with --help (Closes: #901643)
[ Julian Andres Klode ]
* ssh-setup/nova: Add support for keystone v3 auth (LP: #1767433)
[ Rafael Laboissiere ]
* Set Maintainer email address to team+ci@tracker.debian.org
[ Niko Tyni ]
* Add a couple of testcases for versioned provides support
* Ensure synthesized test dependencies are not satisfied by versioned Provides
(Closes: #867081)
* Remove the old '(>= 0)' hack for ensuring '@' pulls in real packages
-- Paul Gevers <elbrus@debian.org> Mon, 02 Jul 2018 11:50:21 +0200
autopkgtest (5.3.1) unstable; urgency=medium
[ Iain Lane ]
* Fix typo in previous upload, preventing apt-get fallback to work
properly
[ Paul Gevers ]
* Sort os.listdir output in tests as the order is undefined, fixing
failures on i386 and s390x (Closes: #895824)
-- Paul Gevers <elbrus@debian.org> Sun, 22 Apr 2018 15:55:27 +0200
autopkgtest (5.3) unstable; urgency=medium
* Fix autopkgtest: update reference
* Use apt pinning instead of APT::Default-Release (Closes: #893754)
Thanks to Iain Lane for the initial patch.
* adt_testbed: pin default release to archive name for pocket use
(Closes: #894094)
-- Paul Gevers <elbrus@debian.org> Thu, 12 Apr 2018 15:20:15 +0200
autopkgtest (5.2) unstable; urgency=medium
[ Martin Pitt ]
* setup-commands/setup-testbed: Skip ifupdown configuration with netplan
[ Iain Lane ]
* lxc, lxd: If we're running systemd, wait until the network is up
(LP: #1749736)
* setup-testbed: Add gpg (or fall back to gnupg2)
[ Paul Gevers ]
* Escape single quotes when printing test command in testbed (Closes:
#893035)
* Add myself to uploaders
* adt_testbed: don't fail on non-UTF-8 characters in stderr (Closes:
#893599)
[ Antonio Terceiro ]
* Generalize regular expressions for parsing sources.list
-- Paul Gevers <elbrus@debian.org> Tue, 20 Mar 2018 13:05:31 +0100
autopkgtest (5.1) unstable; urgency=medium
[ Paul Gevers ]
* Error out when apt-get update fails for three times in a row
* Add release- to help text of apt-pocket
* Apply patch by Simon McVittie from bug #851568 (Closes: #851568)
* Improve man page for --setup-commands, as both examples are now supported
natively
* Use APT:Default-Release i.s.o. most pinning and add option
--apt-default-release
* Add --pin-packages option to enable Debian to run in testing with packages
from sid
[ Antonio Terceiro ]
* Simplify check for need to run setup commands
* Extract "add APT source" into its own method
* Add --add-apt-release option
-- Antonio Terceiro <terceiro@debian.org> Wed, 22 Nov 2017 20:12:39 -0200
autopkgtest (5.0.4) unstable; urgency=medium
* setup-commands/setup-testbed: also handle the case where resolv.conf is
*not* a symlink
* Bump Standards-Version to 4.1.1; no changes needed.
* debian/rules: reuse /usr/share/dpkg/pkg-info.mk instead of calling
dpkg-parsechangelog to get package version
-- Antonio Terceiro <terceiro@debian.org> Wed, 25 Oct 2017 22:42:22 -0200
autopkgtest (5.0.3) unstable; urgency=medium
* Add myself to Uploaders:
* setup-commands/setup-testbed: fix test for whether /etc/resolv.conf is a
symlink
-- Antonio Terceiro <terceiro@debian.org> Wed, 25 Oct 2017 17:55:57 -0200
autopkgtest (5.0.2) unstable; urgency=medium
* test: Adjust ChrootRunner tests for changed apt-get source invocation.
Commit 762397342b changed the invocation of `apt-get source` and
`dpkg-source -x`. Adjust ChrootRunner test mock commands accordingly.
-- Martin Pitt <mpitt@debian.org> Mon, 16 Oct 2017 11:53:55 +0200
autopkgtest (5.0.1) unstable; urgency=medium
[ Jiri Palecek ]
* qemu: Improve race condition with reading data after VM process ended.
Finish reading all data from stdin before checking the "running" flag,
to mitigate "tar: Unexpected EOF in archive in copyup()" race
conditions. (Closes: #829753, LP: #1384706)
[ Martin Pitt ]
* Use short package directory path for dsc and apt source.
Packages with long names can otherwise create too long paths for
sockets. Based on patch by Balint Reczey. (Closes: #860554)
* setup-commands/setup-testbed: Get along with resolv.conf symlink
debootstrap already copies the host's /etc/resolv.conf into the chroot,
but this does not help if that's a symlink. Copy the actual content
instead. Based on patch by SZALAY Attila. (Closes: #845925, LP: #1659541)
-- Martin Pitt <mpitt@debian.org> Sun, 08 Oct 2017 23:07:15 +0200
autopkgtest (5.0) unstable; urgency=medium
[ Martin Pitt ]
* Drop obsolete adt-* CLI
autopkgtest 4.0 with its "autopkgtest" program has been around for a
year, Debian's and Ubuntu's CI moved to that, and the Debian 9.0 release
is behind us. Drop "adt-run" and the corresponding adt-virt-* and
adt-build-* command line interfaces now.
Add Breaks: for debci for versions that still relied on adt-*.
* lxc, qemu, ssh: Shorten path of shared directory.
This helps to reduce socket path lengths in tests.
(See Debian #860554, LP: #1680577)
* Drop obsolete ubuntu-touch-session setup script.
This hasn't been maintained/tested for ages, and with the demise of
Ubuntu Touch this is now completely obsolete. (Closes: #835836)
* Avoid bare "except:" clauses
* tests/autopkgtest_args: pyflakes/pycodestyle fixes
* tests: Don't run LXC tests with --ephemeral.
It's not the default and ephemeral containers tend to fail to start too
often.
* tests/testpkg: Update Standards-Version and debhelper level.
Priority "extra" is deprecated, so move to "optional".
* README.package-tests.rst: Clarify role of control file, add simple
examples (Closes: #870654)
* README.package-tests.rst: Update Testsuite: documentation.
All supported Debian releases now have a new enough dpkg, and Ubuntu
14.04 will not get new tests any more. (Closes: #876008)
* Run apt-ftparchive for local debs on testbed instead of host.
This is slightly more correct as it will produce the format that the
testbed's apt expects (although that doesn't matter much). It also
allows autopkgtest to be run on non-Debian hosts.
As apt-utils is not essential, install it if necessary.
* README.package-tests.rst: Clarify Testsuite: values
`autopkgtest` is not any more the only defined value for Testsuite:, as
the paragraph below already explains.
* setup-commands/setup-testbed: Look at /etc/os-release for determining
distribution name. Stop hardcoding "debian|ubuntu|kali" and get this
information from os-release's ID field. (Closes: #868678)
* debian/rules: Drop obsolete pysupport override.
Not necessary any more since dh compat level 9.
* Bump Standards-Version to 4.1.0. (No changes necessary.)
[ Stéphane Graber ]
* debian/tests/lxd: Update to support LXD network/storage API
[ Steve Langasek ]
* Fix release name parsing with arch-qualified sources.list
(Closes: #870393)
[ Antonio Terceiro ]
* autopkgtest-build-lxc: Correctly clean cache for Debian containers
-- Martin Pitt <mpitt@debian.org> Sun, 17 Sep 2017 16:50:21 +0200
autopkgtest (4.4) unstable; urgency=medium
[ Martin Pitt ]
* doc/README.package-tests.rst: Document network access (Closes: #851556)
* qemu: Robustify ssh port locks.
Stop assuming that /run/lock is user-writable (it is not in non-Debian
systems). Instead create the lock file in /tmp and use 'x' to avoid
/tmp file races.
* tests/autopkgtest: Fix crashes when running on non-apt system
* Fix candidate version detection for packages containing regexp operators
'+' and '.' are valid characters in a Debian package name. Escape them
in the call to apt-cache policy so that we get what we want to know.
(Closes: #855954)
[ Iain Lane ]
* Fix build_source to work if "Package-List" is the last line in the apt
output (Closes: #851899)
* autopkgtest-virt-lxd: Check uptime for reboot waiting. (LP: #1654025)
* Add a debug-fail hook and implement it for autopkgtest-virt-ssh.
At the minute, this is mainly so that the nova script can have its
failure information (`nova console-log') propagated up to the output, so
that in the case of kernel panics or other random failures we get useful
output that the driver of autopkgtest (e.g. autopkgtest-cloud) can look
at. (LP: #1630578)
* autopkgtest-build-lxd: Allow overriding the target release by setting
RELEASE=. This will cause the container to be dist-upgraded to the new
release. Useful for the very early stages of a release when the LXD
images on images.linuxcontainers.org don't exist yet.
[ Barry Warsaw ]
* Pass Dpkg::Options::=--force-confnew to apt-get install.
This avoids dpkg from prompting for conffile installation when you always
want the new conffile in the testbed anyway. (Closes: #852475)
-- Martin Pitt <mpitt@debian.org> Sun, 30 Apr 2017 19:09:57 +0200
autopkgtest (4.3) unstable; urgency=medium
[ SZALAY Attila ]
* Respect --shell-on-failure on test dep install failure (Closes: #844255)
[ Barry Warsaw ]
* Use a test name that won't collide with my $HOME.
* Shorten the name in response to review
* testdesc.py: Feature: test-name=foobar added for better Test-Command names
(Closes: #839253)
* autopkgtest: Support --test-name and deprecate --testname
[ Paul Gevers ]
* tests: Use valid Debian architecture in ChrootRunner tests
(Closes: #849676)
-- Martin Pitt <mpitt@debian.org> Wed, 11 Jan 2017 12:34:09 +0100
autopkgtest (4.2.2) unstable; urgency=medium
* tests/adt-run: Adjust expected cpu_model in
NullRunner.test_tree_output_dir()
* autopkgtest-buildvm-ubuntu-cloud: Run setup script with -x in verbose
mode. This provides more useful information when updating/adjusting
setup-testbed.
* setup-commands/setup-testbed: Run all apt operations with
DEBIAN_FRONTEND=noninteractive.
-- Martin Pitt <mpitt@debian.org> Tue, 29 Nov 2016 09:11:05 +0100
autopkgtest (4.2.1) unstable; urgency=medium
* Fix trailing '\' in test command with ssh runner
* ssh: Filter out trailing spaces from commands in auxverb
* Apply patches for tests with unbuilt-tree (Closes: #844454)
* setup-commands/setup-testbed: Install dpkg-dev
* Fix stray ')' in --apt-pocket handling
* Adjust expected cpu_model in NullRunner.test_tree_output_dir()
* PEP-8 fixes
* Robustify tests against kernel versions with trailing space
-- Martin Pitt <mpitt@debian.org> Wed, 23 Nov 2016 22:49:59 +0100
autopkgtest (4.2) unstable; urgency=medium
[ Martin Pitt ]
* ssh: Fix result of tests that break the testbed. (LP: #1630578)
* qemu: Fix user/password login mode without a ttyS1 root shell.
- Concatenate bytes with each other, not a str to a byte.
- Sync/flush console after sending password and ttyS1 shell command, wait
until login is complete before continuing.
- Send password to sudo for ttyS1 shell command, to also work with
password-requiring sudo. (LP: #1630963)
* qemu: Fix reboot in user/password login mode.
* ssh: Add --capability option.
This is useful to run tests which require an isolation level or have
breaks-testbed without a setup script.
* autopkgtest-build-lxd: Ask "lxc profile" for default bridge instead of
/etc/default/lxd-bridge. The latter went away in recent LXD versions, and
"lxc profile show default" also works in earlier versions.
* Make --apt-upgrade consider a "404" error as test failure.
Previously all errors from "apt-get update" were considered temporary
failures, i. e. the setup command always exited with 1. But if we specify
e. g. a nonexisting release from a distro or a PPA, this won't just go
away by itself -- we want the test to actually fail instead of getting
stuck in an eternal "retry on temporary failures" loop.
* schroot: Don't fail on stderr of schroot as long as it succeeds.
(LP: #1637898)
* qemu: Hide detected udev file system properties on /dev/baseimage.
(Closes: #842299)
[ Simon McVittie ]
* VirtSubproc: open arbitrary files in binary mode.
* VirtSubproc: if check_exec status is nonzero, include stderr in message.
* qemu: put the shared directory in /run. If the virtual machine's root
filesystem is read-only, we won't be able to create /autopkgtest.
* qemu: Move eofcat into /tmp. This avoids having to write it to /bin, which
might be read-only. Re-create eofcat on every boot for this.
* source_rules_command: log the result we got if it is not as expected
(Closes: #842302)
* Add 'needs-reboot' restriction. This allows tests to be explicit about
needing to reboot the machine, rather than assuming that
'isolation-machine' is enough. It is plumbed into the existing 'reboot'
capability, which is distinct from 'isolation-machine'.
(Closes: #842300)
* Add --setup-commands-boot for commands that must be run at every boot.
This can be used for doing "mount -o remount,rw /" before any dpkg
operation, or transient setup like writing files into /run/.
(Closes: #842091)
-- Martin Pitt <mpitt@debian.org> Tue, 01 Nov 2016 23:12:55 +0200
autopkgtest (4.1) unstable; urgency=medium
[ Martin Pitt ]
* ssh-setup/nova: Move to python3 and to current -novaclient API
* schroot: Bump end-session timeout to 5 minutes.
30 seconds might not be enough when running big schroots on slow disks.
* ssh-setup/nova: Add --nova-reboot option.
In some clouds using "nova reboot --poll" waits several minutes until
after the machine is actually up again. OTOH a simple "reboot" inside some
other clouds causes network to break after "reboot". As there is no method
that works everywhere, default to the autopkgtest-virt-ssh behaviour again
("reboot" and wait for ssh), and add an option to use "nova reboot"
instead.
[ Stéphane Graber ]
* debian/tests/lxd: Update bridge setup to work with LXD 2.3 and higher.
This moves from /etc/default/lxd-bridge to lxd-internal configuration.
[ Barry Warsaw ]
* Support url#refspec format.
Fix the bug in the previously supported url#branch syntax, where the code
expected a space separator but the documentation described the # separator.
Generalize the approach with an explicit fetch/checkout so that GitHub style PR
refspecs like "refs/pull/21/head" also work as branch name.
(Closes: #839072)
-- Martin Pitt <mpitt@debian.org> Sat, 01 Oct 2016 10:55:16 +0200
autopkgtest (4.0.5) unstable; urgency=medium
* setup-commands/setup-testbed: Don't configure ifupdown when using
networkd, as done by latest vmdebootstrap.
* autopkgtest-chroot.1: Fix typo
* Drop broken and unmaintained ssh-setup/snappy setup script.
This hasn't ever been used in production and stopped working long ago.
* Run tests/autopkgtest_args during package build
* Put virt servers back into $PATH.
The virt servers were originally intended to be public API (even though not
documented as such) and other packages might provide virt servers. Put them
back into /usr/bin, with an "autopkgtest-virt-" prefix to mirror the original
"adt-virt-" naming. Rename the manpages to match the binaries.
(Closes: #835204)
* tests/autopkgtest: Relax checks for testpkg.deb from local repository
apt 1.3 changes the format, so be less picky about it.
* Fix "apt-get source" version detection for single-line "Package-List:"
-- Martin Pitt <mpitt@debian.org> Mon, 29 Aug 2016 08:35:00 +0200
autopkgtest (4.0.4) unstable; urgency=medium
[ Antonio Terceiro ]
* autopkgtest-build-lxc: Add new optional argument for a customization script
[ Martin Pitt ]
* Add /usr/bin/adt-virt-* backwards compatibility symlinks (Closes: #833407)
* Add pyflakes3 build dependency to run pyflakes test at build time
(Closes: #833502)
* tools/autopkgtest-build-lxd: Drop running poweroff before "lxc stop"
[ Ondřej Nový ]
* Prefer pycodestyle over pep8 (Closes: #834076)
-- Martin Pitt <mpitt@debian.org> Fri, 12 Aug 2016 11:07:10 +0200
autopkgtest (4.0.3) unstable; urgency=medium
[ Christian Kastner ]
* autopkgtest.1: Replace remaining "---" with "--" (Closes: #831035)
[ Martin Pitt ]
* Fix UnicodeDecodeError on invalid UTF-8 characters in debian/changelog with a built tree
* qemu: Add new --timeout-reboot option.
Lower default timeout from 5 to 1 minute.
* setup-commands/setup-testbed: Add systemd unit for ttyS1 root shell.
* setup-commands/setup-testbed: Ignore I/O errors on ttyS1 in autopkgtest.service.
* tools/autopkgtest-build-lxd: Run poweroff before "lxc stop"
This works around hanging containers when a container has systemd >= 231-1 but
the host LXC does not yet have <https://github.com/lxc/lxc/pull/1086>.
-- Martin Pitt <mpitt@debian.org> Tue, 02 Aug 2016 09:30:29 +0200
autopkgtest (4.0.2) unstable; urgency=medium
* If --setup-commands exits with code 100, consider this as a bad package
(autopkgtest exit code 12) instead of a transient testbed failure (exit
code 16). This allows setup commands to detect errors which should be
attributed to the tested package itself (like dist-upgrading to the new
version). Change standard "apt-get update" setup commands to exit with
code 1 to continue treating that as a temporary failure.
* setup-commands/setup-testbed: Remove ubuntu-core-launcher and
snap-confine.
* Fix some leftover "adt" → "autopkgtest" in manpages.
* debian/tests/lxd: Move from adt-build-lxd to autopkgtest-build-lxd.
* ssh-setup/nova: Use "autopkgtest*" instance name instead of "adt*".
* Rename temporary "adt-satdep" package to "autopkgtest-satdep".
* autopkgtest.1: Point out that if a .changes contains only debs, a
corresponding .dsc must still be provided on the command line.
(Closes: #828025)
* autopkgtest.1: Document that if no source is given on the command line,
the current directory will be tested.
* debian/tests/installed: Fall back to old $ADT_TMP if $AUTOPKGTEST_TMP is
not set, to work in debci (which runs an older autopkgtest).
* Disable SchrootClickRunner.test_setup_ubuntu_touch_session for now, it
breaks schroots and needs to move into a container.
-- Martin Pitt <mpitt@debian.org> Fri, 01 Jul 2016 20:19:58 +0200
autopkgtest (4.0.1) unstable; urgency=medium
* Skip tests/autopkgtest NullRunner.test_apt_source_nonexisting test instead
of failing if there are no deb-src apt sources configured on the host.
* Add test for correctly parsing version number with less common characters.
* autopkgtest: If the test argument is a legal apt source name, prefer
testing that apt source name over testing that directory. If the latter
is wanted, it can always be prefixed with ./ to disambiguate. Update the
manpage accordingly.
* autopkgtest.1: Update separator. (LP: #1591179)
* Fix "apt-get source" version detection for source packages whose versions
in different pockets have disjoint sets of binary packages (like Ubuntu's
linux-raspi2).
* ssh-setup/nova: If the normal "nova reboot" does not finish after five
minutes, use the bigger "reboot --hard" hammer. This works around reboot
bugs on some architectures.
* Fix "apt-get source" version detection for old (Ubuntu precise) apts which
does not yet understand --only-source, by ignoring other sources in awk.
-- Martin Pitt <mpitt@debian.org> Fri, 17 Jun 2016 12:08:55 +0300
autopkgtest (4.0) unstable; urgency=medium
* Add new "autopkgtest" CLI. This provides a simplified CLI compared to the
now deprecated adt-run:
- It accepts only exactly one tested source package, and gives a proper
error if none or more than one (often unintend) is given
- It defaults to the current directory if that is a Debian source package
- The order of arguments is not relevant any more
- Built vs. unbuilt tree is now automatically detected
- The explicit --source, --click-source etc. options are gone, the type of
tested source/binary packages is detected automatically
- The virtualization server is now separated with a double instead of a
tripe dash, as the former is standard Unix syntax.
- The virtualization server must be specified with its "short" name only,
e. g. "ssh" instead of "adt-virt-ssh".
The old "adt-run" CLI will still be available for some time.
(Closes: #795274, LP: #1453509)
* Rename adt-build* tools to autopkgtest-build* and build images prefixed
with"autopkgtest" instead of "adt". Keep compatibility symlink for the old
commands, and when being called through them, also produce images with the
old adt* names.
* Rename public ADT_* env vars to AUTOPKGTEST_*:
- AUTOPKGTEST_APT_PROXY
- AUTOPKGTEST_ARTIFACTS
- AUTOPKGTEST_AUTOPILOT_MODULE
- AUTOPKGTEST_NORMAL_USER
- AUTOPKGTEST_REBOOT_MARK
- AUTOPKGTEST_TMP
As these are being used in existing tests and tools, also export/check
those under their old ADT_* name.
-- Martin Pitt <mpitt@debian.org> Wed, 08 Jun 2016 10:13:01 +0200
autopkgtest (3.20.9) unstable; urgency=medium
* Fix "apt-get source" version detection for very old source packages that
don't have "Package-List:" yet. (LP: #1588199)
* Skip NullRunner.test_apt_source_nonexisting test instead of failing if
there are no deb-src apt sources configured on the host.
-- Martin Pitt <mpitt@debian.org> Thu, 02 Jun 2016 22:22:45 +0200
autopkgtest (3.20.8) unstable; urgency=medium
* adt-build-lxd: Fix "ADT_APT_PROXY: parameter not set" failure if host's
apt proxy is not on localhost.
* debian/tests/lxd: Set up LXD bridge, so that the test can actually work
with current LXD.
* Set $ADT_NORMAL_USER during tests that run as root.
* Re-enable lxd autopkgtest, now that LP: #1557161 is fixed.
* debian/tests/lxd: Enable MSS clamping, to work around broken PTMU in
Canonical's Scalingstack: Avoids lost IP packets due to MTU mismatches.
* adt-build-lx{c,d}: Pass on $MIRROR to setup-testbed.
* adt-virt-qemu: Replace deprecated -redir QEMU option with
"-net user,hostfwd=".
* adt-buildvm-ubuntu-cloud: Provide more user friedly error if no image
exists for the chosen release/architecture. (LP: #1586322)
* Put back apt-cache showsrc --only-source option, as otherwise we'll catch
binaries from unrelated sources. Add a fallback for Ubuntu 12.04 to re-try
without --only-source.
-- Martin Pitt <mpitt@debian.org> Wed, 01 Jun 2016 12:39:50 +0200
autopkgtest (3.20.7) unstable; urgency=medium
* Use "gdk-pixbuf" as example package in tests and documentation instead of
libpng. The latter recently got renamed.
* setup-commands/setup-testbed: Don't install haveged into containers.
* tests/adt-run: Make SchrootClickRunner tests work with a standard schroot
(i. e. no click and SDK preinstalled), by installing the packages via
--setup-command.
* tools/adt-buildvm-ubuntu-cloud: Adjust to new cloud image names from
Ubuntu 16.10.
* Exit with 12 ("bad package") instead of 16 ("temporary testbed failure")
when --apt-source package does not exist.
* Move installed python modules from /usr/share/autopkgtest/python to
../lib, to use the same name as in the source tree.
* setup-commands/setup-testbed: Call all apt-get commands with /dev/null
stdin, to avoid them seizing stdin. Fixes adt-build-lxc for Ubuntu trusty.
-- Martin Pitt <mpitt@debian.org> Thu, 26 May 2016 21:03:07 +0200
autopkgtest (3.20.6) unstable; urgency=medium
* Fix OSError when running a shell is requested but /dev/tty does not exist;
just log an error instead.
* Fix parsing of candidate versions from "apt-cache policy" to always use
the precise given package name. By default it falls back to a
substring/regexp search (undocumented).
* adt-build-lxd: Check the LXD configuration for the LXD bridge instead of
the old LXC bridge, for apt proxy auto-detection. (LP: #1577968)
* Generalize the apt proxy detection in adt-build* and setup-testbed to
work for arbitrary proxies, not just apt-cacher-ng. (LP: #1577966)
* Eliminate the need to set $AUTOPKGTEST_BASE to execute runner/adt-run from
a git checkout. This also makes ./run-from-checkout obsolete, call
runner/adt-run directly.
-- Martin Pitt <mpitt@debian.org> Tue, 17 May 2016 22:32:46 +0200
autopkgtest (3.20.5) unstable; urgency=medium
[ Martin Packman ]
* Fix ssh virt server example and testbed error.
[ Martin Pitt ]
* If git clone fails with "--git-source" the first time, retry after 15
seconds. This should defend short temporary network glitches.
(LP: #1571979)
* adt-virt-qemu: Call eofcat helper with PYTHONHASHSEED=0 to avoid long
hangs after booting the VM until the RNG gets initialized. (See #822431
for details) (Closes: #821778)
* adt-virt-ssh: Fix UnboundLocalError crash when logging in as root.
* Fix running for multiple actions in one command line: (Closes: #822285)
- Close the summary stream after the last test, not after the first.
- Clean up the test tree on the testbed between actions.
* Fix NullRunner.test_timeout_no_output to work with multiple parallel runs.
(Closes: #816398)
-- Martin Pitt <mpitt@debian.org> Mon, 25 Apr 2016 00:14:05 +0200
autopkgtest (3.20.4) unstable; urgency=medium
* setup-commands/setup-testbed: Fix kernel header installation for
precise/armhf, which does not yet have linux-headers-generic.
* Use "nproc" to determine the number of processors available, which is both
more correct in a cgroup world, and also simpler.
* Add new --build-parallel=N option to explicitly set the "parallel=N"
$DEB_BUILD_OPTION for building packages, to override the default of
"number of available CPUs". This is mostly useful in containers where you
can restrict the available RAM, but not restrict the number of CPUs.
(LP: #1569750)
* setup-commands/setup-testbed: ubuntu-snappy got renamed to snapd, adjust
package name.
* adt-build-lxd: Set "distribution", "release", and "architecture"
properties of generated images.
* adt-build-lxd: Clean up all old images of the same distro/release/arch,
not just the previous one. Also fix cleanup to work in non-English
locales.
* setup-commands/setup-testbed: Call apt-get purge only once with the list
of all packages, instead of once per package. This is much faster.
* SchrootClickRunner tests: Chown click dir in /opt after creating the user.
* Bump Standards-Version to 3.9.8 (no changes necessary).
* Update Vcs-* URLs.
-- Martin Pitt <mpitt@debian.org> Mon, 18 Apr 2016 11:19:45 +0200
autopkgtest (3.20.3) unstable; urgency=medium
* Makefile: Install SKELETON after the programs (which use an [a-z] glob),
as the latter behaves differently in different locales. Thanks Alexis
Bienvenüe! (Closes: #820148)
* adt-buildvm-ubuntu-cloud: Use https for cloud image download.
(LP: #1566846)
* setup-commands/setup-testbed: Purge ubuntu-snappy.
* adt-virt-qemu: On AMD CPUs, default to -cpu host instead of
"kvm64,+svm,+lahf_lm". This introduces more jitter, but is the only -cpu
mode that actually allows nested QEMU with current QEMU versions.
* adt-build-lxd: Force-delete preparation container at the end, even if it
is running.
* adt-build-lxd: Disable apt proxy configuration with ADT_APT_PROXY=="none".
-- Martin Pitt <mpitt@debian.org> Mon, 11 Apr 2016 16:27:09 +0200
autopkgtest (3.20.2) unstable; urgency=medium
* setup-commands/setup-testbed: Purge lxc-common for testbed preparation.
* adt-buildvm-ubuntu-cloud: Use the same code for determining the default
qemu-system-* command as adt-virt-qemu. This adds support for ppc64el and
other architectures. (Closes: #818892)
* adt-buildvm-ubuntu-cloud: If ifnames was disabled for the initial boot,
keep it disabled for subsequent boots instead of changing to ens3. This
fixes building images for Ubuntu 15.04.
* lib/VirtSubproc.py, cmd_reboot(): Drop workaround for dhclient hanging on
reboot, LP #1556175 got fixed.
* setup-commands/setup-testbed: Ensure that purging packages does not hang
eternally on debconf prompts.
* setup-commands/setup-testbed: Drop purging of xkb-data.
* setup-commands/setup-testbed: Apply "vmalloc=512M" grub change also when
using as a --setup-commands with adt-run, not only with building images.
Fixes tests like udisks2 on i386 when using standard cloud images.
-- Martin Pitt <mpitt@debian.org> Tue, 05 Apr 2016 14:53:01 +0200
autopkgtest (3.20.1) unstable; urgency=medium
* When testing click packages, don't regenerate all AppArmor profiles if
/var/cache/apparmor/click-ap.rules already exists. That way the profiles
can be pre-adjusted once in a testbed instead of once for each test run,
which greatly speeds up iterations. (LP: #1553797)
* Move SshRunner* tests from lxc to lxd.
* NullRunner.test_tree_output_dir test: Only check for cpu_{model,flags} on
x86 and ARM, as these need parsing adjustments on other architectures.
* Disable lxd autopkgtest for now, this still needs some way to set a proxy.
* lib/VirtSubproc.py, cmd_reboot(): Add workaround for dhclient hanging on
reboot (see LP #1556175).
* Fix regular expression for removing profile guarded dependencies on hosts
that don't support build profiles.
* adt-virt-lxc: Suppress lxc-copy's stdout in the "no btrfs" fallback case.
(Closes: #818185)
-- Martin Pitt <mpitt@debian.org> Mon, 14 Mar 2016 22:35:54 +0100
autopkgtest (3.20) unstable; urgency=medium
New features/behaviour changes:
[Martin Pitt]
* adt-virt-lxd: Launch containers in ephemeral mode.
* adt-virt-lxc: Use the new lxc-copy if available, as lxc-clone and
lxc-start-ephemeral got deprecated by that. This now supports reboots in
ephemeral mode.
* adt-virt-lxc: Add --name option. This allows CI systems to use a more
expressive name than the autogenerated adt-virt-lxc-XXXXXX, to make it
easier to map a container to a running test.
* Add CPU information to testinfo.json: "nproc" (#cpus), "cpu_model", and
"cpu_flags". (LP: #1552129)
* Add autopkgtest for adt-build-lxd and the lxd runner.
[ Christian Seiler ]
* Support nested KVM by default by emulating a CPU with VMX/SVM support on
x86_64. (Closes: #800845, part 1)
* adt-virt-qemu: Provide read-only version of the VM image to the test as
/dev/baseimage, for tests that want to run nested QEMU. (Closes: #800845)
Bug fixes:
[ Martin Pitt ]
* setup-commands/setup-testbed: Ensure that removing cruft does not remove
cloud-init. (LP: #1539126)
* setup-commands/setup-testbed: Purge lxd and lxc.
* adt-virt-lxc: Don't fail on deprecation warnings of lxc-clone and
lxc-start-ephemeral. (LP: #1549995)
* Run external commands with /dev/null as stdin. This has always been
intended, but has not actually been done for a while.
* Drop support for hook_forked_inchild() in virt-runners. This has never
been used.
* ssh-setup/nova: Try and prefer novaclient.v2 API first, and fall back to
v1_1. (LP: #1552730)
* Correctly ignore positive and negative build profiles with too old
libdpkg-perl that does not support them yet.
* tests/run-parallel: Don't run NullRunner and SchrootRunner tests in
parallel, as they collide with a bind-mounted /tmp.
* test_reboot_prepare testcase: Don't compare the host and guest kernel
versions in the QemuRunner.
* Keep and export $ADTTMP and $ADT_ARTIFACTS in debug shells.
(Closes: #814115)
* setup-commands/*: Add shebang headers to quiesce lintian.
* Bump Standards-Version to 3.9.7 (no changes necessary).
* Add debian/source/format (3.0 native).
* debian/control: Use https Vcs-* links.
* Bump debhelper compat level to 9.
* adt-virt-qemu: Don't assert result of "runlevel" for connection test. This
is a race condition under systemd as getty starts before default.target
is fully finished.
* tests/adt-run SchrootClickRunner: Ensure that the "click" system user
exists in the schroot, so that it doesn't need to exist on the host.
* Adjust SchrootRunner.test_apt_pocket_pkg_with_proposed_dep test case for
apt 1.1.
* Latest LXD now adds an "images" remote for images.linuxcontainers.org by
default. Adjust adt-build-lxd.1 and adt-virt-lxd.1 accordingly.
* Respect $TMPDIR when creating the downtmp and some other directory/files.
(Closes: #817190)
* tests/adt-run: Symlink real ~/.config/lxc into the temporary $HOME, to
avoid regenerating the LXD client certificate for each test.
[ Christian Seiler ]
* setup-testbed: reduce grub timeout on images that don't already configure
this in /etc/default/grub.d (like vmdeboostrap).
* adt-virt-qemu: Use correct qemu-system-i386 command on i[3456]86 systems.
* Fix spelling errors in manpages.
-- Martin Pitt <mpitt@debian.org> Fri, 11 Mar 2016 10:05:08 +0100
autopkgtest (3.19.3) unstable; urgency=medium
* setup-commands/setup-testbed: Avoid dpkg conffile prompts.
* adt-virt-lxc: Call lxc-stop and lxc-destroy with --quiet, to fix breakage
due to unexpected output with LXC 2.0.
* adt-virt-lxc: Redirect lxc-destroy stdout, to work around LP #1543016.
* Ignore build profiles on too old libdpkg-perl versions also when building
the tested package.
* adt-virt-lxd.1: Standard images from linuxcontainers.org stopped having
"deb-src" apt lines by default. Document that standard setup commands are
required for this and adjust examples accordingly.
* adt-virt-lxc: Factorize cleanup code.
* adt-virt-lxc: Run lxc-{start,stop} under "timeout" when running through
sudo, as killing these on timeout does not work.
* ssh-setup/nova: Wait until instance is actually ready before sending
access info.
* ssh-setup/nova: Show instance's console log on ssh or cloud-init timeouts,
as that's very useful for debugging.
* adt-virt-lxd: Drop redundant "lxc stop", just call "lxc delete --force".
* adt-buildvm-ubuntu-cloud: Bump default image size from 4 to 20 GB.
* runner/adt-run: Install ca-certificates along with git, to ensure that
https URLs can be cloned.
* tools/adt-build-lxd: Add workaround for broken "lxc file push" permissions
(LP: #1548878)
-- Martin Pitt <mpitt@debian.org> Tue, 23 Feb 2016 17:56:45 +0100
autopkgtest (3.19.2) unstable; urgency=medium
* Fix "apt-get source" version detection:
- Ignore source record "Binary:" entries which are not actually binaries
of that source.
- Take the highest source version of all encountered binaries. In other
words, as soon as apt pinning uses one package from -proposed, use the
tests from -proposed too.
- Only consider binaries which exist in all releases. This avoids newly
introduced binaries (library transitions, new kernel versions) to skew
the intended apt pinning as they would always win the "highest version"
check from above.
* Install /usr/share/autopkgtest/setup-commands/* scripts as executable, to
make them work for vmdebootstrap --customize. (Closes: #810862)
* ssh-setup/nova: Use extended RE for matching --image pattern.
* setup-commands/setup-testbed: Fix handling of options in sources.list.
* tools/adt-build-lxd: Fix parsing of release name from apt sources with
options if lsb_release is not available.
* setup-commands/setup-testbed: Regenerate initramfs when adding udev rule
for disabling ifnames (for chroots).
* adt-buildvm-ubuntu-cloud: Drop duplicate sed of cloud-init.prerm.
* adt-buildvm-ubuntu-cloud: Don't try to run "None" if --post-command is not
given.
* adt-virt-lxc: Add timeouts to all LXC operations.
* Fix chowning for "rw-build-tree" restriction: run it as root if available,
and otherwise ignore it entirely. (LP: #1535234)
* Drop apt-cache showsrc --only-source option, as this is not yet understood
by Ubuntu 12.04's apt.
* VirtSubproc.py, execute_timeout(): Avoid UnicodeDecodeErrors when called
programs send gibberish. Decode manually with "replace" error mode
instead. (LP: #1535741)
* adt-virt-lxc: Avoid unnecessary reading and decoding of program outputs if
we don't actually use it.
* ssh-setup/nova: Use the image with the latest "created" time, instead of
the last lexicographic name.
-- Martin Pitt <mpitt@debian.org> Thu, 21 Jan 2016 13:30:40 +0100
autopkgtest (3.19.1) unstable; urgency=medium
* adt-virt-qemu: If the executed command exits with 255, translate that to
253 in the auxverb wrapper, as 255 is the exit code for failures of the
auxverb itself. This avoids considering ordinary test failures as
temporary testbed failures. This makes the QEMU runner behave the same way
as the container ones.
* tests/adt-run: Factorize common tests into superclasses.
* doc/README.package-tests.rst: Point out that "Test-Command:" is also
useful for running the same test script under different interpreters or
different dependencies. (Closes: #809442)
* Set summary_stream to None after closing it, to avoid trying to write
late error messages from cleanup into it.
* Gracefully handle failure to kill a timed out process.
* ssh-setup/nova: Use image UUID instead of its name for "nova boot". This
avoids failures if multiple images have the same name. (LP: #1524216)
* adt-build-{lxc,lxd}: Run testbed setup scripts also if they are not
executable. Thanks Antonio Terceiro! (Closes: #809917)
* setup-commands/setup-testbed: Run apt-get autoremove when builing images.
* setup-commands/setup-testbed: Handle options in sources.list. Thanks
Antonio Terceiro!
* tools/adt-build-lxd: Fix error message if apt does not have a proxy set.
* setup-commands/setup-testbed: Install linux-headers-generic if there is no
kernel (for containers), to make DKMS tests work when not being triggered
by a kernel. (LP: #1531488)
* tools/adt-build-lxc: Fix removal of LXC caches on btrfs.
* tools/adt-build-lxc: Use "-B best" for lxc-create, for better performance
on btrfs or LVM.
* tools/adt-build-lxc: Fix hostname for updating containers to not end in
".new".
* adt-virt-lxc: Opportunistically try lxc-clone with "-B btrfs", and fall
back to default backing store if it fails. lxc-clone should do this by
itself, but currently doesn't (LP #1532125).
* adt-virt-lxc: Don't fail on stderr of lxc-start, it sometimes prints
warnings.
* When using --apt-source with --apt-pocket= with an explicit package list,
let apt-get source download the source version that matches the pinning.
This avoids running tests from -proposed against packages in -release.
(LP: #1517426)
* setup-commands/setup-testbed: Don't purge perl and python2.7. This works
in sid and xenial, but is too greedy for older releases.
-- Martin Pitt <mpitt@debian.org> Tue, 12 Jan 2016 09:23:16 +0100
autopkgtest (3.19) unstable; urgency=medium
New features/behaviour changes:
* Add adt-virt-lxd runner for LXD. (LP: #1519677)
* Add adt-build-lxd tool for building or updating an LXD image with
standard autopkgtest customizations applied. This is similar to
adt-build-lxc.
* Unify test bed setup scripts for VMs (adt-setup-vm), containers (in
adt-build-lxc) and cloud (setup-commands/cloud-vm-setup) into a common
script setup-commands/setup-testbed. This will work both for image
building (VM, cloud, LXC, LXD) and as --setup-commands (in which case some
actions are skipped).
* setup-commands/setup-testbed: Clean up many more packages. Only do this
when building an image, to avoid accidentally destroying testbeds which
are not minimal autopkgtest ones.
* Make --env apply to package builds too. With that you can e. g. set
DEB_BUILD_OPTIONS.
* Add new action type --git-source which installs git (unless already
present), checks out a remote branch, and then behaves like
--unbuilt-tree.
* adt-virt-lxc.1: Mention adt-build-lxc in "Requirements".
Bug fixes:
* If apt-get fails when installing test dependencies and apt
pinning is in use, also retry without pinning. This was already done in
the case of apt-get succeeding but removing our "satdep" dummy package
(the common case), but this does not cover upgrades of Priority: >=
important packages which make apt-get exit with non-zero.
* Set $TERM in testbed to the host's value when starting an interactive
shell in the testbed. This fixes broken shells with the LXC/LXD runners.
-- Martin Pitt <mpitt@debian.org> Thu, 17 Dec 2015 16:45:54 +0100
autopkgtest (3.18.2) unstable; urgency=medium
[ Martin Pitt ]
* tools/adt-build-lxc: Install libpam-systemd; some tests expect to have an
$XDG_RUNTIME_DIR.
* Fix --apt-pocket=proposed=pkgname.. to set up the apt pinning before
running setup-commands (in particular, dist-upgrade), as otherwise the
dist-ugprade will install package versions that conflict with the pinning.
Change --apt-pocket to download (only) the apt indexes for the given
pocket, so that we can set up the pinning correctly.
* ssh-setup-nova: Separately track server UUID, to avoid resetting the
originally given --name on testbed revert.
* If apt-get fails for --apt-pocket ("Hash sum mismatch"!), retry up to
three times.
* Fix parsing of "apt-cache showsrc" to not get broken by wrapped lines.
Thanks Andy Whitcroft! (LP: #1522469)
* Don't try to "cd ." on testbeds in source rules commands, as this might be
inaccessible in some cases. Default to '/' instead. Thanks Christopher
Baine!
* ssh-setup/nova: Treat --image value as a regexp pattern and use the
greatest (by string sorting) result. This avoids having to put date stamps
into the command line, and also avoids completely falling over if two
images have the same name.
* Add a new ssh setup script command "debug-failure" which is called when
the setup script fails with nonzero or on timeouts waiting for ssh or
reboot.
* ssh-setup/nova: Implement "debug-failure" command with "nova console-log".
* tools/adt-build-lxc: Only install libpam-systemd if that exists (e. g. not
on Ubuntu 12.04).
* setup-commands/cloud-vm-setup: Don't rm the /etc/cron.daily/apt conffile
to avoid breaking apt upgrades. Instead, create
/etc/apt/apt.conf.d/02periodic.
* Create a testinfo.json for "badpkg" and other exit codes as well.
* Set stdin to /dev/null when running commands in the testbed. This avoids
hanging tests on interactive questions and also fixes auxverbs which check
if stdin is a PTY (like "lxc exec").
* tests/testarchive.py: Don't include the "Release" file into itself.
* Fix SchrootRunner.test_apt_pocket_* test cases to include "Sources" into
Release file. This makes the tests work with apt 1.1.
[ Max Brustkern ]
* adt-buildvm-ubuntu-cloud: Add timeout option.
[ Antonio Terceiro ]
* adt-build-lxc: Don't hardcode bridge interface.
-- Martin Pitt <mpitt@debian.org> Wed, 09 Dec 2015 12:38:13 +0100
autopkgtest (3.18.1) unstable; urgency=medium
* With --apt-pocket=POCKET=pkgname,... also include <release>-updates.
* cloud-vm-setup, adt-setup-vm: Disable /etc/cron.daily/apt.
* Detect if apt fails to download packages (as opposed to installing them),
retry up to three times, and eventually fail with exit code 16. This
avoids failing tests due to DNS/infrastructure problems and handling them
as tmpfails instead.
* Add test case for multiple Tests: with --apt-pocket=proposed=pkg
selection and nonexisting dependency.
* Properly keep track of apt pinnings across testbed resets.
* cloud-vm-setup, adt-setup-vm: Purge open-iscsi.
* Treat apt errors (exit code 100) from source download/extraction as
tmpfail.
* ssh-setup/nova: Stop adding apt sources for restricted/multiverse, as
current images now have them by default (see LP #1177432). This avoids
duplicate apt sources which cause stderr failure with some tests.
* Recognize negative architecture restrictions in test Depends:.
(LP: #1516959)
* tools/adt-buildvm-ubuntu-cloud: Counter-hack LP #1510345 harder by
checking /proc/cmdline instead of /etc/default/grub.
-- Martin Pitt <mpitt@debian.org> Wed, 18 Nov 2015 12:18:23 +0100
autopkgtest (3.18) unstable; urgency=medium
Behaviour changes/improvements:
* adt-virt-lxc: Drop --eatmydata option. Conceptually this isn't specific to
the LXC runner, it should always be used for package installation (when
available) with all runners, but never for tests.
* setup-commands/cloud-vm-setup, tools/adt-setup-vm: Install and use
eatmydata.
* Use eatmydata for --apt-upgrade and installing test dependencies, if
available.
* ssh-setup/nova: Provide custom implementation of "wait-reboot" using "nova
reboot --poll". This works more reliably on some clouds.
* ssh-setup/nova: Call "nova boot" with --debug to better be able to
diagnose failures.
* Extend --apt-pocket=POCKET option to accept an additional
"=pkgname1,src:srcname1,..." package list. An entry "src:srcname" expands
to all binary packages built by that source. If given, set up apt pinning
to use only those packages from POCKET, so that package updates in that
pocket can be tested independently from each other for better isolation.
(LP: #1503150)
* Add ssh-setup/maas: Acquire and Deploy a machine via MAAS to use as an
autopkgtest testbed. It assumes that MaaS is already set up, machines are
commissioned to it, and you added your ssh key to it.
Bug fixes:
* ssh-setup/nova: Drop "Warning: PoC", we've been using this in production
for a long time.
* tools/adt-setup-vm: Check if we already have a configuration for the
specific network interface that we are configuring, not just any
interface.
* tools/adt-buildvm-ubuntu-cloud: Counter-hack the Ubuntu livecd-rootfs
workaround for LP #1510345 by creating a configuration for ens3 and
removing the one for eth0.
-- Martin Pitt <mpitt@debian.org> Wed, 11 Nov 2015 10:11:48 +0100
autopkgtest (3.17.4) unstable; urgency=medium
* Fix --apt-pocket for apt sources with [options].
* Add tests/testarchive.py module for creating dynamic archives of mock
debs, and add a full integration test for --apt-pocket.
* Fix version in adt-run output (@version@ moved to adt_testbed.py).
* adt-setup-vm, cloud-vm-setup: Purge lxc/lxd.
* tests/testdesc: Skip Debian.test_builddeps_profiles test if dpkg is too
old to support build profiles.
-- Martin Pitt <mpitt@debian.org> Wed, 21 Oct 2015 07:33:04 +0200
autopkgtest (3.17.3) unstable; urgency=medium
* Set DEB_BUILD_OPTIONS=parallel=<#cpu> for builds and tests (as they
sometimes build packages). (LP: #1399177)
* If copying up files/artifacts through shared dir fails because of
inaccessible files, fall back to piping them through the auxverb.
* adt-build-lxc: Install dbus; a lot of software indirectly expects it
(e. g. calling systemctl as user).
* tools/adt-setup-vm, setup-commands/cloud-vm-setup: Purge
libcpan-changes-perl, it breaks some Perl autopkgtests.
* tools/adt-setup-vm, setup-commands/cloud-vm-setup: Purge git, it breaks
Ruby's autopkgtests.
* NullRunner.test_tmp_install: Explicitly require Json 1.0 GI version, to
silence warning with current pygobject.
-- Martin Pitt <mpitt@debian.org> Tue, 06 Oct 2015 08:13:09 +0200
autopkgtest (3.17.2) unstable; urgency=medium
* ssh-setup/nova: Use instance UUIDs instead of names after initial "nova
boot", to avoid name collisions. (LP: #1495788)
* adt-setup-vm: Drop "pin eth0 name" hack, this was fixed properly in
systemd 226-2.
* adt-setup-vm: Generalize ethernet ifupdown setup for net.ifnames.
* adt_binaries.py: Fix resetting of testbed (regression in 3.17).
-- Martin Pitt <mpitt@debian.org> Sun, 20 Sep 2015 17:23:41 +0200
autopkgtest (3.17.1) unstable; urgency=medium
* Add new private python modules to Makefile, to actually ship them.
* tests/adt-run: Fix test regression when $ADT_TEST* are not set.
-- Martin Pitt <mpitt@debian.org> Tue, 15 Sep 2015 08:38:54 +0200
autopkgtest (3.17) unstable; urgency=medium
* setup-commands/cloud-vm-setup: Provide fallback for Ubuntu 12.04 which
does not yet have /etc/default/grub.cfg.d/.
* adt-virt-ssh: Add --timeout-ssh option. Thanks Leo Arias for the initial
patch. (LP: #1488358)
* adt-run: Add --env option to pass arbitrary environment variables to the
test.
* adt-virt-lxc: In the auxverb, clean up leaked background processes which
share the same stdout/stderr, to avoid eternal hangs. (LP: #1488359)
* Move Testbed class and related logic into separate module
lib/adt_testbed.py, and clean up some unnecessary code interdependencies
and error handling. This will make it easier to write alternative CLI
frontents. This also handles test timeouts in a better way: There now is a
proper "summary" report as "FAIL timed out", and subsequent tests will now
run. (Closes: #741322)
* Drop the --leave-lang option. Please use the explicit option --set-lang
instead, to avoid weakly defined behaviour.
* Move Binaries class into separate module lib/adt_binaries.py.
* Testbed.execute(): Explicitly decode output of programs as UTF-8, instead
of relying on the host locale's encoding.
* tools/adt-setup-vm: Only configure eth0 in ifupdown if it actually exists,
and then make sure it does not get renamed any more.
* Add @builddeps@ build profile parsing fallback for libdpkg-perl < 1.04;
just ignore all build profiles.
* ssh-setup/nova: Add workaroud for cloud-init bug writing a wrong
/etc/hosts. (LP #1494678)
* adt-run: Log running kernel after each boot. (part of LP #1491865)
* Track initial kernel version after test bed setup and when a test/reboot
changes the running kernel version. Log these, and create a new
"testinfo.json" in the output dir with this information. (LP: #1491865)
* If --env options are specified, add these as list of name=value strings as
"custom_environment" key to testinfo.json.
* Put vserver arguments into testinfo.json.
-- Martin Pitt <mpitt@debian.org> Mon, 14 Sep 2015 15:02:39 +0200
autopkgtest (3.16.3) unstable; urgency=medium
* adt-setup-vm: Use /etc/cloud.cfg.d/ to avoid conffile prompts on upgrades.
(LP: #1477626)
* Don't invoke QEMU with -localtime. QEMU defaults to and Linux prefers the
hw clock in UTC. This avoids large time jumps when doing NTP.
* adt-setup-vm: Start autopkgtest shell after all other SysV init
scripts/facilities, to avoid a too early start of tests while boot is
still in progress.
* doc/README.package-tests.rst: Use comma separator in examples.
* VirtSubproc.check_exec(): Actually error out on stderr as documented.
* adt-virt-ssh: Verify that sudo does not write errors, as that
interferes with auxverbs and generally is a sign of host mis-configuration
(typically wrong hostname).
* ssh-setup-nova: Set hostname to "adt". This avoids overly long host names
from defaulting to nova instance names (which can be very long).
* ssh-setup/nova: Fix parsing of IP address from "nova show" to avoid
tripping over instance names containing "network". (LP: #1481574)
* Fix error message and code for "invalid test depends" errors.
* tests/pep8: Ignore E402 ("module level import not at top of file"), as
that's impossible to satisfy; we have to set sys.path before.
* ssh-setup/nova: In cleanup(), wait until the instance gets deleted. This
avoids name collisions and instance quota overflow.
* adt-run: Always show summary at the end, which is particularly helpful for
multiple tests. (LP: #1484991)
* adt-run.1: Clarify that without any logging options adt-run only logs to
stderr. (LP: #1485661)
* adt-virt-lxc: If the executed command exits with 255, translate that to
253 in the auxverb wrapper, as 255 is the exit code for failures of the
auxverb itself. This avoids considering ordinary test failures as
temporary testbed failures.
* adt-run: Show host name, to more easily identify hosts with frequent
failures.
* adt-virt-lxc: Always call lxc-stop with --kill, as the containers are not
precious and normal shutdown might hang.
* adt-virt-lxc: In cleanup, stop LXC container before removing the shared
downtmp, to ensure that we always clean up the running container. Also
don't fail on errors. (LP: #1488879)
* ssh-setup/nova: Add missing apt sources for -updates/-security
restricted/multiverse pockets.
-- Martin Pitt <mpitt@debian.org> Thu, 27 Aug 2015 19:54:51 +0200
autopkgtest (3.16.2) unstable; urgency=medium
* Exit with code 4 ("test failure") if a test times out, instead of 16
("testbed failure").
* Exit with code 12 ("erroneous package") if test dependencies are
unsatisfiable and put badpkg/blame into summary, instead of exiting with
code 20 ("other unexpected failures including bad usage").
* Exit with code 12 ("erroneous package") and a proper error message if
debian/tests/<testname> does not exist, instead of code 20 and a confusing
message about chmod failing and *-stderr missing.
* Exit with code 12 ("erroneous package") instead of 20 if test dependency
package install fails.
* adt-virt-ssh: If the executed command exits with 255, translate that to
253 in the auxverb wrapper, as 255 is ssh's (and auxverb's) exit code if
something with the connection failed. This avoids considering ordinary
test failures as temporary testbed failures. (LP: #1475679)
-- Martin Pitt <mpitt@debian.org> Fri, 17 Jul 2015 17:08:03 +0200
autopkgtest (3.16.1) unstable; urgency=medium
* setup-commands/cloud-vm-setup: Fix installation of linux-generic on
Ubuntu.
* ssh-setup/nova: Clean up userdata temp file on failed nova boot.
* If the test fails with exit code 127 (usually "command not found"),
consider this a test failure (code 4), not a testbed failure (code 16).
* doc/README.package-tests.rst: Document that "Tests:" and similar fields
can be comma separated too, like everywhere else in Debian's control
files.
* ssh-setup/nova: Show name of created nova instance, so that it's easier to
map instances to a test.
* run-from-checkout: Exec adt-run to avoid keeping the shell wrapper process
around.
* ssh-setup/snappy: Fix check whether --image and --channel are specified
together. (LP: #1474735)
* ssh-setup/nova: Allow selecting net IDs by name.
-- Martin Pitt <mpitt@debian.org> Fri, 17 Jul 2015 11:11:36 +0200
autopkgtest (3.16) unstable; urgency=medium
Behaviour changes and improvements:
* ssh-setup/nova: Re-try nova boot up to three times if it fails, and sleep
5 minutes in between. This occasionally fails due to exceeding quota or
temporary glitches.
* Drop gpg-signing local archive and mark it as [trusted=yes] instead. This
gets rid of the requirement to generate a gpg key on first run. Drop
corresponding --gnupg-home option. (LP: #1472691)
* Drop long-obsolete --tmp-dir backwards compat option.
* ssh-setup/snappy: Adjust ubuntu-device-flash arguments to new
release/channel structure from Ubuntu 15.10, and default to rolling/edge.
Add new --release option.
Bug fixes:
* ssh-setup/nova: Silence "invalid command wait-reboot" warning.
* setup-commands/cloud-vm-setup: Purge cloud-init too. It sometimes causes
longer hangs on boot and might interfere with tests in other ways, and we
only need it for first-time initialization anyway.
* adt-virt-qemu: adt-buildvm-ubuntu-cloud: Don't use -enable-kvm QEMU option
if /dev/kvm does not exist. (Closes: #790650)
* Quiesce warnings from tar. Avoids "time stamp is in the future" log spew.
(LP: #1468868)
* Move apt sources setup from setup-commands/cloud-vm-setup to
ssh-setup/nova. --apt-pocket does not work with the former as that runs
too late.
* Use Dpkg::Deps to evaluate/reduce build dependencies for expanding
"@builddeps@". This handles build profiles. (Closes: #787093)
* Resolve build profiles when installing build dependencies to build tested
package.
* Adjust NullRunner.test_tmp_install_perl test case to use
libtest-requires-perl instead of libtest-tester-perl; the latter got
removed from Debian.
-- Martin Pitt <mpitt@debian.org> Fri, 10 Jul 2015 11:26:36 +0200
autopkgtest (3.15.1) unstable; urgency=medium
* adt-buildvm-ubuntu-cloud: Fix lsb_release fallback if python3-distro-info
is not available.
* adt-buildvm-ubuntu-cloud: Don't move the uninitialized image to final
location if QEMU failed.
* adt-buildvm-ubuntu-cloud: Check availability of genisoimage and access of
/dev/kvm before downloading image. (LP: #1466486)
* Get along with dpkg-query not existing, such as in latest Ubuntu Snappy
images. Skip generation of testbed-packages artifact in that case.
(LP: #1469647)
* Adjust NullRunner.test_tmp_install test case to work with pygobject 3.16.
-- Martin Pitt <mpitt@debian.org> Mon, 29 Jun 2015 13:07:34 +0200
autopkgtest (3.15) unstable; urgency=medium
Behaviour changes and improvements:
* The specified --output-dir now must not exist or be empty. If it is
non-empty, adt-run now will refuse to use it instead of cleaning it. This
is safer, to avoid accidentally using the home directory or similarly
precious data. (LP: #1463561)
* Add --no-auto-control option to disable autodep8. (Closes: #788659)
* ssh-setup/nova: Add -e/--env option to append to /etc/environment. This is
mostly useful to configure $http_proxy and friends.
* ssh-setup/nova: Add --mirror option.
* Add setup-commands/cloud-vm-setup: --setup-commands script for cloud
instances to prepare them for running autopkgtests. This is similar to
adt-setup-vm, but won't configure serial console or networking.
Bug fixes:
* adt-setup-vm: Print a warning if calling update-grub fails, instead of
aborting. This fixes vmdebootstrap --grub, as that installs grub after
running the customization script. Adjust adt-virt-qemu.1 manpage to
recommend the --grub option of vmdebootstrap.
* testdesc.py, parse_rfc822(): Entirely ignore lines which only contain
whitespace after filtering out intra-line comments. They break
continuation line parsing in python-debian >= 0.1.23. (Closes: #784942)
* adt-setup-vm: Add inclusion of interfaces.d/ to /etc/network/interfaces.
This belongs into vmdebootstrap (#788792), but fix that locally for the
time being.
* adt-run.1: Document --testname.
-- Martin Pitt <mpitt@debian.org> Sun, 28 Jun 2015 11:55:34 +0200
autopkgtest (3.14.3) unstable; urgency=medium
* adt-virt-lxc: Don't try to set up a shared downtmp with unprivileged
(user) containers. This is full of permission errors due to the mapped
UIDs.
* tests/adt-run LxcRunner: Use $ADT_TEST_LXC as unprivileged user container
if it exists.
* adt-buildvm-ubuntu-cloud: Check at the beginning if QEMU command is
available and exit with proper error message if not. (LP: #1460066)
* If auxverb fails with exit code 126, 127, 254, or 255, consider this a
failure of auxverb/the testbed itself, not of the program run under it.
(As specified in doc/README.virtualisation-server.rst) (LP: #1462540)
-- Martin Pitt <mpitt@debian.org> Sat, 06 Jun 2015 13:09:50 +0200
autopkgtest (3.14.2) unstable; urgency=medium
* Add tests/testpkg-{simple,reboot,reboot-prepare}: Very simple stub
packages for manual testing.
* VirtSubproc, cmd_reboot(): Disconnect the backgrounded reboot command from
stdout/err, to avoid it getting killed by the ssh runner. (LP: #1454735)
-- Martin Pitt <mpitt@debian.org> Tue, 19 May 2015 14:45:34 +0200
autopkgtest (3.14.1) unstable; urgency=medium
* Go back to using the backgrounded reboot command as we had before 3.14.
Just calling "reboot" is prone to hangs and timeouts in case reboot is too
fast and shuts down our communication channel.
* Fix --override-control option in adt-run(1). (LP: #1453495)
* Fail with an error if --override-control file does not exist.
(LP: #1453503)
* ssh-setup/snappy: Add -b/--show-boot option to direct boot and console
messages to stdout. (LP: #1453154)
* adt-virt-qemu.1: Document --show-boot option.
* Add test case for using a @ command line include file for a virt runner.
* Strip leading and trailing space from argument lines in '@' included
command line argument files. (LP: #1453498)
-- Martin Pitt <mpitt@debian.org> Wed, 13 May 2015 14:45:43 +0200
autopkgtest (3.14) unstable; urgency=medium
Improvements:
* adt-virt-ssh: Add --reboot option to indicate that testbed can be
rebooted. This is useful when running without a setup script (which can
already declare capabilities).
* Simplify reboot implementation: Just call "reboot" as root in the testbed
to trigger rebooting, and replace the former hook_reboot() in adt-virt-*
with hook_wait_reboot() which merely waits for the testbed to go down and
come back up. This also replaces the "reboot" command for ssh setup
scripts to "wait-reboot" and in most cases it is not needed to implement
this at all (except for the "adb" script).
* Add /tmp/autopkgtest-reboot-prepare script for testbeds which support
rebooting. This saves the current state but leaves the actual reboot to
the test itself. This is useful if rebooting should happen with unusual
means (e. g. kexec) or as part of testing something else (like a system
upgrade). (LP: #1445819)
* Log complete command line invocation, for easier local reproduction,
comparison of log files, and clarifying which options were used.
(LP: #1449413)
Bug fixes:
* Update Vcs-Git: field for anonscm.debian.org.
* Drop obsolete XS-Testsuite: control field.
* adt-setup-vm: Fix script error if $ADT_SETUP_VM_POST_COMMAND is not set.
* README.click-tests.rst: Describe x-source manifest entry.
* Mark test dependencies as manually installed, so that they don't go away
if a test calls "apt-get autoremove".
* Set DEBIAN_FRONTEND=noninteractive for tests. This avoids stderr messages
about "unable to open stdin" and similar when tests call apt-get install.
-- Martin Pitt <mpitt@debian.org> Tue, 05 May 2015 10:14:23 +0200
autopkgtest (3.13) unstable; urgency=medium
* ssh-setup/adb: Add --keep-screen-active option to keep
"powerd-cli display" running after the tests. Use with caution!
(LP: #1441023)
* adt-buildvm-ubuntu-cloud: Add --post-command for running a shell command
after setup for additional customization.
* ssh-setup/adb: Quote tr arguments.
* click tests: Look into app/tests/autopilot/ for tests as well if no
explicit path is given. This is the default location of the Ubuntu cmake
templates.
-- Martin Pitt <mpitt@debian.org> Wed, 22 Apr 2015 11:50:18 +0100
autopkgtest (3.12.1) unstable; urgency=medium
[ Didier Roche ]
* setup-commands/ubuntu-touch-session: Use "upstart" instead of "init".
(LP: #1422681)
[ Martin Pitt ]
* adt-build-lxc: When removing the old root file system, remove btrfs
subvolumes in it.
* README.package-tests.rst: Document that '#' can be used for comments.
(Part of LP #1434543)
* Ignore debian/tests/control stanzas with unknown fields, as documented.
(LP: #1434543)
* adt-buildvm-ubuntu-cloud: Drop workaround for LP #1428495, it got fixed in
cloud-init a while ago.
* adt-buildvm-ubuntu-cloud: Fix cloud-init's prerm hacking to apply after
dist-upgrades.
-- Martin Pitt <mpitt@debian.org> Tue, 07 Apr 2015 07:26:27 +0200
autopkgtest (3.12) unstable; urgency=medium
* ssh-setup/adb: Re-enable ssh after reboot, in case an upgrade disables it.
* ssh-setup/adb: Try to create /userdata/.adb_onlock, to get adb after
rebooting without human interaction.
* Fix apt-get install --simulate version parsing with third-party sources.
(LP: #1430017)
* ssh-setup-nova: Add --security-groups option. (LP: #1429862)
* adt-buildvm-ubuntu-cloud: Avoid non-blocking reads from the socket in
verbose mode, this sometimes causes hangs. Go back to blocking reads, but
don't wait between them.
* Fix UnicodeDecodeError on .deb package name reading. (LP: #1430773)
* adt-virt-ssh: Export $SUDO_ASKPASS to tests if sudo is available.
(LP: #1431421)
-- Martin Pitt <mpitt@debian.org> Fri, 13 Mar 2015 12:52:49 +0100
autopkgtest (3.11.1) unstable; urgency=medium
* Fix autopkgtest-reboot to also work when being called through sudo, and
for forking test scripts.
* Avoid failure if /var/cache/apparmor/click-ap.rules does not exist any
more after a reboot, like on snappy.
* adt-buildvm-ubuntu-cloud: Avoid cloud-init's prerm stopping cloud-init's
services while we are still running them. This makes it possible to purge
cloud-init from user-data, and avoids killing apt/dpkg underneath us. This
needs a cleaner solution, but is a good enough workaround for now.
(LP: #1427999)
* adt-buildvm-ubuntu-cloud: Don't wait between serial console reads while
we have data. Provides faster/smoother output in --verbose mode.
* ssh-setup/nova: Fix error message on missing keypair, the command is
"keypair-add", not "keypair-create". Thanks Thomi Richards! (LP: #1428433)
* adt-buildvm-ubuntu-cloud: Add workaround for recent cloud-init regression
that disables ssh (LP #1428495)
* adt-run: Suggest common reason for unsatisfiable test dependencies.
Suggest using a current image, or run apt-get update/-U (for apt-get) or
--setup-commands ro-apt-update (for temp dir install mode). (LP: #1425682)
* Quiesce confusing "failed to create symbolic link
/sbin/autopkgtest-reboot" warning on read-only testbeds.
-- Martin Pitt <mpitt@debian.org> Thu, 05 Mar 2015 13:33:12 +0100
autopkgtest (3.11) unstable; urgency=medium
Improvements:
* Add action argument --testname to run only one individual test from the
next package.
Bug fixes:
* Restore click AppArmor profiles after a test, if we modified them before
the test.
* When running a deb test in a click+AppArmor environment, update AppArmor
rules for all clicks for introspectability and temporary test
dependencies. This takes about a minute before the test, and another one
after the test, but is necessary for use cases like ubuntu-sanity-tests.
(LP: #1424889)
-- Martin Pitt <mpitt@debian.org> Fri, 27 Feb 2015 07:02:52 +0100
autopkgtest (3.10) unstable; urgency=medium
Improvements:
* adt-virt-lxc: Add reboot support for non-ephemeral containers.
* tests/run-parallel: Don't run all test classes in parallel, it creates too
much load. Serialize test classes which use the same runner.
Bug fixes:
* VirtSubproc.py, cmd_reboot(): Fix debug message.
* tests/adt-run: Avoid re-downloading ubuntu-device-flash images by
symlinking ~/.cache/ubuntuimages from the temp $HOME into the real user's
$HOME.
* adt-virt-lxc: Fix check for eatmydata when using --eatmydata.
* adt-virt-qemu: Synchronize ttyS0 output before writing eofcat.
* adt-virt-qemu, adt-virt-lxc: Asynchronously call reboot, to avoid eternal
hangs when it reboots too fast for us to notice that it finished.
-- Martin Pitt <mpitt@debian.org> Tue, 24 Feb 2015 11:40:42 +0100
autopkgtest (3.9.7) unstable; urgency=medium
* Include "Package-Type: deb" marked packages for testing. Fixes regression
with testing paramiko.
* adt-virt-qemu: Robustify setupup of shared /autopkgtest directory.
* VirtSubProc.expect(): Read data without delay as long as we have some.
* adt-virt-qemu: Add --show-boot option to show boot messages from serial
console.
* adt-setup-vm: Configure "console=ttyS0" boot option in grub on non-i386
architectures too, to fix serial consoles with systemd images. Create
/etc/default/grub.d/ if necessary.
* adt-setup-vm: Only configure grub if update-grub is available.
(Closes: #778907)
* adt-virt-qemu: Increase reboot and dpkg-reconfigure timeouts; on loaded
machines these might take longer than 5s.
* adt-run: Unless --leave-lang is given, unset $LANGUAGE and all $LC_* for
tests, to avoid clobbering the testbed locale with the host's.
(LP: #1423359)
-- Martin Pitt <mpitt@debian.org> Sun, 22 Feb 2015 13:30:35 +0100
autopkgtest (3.9.6) unstable; urgency=medium
* Skip test_tmp_install_imagemagick test case if python3-wand is not
available.
* adt-virt-ssh: Ignore errors when cleaning up the work dir. This races with
sshd cleaning up its control socket, don't stumble over that.
(LP: #1420355)
* Implement --timeout-factor, which was forgotten with the rewrite in
version 3.2. (LP: #1420540)
* ssh-setup/adb: Fix waiting for the desktop to boot: Lower D-Bus call
timeout to 5 seconds, and fix retry loop to time out afer 5 minutes of
real time instead of a fixed number of retries (as the duration of the
D-Bus call is not very reliable).
* virt-subproc/adt-virt-ssh: Don't try to exit the ssh muxer if we don't
have a ssh command yet. This happens when the setup script fails to open
the testbed.
-- Martin Pitt <mpitt@debian.org> Fri, 13 Feb 2015 12:55:29 +0100
autopkgtest (3.9.5) unstable; urgency=medium
* adt-run install_tmp(): If we have Python and Perl modules, don't specify
the Python modules in $PERL5LIB.
* Recognize udev rules from packages in temp dir install mode. Copy them to
/run/udev/rules.d/ and trigger them. (LP: #1417966)
* setup-commands/ubuntu-touch-session: Don't fail on udevadm failure, which
cannot work in schroots.
* adt-virt-qemu: Ensure that python3 or python is available (which is
required for the auxverb helper) and exit with a meaningful error message
if it isn't. Adjust the manpage accordingly. Fix adt-setup-vm to install
python3-minimal if no Python is already installed. Thanks to Christian
Kastner for the initial patch! (Closes: #777478)
* Support temp dir install mode for python[3]-wand's really broken way of
finding the imagemagick shared libraries. (LP: #1419024)
-- Martin Pitt <mpitt@debian.org> Tue, 10 Feb 2015 16:53:01 +0100
autopkgtest (3.9.4) unstable; urgency=medium
* Recognize modern "Package-Type:" control field in addition to
XC-Package-Type.
* ssh-setup/adb: Guard adb wait-for-device with a 5 min timeout.
(LP: #1414939)
* README.running-tests.rst: Fix mis-spelled ro-apt setup command.
* Add setup-commands/ro-apt-update: Shortcut for temporarily mounting a
readonly root file system writable and run apt-get. This allows tests to
download/unpack test dependencies on older images whose apt indexes are
out of date. (LP: #1408350)
* Export temp dir install mode variables in the test run script instead of
merely running it under that environment, so that we trump non-extending
LD_LIBRARY_PATHs in /etc/environment. (LP: #1407949)
* setup-commands/ubuntu-touch-session: Ensure that /dev/uinput is always
accessible, as we don't necessarily have local logind sessions during
tests. (part of LP #1415514)
* setup-commands/ubuntu-touch-session: Unset UPSTART_JOB (which crept into
the environment from a recent upstart version) when calling initctl, to
fix querying the session D-BUS address. (LP: #1415514)
-- Martin Pitt <mpitt@debian.org> Thu, 29 Jan 2015 19:01:41 +0100
autopkgtest (3.9.3) unstable; urgency=medium
[ Christian Kastner ]
* Clean up /etc/dpkg/dpkg.cfg.d/autopkgtest on upgrades if its contents are
just "force-unsafe-io", indicating that this file was generated by the
above bug.
-- Martin Pitt <mpitt@debian.org> Sun, 11 Jan 2015 13:45:28 +0100
autopkgtest (3.9.2) unstable; urgency=medium
* adt-setup-vm: Fix all other places which operated on the host instead of
the guest file system when specifying a directory argument.
-- Martin Pitt <mpitt@debian.org> Sun, 11 Jan 2015 13:15:09 +0100
autopkgtest (3.9.1) unstable; urgency=medium
[ Martin Pitt ]
* Revert installation of ubuntu-device-flash in adt-run autopkgtest, it's
too unstable (timeouts and grub errors due to qemu in qemu).
[ Christian Kastner ]
* adt-run: Fix detection of dpkg-dev in the testbed. (Closes: #775073)
* adt-setup-vm: Set umask to 0022 so that ordinary users in the testbed can
read generated files. (Closes: #775075)
* adt-setup-vm: Modify guest's dpkg config for enabling force-unsafe-io, not
host's, when a root directory is specified as argument. (Closes: #775076)
* adt-setup-vm: Make sure $proxy variable exists before using it. Fixes
crash when apt is not configured to use a proxy. (Closes: #775092)
-- Martin Pitt <mpitt@debian.org> Sun, 11 Jan 2015 12:53:18 +0100
autopkgtest (3.9) unstable; urgency=medium
Improvements:
* Add "snappy" ssh setup script to run tests in an Ubuntu Snappy
(http://www.ubuntu.com/snappy) testbed in QEMU. This uses a given image
with -i/--image, or constructs a temporary one using ubuntu-device-flash
(which caches its downloads and is fast).
* adt-run autopkgtest: Install ubuntu-device-flash and qemu-kvm if
available, to run the snappy ssh script tests under autopkgtest in Ubuntu.
* ssh setup script "reboot" commands can now simply "exit 10" if they want
adt-run to just call "reboot" through ssh, instead of having a custom
implementation.
Bug fixes:
* tools/adt-setup-vm: Avoid debconf prompts during dist-upgrade.
* adt-virt-ssh: Wait for ssh to become available before checking for sudo.
Fixes root capability detection for setup scripts which don't already wait
for ssh themselves.
* VirtSubproc.cmd_reboot: Avoid multi-line shell command so that this also
gets along with the ssh runner.
* Fix FileNotFoundError if built tree does not have a debian/changelog file.
Simply skip detection of source package version in this case.
-- Martin Pitt <mpitt@debian.org> Mon, 05 Jan 2015 18:09:03 +0100
autopkgtest (3.8.1) unstable; urgency=medium
* If the testbed does not have root privileges (e. g. missing sudo
password), install click packages with pkcon and skip the AppArmor rule
adjustment. This makes non-root click tests at least work for
non-Autopilot cases. (LP: #1384417)
* Make --shell-fail also apply to test dependency installation failure.
* Run root tests through "su" as well (if possible), to ensure that these
also get a proper PAM/logind session with all runners. (LP: #1393474)
* Skip the test_tmp_install tests if apt-get download does not work. This
might happen in some build environments which completely disable
networking or don't have working apt-get download for some reason.
(Closes: #769687)
* Don't put the log FIFO into the output directory. This avoids keeping it
in --output-dir, which fails if the output dir happens to be in the tested
tree itself. (LP: #1393426)
* adt-setup-vm: Don't purge man-db. It uninstalls way too much on images
which aren't just minimal environments.
* adt-setup-vm: Drop bogus "X-Start-Before" line in generated init.d script.
(Closes: #770517)
* Respect DEB_BUILD_OPTIONS=nocheck (side issue in #769687)
-- Martin Pitt <mpitt@debian.org> Thu, 27 Nov 2014 10:54:02 +0100
autopkgtest (3.8) unstable; urgency=medium
Improvements:
* adt-build-lxc: Configure unsafe dpkg I/O and disable apt's download of
package translations, like adt-setup-vm.
* adt-build-lxc: Use eatmydata for lxc-create if available, and install
eatmydata into containers. For Ubuntu, stop installing the default
$packages_template (which is ssh,vim).
* adt-virt-lxc: Pass any additional options/arguments (after --) verbatim to
lxc-start{,-ephemeral}.
* adt-virt-lxc: Stop running ephemeral containers with --keep-data by
default, as this makes them unnecessarily slow due to running on disk.
Environments with little RAM are instead advised to explicitly supply this
or --storage-type as extra arguments.
Bug fixes:
* Create autopkgtest-reboot command in /tmp, as /sbin/ might be read-only
(and /run is usually "noexec", so we can't put it there either). Write it
with "noclobber" to guard against symlink attacks.
* During reboot, if /var/cache/ isn't writable (as on Ubuntu touch images,
argh), fall back to saving the current temp dir in /home.
* adt-virt-ssh: Recreate the sudo wrapper after reboot, as it is in /tmp.
* ssh-setup/adb: Setup adb port forwarding again after rebooting.
* Fix error message if /tmp/autopkgtest-reboot already exists.
* Fix extra space in apt-get option, which breaks apt-get's option parsing
in some circumstances.
* adt-build-lxc: Fix hardcoded "utopic" release name for cache cleanup on
btrfs, use the actual release name from the command line. (LP: #1392589)
-- Martin Pitt <mpitt@debian.org> Fri, 14 Nov 2014 08:40:28 +0100
autopkgtest (3.7.1) unstable; urgency=medium
* NullRunner.test_tmp_install_perl: Use a package from Ubuntu main, to fix
FTBFS in Ubuntu's buildds.
* Fix AppArmor rule adjustment for a local click package.
* When executing a command in the testbed times out, don't wait for it
after killing if the auxverb includes "sudo". We can't kill those
processes, so we'd wait forever; we can only hope that they eventually
terminate themselves after we stop the testbed. Fixes non-working timeouts
for LXC runner with the --sudo option.
* Show "set -x" trace of AppArmor reconfiguration in debug mode.
* Use "install" instead of "short" time out for downloading and unpacking
dependencies in "temp dir" mode.
* ssh-setup/adb: Retry connecting with ssh a few times, the first time
doesn't always succeed immediately after enabling ssh.
* tools/adt-setup-vm: Prevent subsequent cloud-init runs from modifying the
apt sources again.
-- Martin Pitt <mpitt@debian.org> Tue, 11 Nov 2014 07:54:40 +0100
autopkgtest (3.7) unstable; urgency=medium
Improvements/cleanup:
* When not logging to a file, colorize adt-run debug/info/warning/error
messages to better tell them apart from from apt and test output.
* adt-virt-schroot: Simplify determination of schroot session location.
* adt-virt-chroot: Drop support for dchroot arguments. dchroot has been
obsoleted by schroot for a long time now, and isn't being tested by the
developers. Allow relative chroot paths.
* adt-virt-ssh: Rewrite adt-ssh-wrapper to not call the readlink command on
every single /proc/*/fd/*. This is too slow on devices like Ubuntu Touch,
where it adds an extra ~ 5 seconds to every command.
* ssh-setup/adb: Drop --rw and --apt-update options. They stopped working
when adb switched to running as user, and can be done with
--setup-commands.
* Recognize Perl modules in temp dir install mode.
* Consider programs in the temp dir install tree for preparing the source
package. This makes it possible to run --source or --apt-source tests in
read-only environments without dpkg-dev installed. (LP: #1383878)
* With --apt-upgrade, retry apt-get update a third time after one minute.
With just a second try we still get occasional hash sum mismatches.
* Recognize Qt plugins in the temp dir install tree, so that autopilot tests
work on images which don't have autopilot-qt installed any more.
* Remove the "adt-satdep" package after test installation finished, to avoid
tests being confused about an unexpected package.
* ssh-setup/adb: Drop "autopilot --dbus-probe enable" call. It wastes some
1.5 minutes and is not needed any more, as we now reconfigure AppArmor for
the particular clicks that we want to test.
Bug fixes:
* adt-virt-ssh: Terminate the ssh connection muxer on cleanup. Fixes eternal
hangs on waiting for tee with the --output-dir option, as the muxer
inherits our stderr. (LP: #1384324)
* Fix crash when running from a git checkout, but git is not installed.
* ssh-setup/adb: Robustify powerd-cli invocation. It previously failed
randomly.
* ssh-setup/adb: Quiesce some noise from various phablet-config/gdbus/adb
commands.
* ssh-setup/adb: If the welcome wizard is already running, just kill that
instead of the entire session. In particular, this avoids killing adb on
both the host and the device.
-- Martin Pitt <mpitt@debian.org> Thu, 30 Oct 2014 10:47:16 +0100
autopkgtest (3.6) unstable; urgency=medium
[ Antonio Terceiro ]
* README.package-tests.rst: Make references to the control field consistent.
[ Martin Pitt ]
* When parsing .changes files, always register the debs before the dscs and
stop assuming Files: having this order already. (Closes: #764795)
* Drop the builtin synthesis of Perl/Ruby tests and use autodep8 instead.
Update the spec accordingly, and add a Recommends: autodep8.
(Closes: #763847)
* adt-build-lxc: Implement LXC cache cleanup for btrfs by removing the image
snapshots instead of rm -r'ing the cache dir, as the latter will fail.
* adt-setup-vm: Fix missing hashbang of generated /etc/init.d/autopkgtest.
(Regression from 3.5.5)
-- Martin Pitt <mpitt@debian.org> Thu, 16 Oct 2014 16:36:11 +0200
autopkgtest (3.5.5) unstable; urgency=medium
* adt-virt-ssh: Be more liberal when parsing the setup script's
capabilities, accept spaces and commas.
* adt-virt-ssh: Refactor code so that setup script's "revert" commands can
update/refresh the ssh config. Often revert translates to close and
re-open, which changes the IP. Update manpage and ssh-setup/SKELETON
accordingly.
* ssh-setup/nova: Make parsing commands work with mawk too, to avoid
depending on gawk.
* ssh-setup/nova: Implement a simple revert by a simple teardown/providing a
new instance. (This might become more efficient in the future with using
snapshots.)
* adt-buildvm-ubuntu-cloud: Put vmalloc kernel commandline config into
separate grub.d/ directory, to avoid subsequent cloud-init invocations
overwriting it.
* tools/adt-setup-vm: Add setup steps that adt-buildvm-ubuntu-cloud does, so
that vmdebootstrap generated VMs are functionally on par with the Ubuntu
cloud images: Set up serial console, dpkg unsafe-io, install some
additional packages, remove unnecessary packages, bump vmalloc on i386.
* adt-buildvm-ubuntu-cloud: Remove most of the setup steps from user-data,
and call adt-setup-vm instead. This keeps the knowledge of how to set up
VM testbeds in one single place.
-- Martin Pitt <mpitt@debian.org> Thu, 09 Oct 2014 15:20:15 +0200
autopkgtest (3.5.4) unstable; urgency=medium
adt-run fixes:
* Make apt-get source calls again show what's being downloaded, but not all
the other noise around it.
* Avoid copying down the tests tree into the testbed if it already exists
there. This is the common case for the first test in unbuilt trees, and
avoids one round of expensive large copying for the ssh and qemu runners.
* Fix relative --override-control paths: They should not be relative to the
source dir but relative to the current dir where adt-run is called.
ssh-setup/nova fixes:
* Add -N/--net-id argument for OpenStack deployments which require setting
an explicit --nic net-id.
* Stop using nova boot's --file option, it does not work any more (see
LP#1376176); use --user-data instead. Also set some go-faster apt options.
* Wait until ssh is available and cloud-init is done.
* Stop making --keyname mandatory. If not given, use the first one from
"nova keypair-list".
* Fix crash if ~/.ssh/known_hosts does not exist.
ssh-setup/adb fixes:
* Drop the sudo'ing for unlocking the screen. It stopped working and is not
necessary, now that we don't have images with adb running as root any
more.
* Fix unity8 restart after disabling first-time wizard to work on current
Ubuntu Touch images.
* Wait until com.canonical.UnityGreeter becomes available. This is a better
way to wait for the desktop to be started up, and also reliably unlocks
the greeter.
* During revert, don't fail if there are no configured networks.
* Add -b/--reboot option to reboot the device before running the test.
* Disable --reset option for now; it is broken as it does not restore the
password and developer mode. Point towards using --reboot, which should be
good enough for most cases in r/o mode.
adt-virt-ssh fixes:
* Implement reboot.
* Tests or builds sometimes leak background processes which might still be
connected to ssh's stdout/err; create and use a wrapper script that kills
these after the main program (build or test script) finishes, otherwise we
get eternal hangs as ssh waits until nothing is connected to its tty any
more.
Other fixes:
* adt-buildvm-ubuntu-cloud: Purge more unnecessary packages.
-- Martin Pitt <mpitt@debian.org> Wed, 08 Oct 2014 09:22:17 +0200
autopkgtest (3.5.3) unstable; urgency=medium
* ssh-setup/adb: Use the new "phablet-config network" to save/restore wifi
connections, which also works with non-root adb.
* Give adt-run's tee processes some time to catch up between printing
results and stderr, to avoid scrambled logs. (LP: #1373441)
* Fix NullRunner.test_timeout_no_output for older Python versions.
* tests/pyflakes: Skip test if pyflakes3 is not available (for backports).
* Bump Standards version to 3.9.6 (no changes necessary).
* NullRunner.test_timeout_no_output: Slightly relax time bound to make
failures less likely on loaded/slow machines.
* Install clicks with --allow-unauthenticated to support local developer
generated packages. (LP: #1372640)
-- Martin Pitt <mpitt@debian.org> Sun, 28 Sep 2014 12:16:16 +0200
autopkgtest (3.5.2) unstable; urgency=medium
[ Martin Pitt ]
* Make apt-get source and package unpack output a bit less verbose.
* Avoid "grep: debian/tests/control: No such file or directory" warning for
packages with implicit test control. (Closes: #762009)
* Adjust "unpack into temp dir" mode for multi-archified typelib locations
introduced in gobject-introspection 1.41.4-1.
[ Niko Tyni ]
* Test perl packages that include test.pl, not just t/. (Closes: #762013)
-- Martin Pitt <mpitt@debian.org> Tue, 23 Sep 2014 09:31:29 +0200
autopkgtest (3.5.1) unstable; urgency=medium
* Fix apt cleanup to remove configuration files before apt-get update.
* When using local binaries, tell apt-get to only download our
autopkgtest.list, not all apt lists again.
* Move autopkgtest gpg directory from ~/.autopkgtest/gpg to
~/.cache/autopkgtest/. Check the former location for backwards
compatiblity.
* Invoke gpg with --no-random-seed-file to avoid VCS noise when using
tests/home/.
* run-from-checkout: Use --gnupg-home with our tests/home to avoid GPG key
generation.
* adt-run: Defer GPG key creation until binary publishing time. This avoids
key creation entirely for the common case of not using any local or built
binaries.
* tests: Use apt-doc instead of cpp-doc, as the latter is in Debian contrib
only. (Closes: #761417)
* When determining whether a testbed reset is necessary in between tests,
also consider if recommends were/will be installed. (Closes: #761420)
* README.package-tests.rst: Packages with implicit test control (ruby/perl)
should use a different Testsuite: value, namely
autopkgtest-pkg-{ruby,perl}, to avoid breaking compatibility with the
specification and to other implementations like sadt.
* autopkgtest-reboot: Switch from SIGPIPE to SIGKILL, as that is much more
reliable.
* Reorganize NullRunner tests so that most run also as normal user (and
hence during package build); only keep four tests in NullRunnerRoot which
actually do need root privileges.
* Improve NullRunner.test_timeout_no_output test case to ensure that the
test is properly killed after timing out.
* Fix invocation of tests so that they retain the default SIGINT handler.
This changes cleanup after a timeout, add new procps dependency for this.
(Closes: #761596)
-- Martin Pitt <mpitt@debian.org> Wed, 17 Sep 2014 06:09:30 +0200
autopkgtest (3.5) unstable; urgency=medium
Improvements:
* VirtSubProc.cmd_reboot(): Save/restore downtmp instead of creating a new
one. This is more useful for reboot scenarios within tests.
* Support tests that want to reboot the testbed (for runners which support
rebooting). Document this in doc/README.package-tests.rst.
* tests/testdesc: Add test case for Debian packages without a test control.
* If there is no Debian test control file, synthesize one for Ruby and Perl
packages, using gem2deb-test-runner and pkg-perl-autopkgtest. Thanks to
Antonio Terceiro!
* ssh-setup/adb: Unlock the greeter before running tests.
Bug fixes:
* qemu: Reconfigure tzdata after copying /etc/timezone, to make that change
actually active.
* qemu: Wait an additional 3 seconds after the login prompt appears on
ttyS0. Without that, the system time is wrong, causing bad file
timestamps. Unfortunately polling runlevel or the "hwclock" status file
doesn't help.
* Always keep the same downtmp even after resetting the testbed. Some built
trees/tests use absolute path names and break when being moved around
after a reset. This already worked in most cases by accident due to a bug,
but now clean up the code to be explicit about it.
* Expand '@' to quasi-versioned (>= 0~) dependencies to avoid satisfying
them by virtual packages. (Closes: #761003)
* Ensure that the build tree is world-readable. Fixes permission error when
running adt-run as non-root with a different --user and a tight umask.
(Closes: #761049)
* lxc: Ensure the container root directory is accessible to non-root users.
Works around lxc-start-ephemeral bug with tight umasks.
(https://launchpad.net/bugs/1367730)
* lxc: Fix lxc-clone option (--new, not --name).
-- Martin Pitt <mpitt@debian.org> Thu, 11 Sep 2014 11:05:16 +0200
autopkgtest (3.4.1) unstable; urgency=medium
* adt-buildvm-ubuntu-cloud: Use host's http[s] proxy in the VM, rewriting
localhost addresses accordingly.
* qemu: Accept any runlevel between 2 and 5 as "booted", to also work with
systemd. (Closes: #760060)
* adt-run: Read built tree changelogs with UTF-8 encoding. (Closes: #759752)
* adt-virt-lxc: Source /etc/profile as well, to get $PATH in Debian
environments.
-- Martin Pitt <mpitt@debian.org> Thu, 04 Sep 2014 07:52:12 +0200
autopkgtest (3.4) unstable; urgency=medium
* Produce a summary file by default when --output-dir is given.
* ssh-setup/adb: Add missing $ADBOPTS for reverting to factory state.
* Add support for retrieving a click source from bzr (from the manifest's
x-source/vcs-bzr key) if --click-source is not given.
* ssh-setup/adb: Use SystemImage D-BUS call for factory reset instead of
direct recovery commands, to also work as user.
* ssh-setup/adb: Add --password/-p option to specify a different sudo
password than "phablet".
* adt-run: Fix $USER in tests if testbed does not have root.
* adt-run: Source shell profiles if testbed does not have root. Fixes
running click tests on Ubuntu Touch without a sudo password.
* ssh-setup/adb: Try common sudo passwords for CI ("phablet" and "0000"); if
those do not work, and none is specified with --password, tests cannot run
as root (which should be fine for most cases).
* ssh-setup/adb: Stop using system-image-cli to detect an Ubuntu phone, as
that does not work as user. Check for unity8 instead, like in other parts
of the code.
* ssh-setup/adb: Fix cleaning up of first-time wizard for non-root adb.
-- Martin Pitt <mpitt@debian.org> Mon, 25 Aug 2014 16:10:01 +0200
autopkgtest (3.3.3) unstable; urgency=medium
* ssh-setup/adb: Always parse options, so that $ADBOPTS is also defined for
operations other than "open". Fixes failure on close when multiple devices
are present.
* adt-run manpage: Fix references to documentation. (Closes: #758016)
* README.package-tests.rst: Point out that dpkg-source >= 1.17.11 adds the
Testsuite: field automatically. Thanks to Guillem Jover!
* ssh-setup/adb: Use PropertyService to enable ssh, for future compatibility
with non-root adb.
* ssh-setup/adb: Protect against failures of ssh-keygen when pruning the
localhost fingerprint. It fails if ~/.ssh/known_hosts does not exist.
* When copying down, properly fail when there are unremovable files in an
existing directory, instead of ignoring them and making the subsequent
copytree() fail. This helps to get better error messages for #757396.
* Fix crash on undeletable files in source trees. (Closes: #757396)
* ssh-setup/adb: If there is no default ssh key, create an
~/.ssh/id_autopkgtest and use that.
* Run autopilot tests with generating a subunit stream in
<output-dir>/artifacts/<testname>.subunit, and in verbose mode.
-- Martin Pitt <mpitt@debian.org> Wed, 20 Aug 2014 20:11:17 +0200
autopkgtest (3.3.2) unstable; urgency=medium
* When logging output to a file, properly close the "tee" processes' stdin
and wait for them to finish, instead of just killing them. This avoids
truncated logs on heavily loaded machines.
* Fix NullRunnerNoRoot.test_tmp_install test if gir1.2-json-1.0 is already
installed.
* Use long options for calling programs except for the most common ones, for
easier comprehension.
* qemu: Read all responses from ttyS1 after sending commands. Qemu 2.1 seems
to configure serial sockets differently, and not flushing responses
confuses it.
* qemu: Use "cache=unsafe" option to improve performance when the overlay is
not on a tmpfs.
* Further robustify cleaning up the chroots in the ChrootRunner tests.
* adt-build-lxc: When updating containers, move the new rootfs completely to
the original container. The rsync approach did not reliably update all
files.
-- Martin Pitt <mpitt@debian.org> Wed, 06 Aug 2014 11:28:00 +0200
autopkgtest (3.3.1) unstable; urgency=medium
* Accept comma separators in Tests:, Restrictions:, and Features: fields;
this is consistent with Depends: and avoids skipping tests. (LP: #1347958)
* Generalize implementation of getting an interactive shell in testbeds.
Most runners now don't need to provide a hook_shell() any more.
* Export install environment to interactive testbed shells, so that
unpacked test depends in the temp dir are accessible. (LP: #1339103)
* lxc: Don't fail on a nonexisting /etc/environment or /etc/default/locale.
(LP: #1348749)
* adb ssh script: Add --apt-update option to run "apt-get update" (with
temporarily switching to r/w), to run tests on older development images.
(LP: #1342838)
* Drop the very short and unnecessary install timeouts from the NullRunner
tests.
-- Martin Pitt <mpitt@debian.org> Tue, 29 Jul 2014 13:45:36 +0200
autopkgtest (3.3) unstable; urgency=medium
Improvements:
* Define "Classes:" (Debian) / "classes" (click manifest) test control field
in the specifications. For packages whose tests should run on particular/a
set of different hardware/platforms, this can specify a list of abstract
class names such as "desktop" or "graphics-driver". Consumers of
autopkgtest can then map these class names to particular
machines/platforms/policies.
* Fall back to searching for --setup-commands files in
/usr/share/autopkgtest/setup-commands/ if they are specified without path,
to reduce typing.
* Fall back to searching adt-virt-ssh's --setup-script in
/usr/share/autopkgtest/ssh-setup/ if they don't exist in the current
directory, to reduce typing.
Bug fixes:
* When running a test as user on a root testbed, run source extraction under
set -e, to fail early at the proper error. (LP: #1346388)
* Add test case for non-existing --apt-source package name.
* Add "installed" autopkgtest to run adt-run against a simple source tree in
$ADTTMP, to avoid using Python modules from the autopkgtest source tree.
This spots grave bugs like in 3.2.1.
-- Martin Pitt <mpitt@debian.org> Wed, 23 Jul 2014 09:16:08 +0200
autopkgtest (3.2.2) unstable; urgency=medium
* adt-run: Fix typo that broke --apt-source with "build-needed" tests.
-- Martin Pitt <mpitt@debian.org> Mon, 21 Jul 2014 15:07:17 +0200
autopkgtest (3.2.1) unstable; urgency=medium
* Ship forgotten adt_run_args module.
-- Martin Pitt <mpitt@debian.org> Mon, 21 Jul 2014 11:45:25 +0200
autopkgtest (3.2) unstable; urgency=medium
Improvements:
* Add --copy option to copy a file or directory into the testbed.
* Support specifying a click name like "com.example.myapp" with --click to
test an already installed click instead of a local *.click file.
(LP: #1338899)
* Introduce "autopilot_module" click test control field for specifying an
autopilot test module name. This allows tests to require additional test
dependencies, restrictions, etc. without having to specify the full
invocation of autopilot. (LP: #1338911)
* In "unpack into temp dir" mode, ignore Python 2.x test dependencies. They
are not exposed anyway as with $PYTHONPATH we can only serve one major
Python version, and we want Python 3.
* Port remaining runners from obsolete optparse to modern argparse. This
gives a consistent command line help and support for reading options from
a file with '@'.
* Port adt-run to argparse, and clean up the CLI:
- Drop rarely used and confusing options: --instantiate, --sources-tests,
--sources-no-tests, --built-binaries-filter,
--binaries{,-forbuilds,-fortests}. Add a single new --built-binaries as
the opposite of -B/--no-built-binaries.
- CLI parsing is now done in lib/adt_run_args.py, with separate unit
tests.
- This now allows any part of the command line (for adt-run itself or the
virt-server or both) to be read from a file, using the '@' prefix.
(Closes: #749241)
- Separate the options into different logical groups, in both --help and
the manpage.
* Make --override-control work for click manifests. (LP: #1342818)
* Introduce "Test-Command:" debian/tests/control field to run a shell
command instead of a "Tests" named executable. This avoids having to write
trivial one-liner scripts or allows wrapping calls to test executables.
(Closes: #741330)
Bug fixes:
* Set $USER environment variable also for tests that run as root.
(LP: #1337802)
* Add lintian override for ssh-setup/SKELETON, it's deliberately not
executable.
* Increase timeout for aa-clickhook workaround for LP#1337253, 100s is often
not enough.
* ssh-setup/adb: Disabling the first-time wizards sometimes fails due to adb
being brittle at that time. Retry up to 5 times.
* Optimize aa-clickhook workaround for LP #1337253 to only rebuild the
profile of the installed click app. This reduces the time from about a
minute to about a second.
* qemu, lxc: Use VirtSubproc subprocess wrappers to get timeout handling for
all commands.
* Rewrite build depends to not rely on builders being able to fall back to
alternatives (python >= 3.3 | python3-mock), to ease backporting.
* tests/pyflakes: Use pyflakes3.
* Only run pyflakes test during package build if pyflakes3 is available.
This unbreaks backports.
* Run "click info" as the same user as the test. (LP: #1342836)
* Keep <testname>-stderr output files for "allow-stderr" tests.
-- Martin Pitt <mpitt@debian.org> Mon, 21 Jul 2014 09:35:17 +0200
autopkgtest (3.1) unstable; urgency=low
Improvements:
* ssh-setup/adb: On Ubuntu phones, use phablet-config to disable first-time
wizards/intros. Implement reboot and revert. This requires phablet-config
now, either installed as package or from bzr checkout with
PHABLET_TOOLS_PATH=<checkout dir>.
* ssh-setup/adb: Save/restore NetworkManager system connections in revert.
* ssh-setup/adb: Add -r/--reset option to perform a factory reset before
running tests.
* Bring back --control-override option, with tests and documentation.
Bug fixes:
* Work around subprocess.Popen bug in Python 3.2.
* lib/testdesc.py: Change exceptions to be Python 3.2 compatible.
* Kill the actual test on timeout instead of just the wrapping shell script.
* Fix workaround for LP #1333215: Don't run with "su -l" as that causes
extra stdout spew from su for nonexisting home directories; instead just
source /etc/profile and ~/.profile as these are the parts that we need.
* Run aa-clickhook after every click install, otherwise it doesn't apply to
newly installed clicks. Works around LP #1337253.
* Open files which can potentially contain non-ASCII data with explicit
UTF-8 encoding, to avoid UnicodeDecodeErrors under C locale.
(Closes: #753582)
* Fix metavariable names in adt --help.
* ChrootRunner tests: Retry removal of temporary chroot when busy.
* Don't let a first failed apt-get update run break the test due to stderr;
it gets retried 15 seconds later.
-- Martin Pitt <mpitt@debian.org> Thu, 03 Jul 2014 13:31:16 +0200
autopkgtest (3.0.2) unstable; urgency=low
* Fix -s/--shell-fail to actually work again (regression in 2.19).
* Quiesce the sourcing of /etc/profile and ~/.profile to avoid "stdin: is
not a tty" clutter.
-- Martin Pitt <mpitt@debian.org> Wed, 02 Jul 2014 09:28:20 +0200
autopkgtest (3.0.1) unstable; urgency=low
* Install ssh setup scripts executable.
* doc/README.running-tests.rst: Add ssh runner example.
-- Martin Pitt <mpitt@debian.org> Tue, 01 Jul 2014 15:40:39 +0200
autopkgtest (3.0) unstable; urgency=low
Improvements:
* Add support for click packages (https://click.readthedocs.org):
- Add two new actions --click and --click-source to run tests of a click
package. For now, --click-source is mandatory as parsing/getting the
source from a click's x-source manifest entry is not yet implemented.
- Add doc/README.click-tests.rst to document test definition for click
packages.
- Add setup-commands/ubuntu-touch-session: --setup-commands script for
installing click, the Ubuntu SDK, some extra packages for autopilot, and
launching Xvfb and an user upstart session. This approximates the
environment of an Ubuntu touch device. You can also run
setup-commands/ro-apt afterwards.
* If the testbed does not have root (null runner or schroots without
root-user/group) or a writable dpkg database (as on Ubuntu system
images), fall back to unpacking test dependencies into a temporary
directory and set *_PATH environment variables accordingly. This will
make a limited number of test dependencies work in these test beds.
* Add setup-commands/ro-apt for making dpkg/apt readonly, to
approximate what happens with Ubuntu system images.
* Add adt-virt-ssh runner: Generic runner for an externally set up testbed
which assumes nothing else than a working ssh connection. This can call a
"setup script" to create/configure a testbed (such as spinning up a cloud
VM with nova or setting up SSH on a phone through ADB). See the manpage
for details. Thanks to Jean-Baptiste Lallement!
* Add ssh-setup/SKELETON for a basis to write ssh setup scripts.
* Add ssh-setup/adb: Set up an ssh connection to an adb host. If that adb
host is an Ubuntu Touch system, it also does some extra configuration like
disabling the screen timeout and allowing Autopilot to introspect running
apps. See header commends for details. Thanks to Jean-Baptiste Lallement!
* Add ssh-setup/nova: Sets up a nova instance to use as an autopkgtest
testbed. It assumes that the host system is already prepared to run nova
commands. This is not very robust at the moment and more like a proof of
concept. Thanks to Jean-Baptiste Lallement!
* Convert doc/README.* to reStructuredText and rename to *.rst. Build HTML
files from them using rst2html and install them also.
* adt-run: Never run testbed commands with newlines in them. Those make it
ridiculously hard to implement runners which can only accept shell
strings.
Bug fixes:
* lxc: Don't leak the host environment into the container (lxc-attach
currently defaults to that), but build a clean and minimal environment
from /etc/environment and /etc/default/locale.
* Fix calling a virt server with full path.
* lib/VirtSubProc.py, downtmp_remove(): Only remove the downtmp if it is
actually set. This avoids confusing error messages if something fails
during early test bed setup.
* adt-run: set APT_LISTBUGS_FRONTEND=none when installing packages. This
will avoid the apt-listbugs prompt when apt-listbugs is installed.
Thanks to Antonio Terceiro!
* schroot: Ending the schroot session sometimes fails on "Device or resource
busy". Retry 10 times before giving up instead of failing immediately.
* adt-run: Read /etc/profile and ~/.profile when running tests as user. This
emulates the bits of "su -l" that we want, until this gets cleaned up for
using "su -l" completely.
* tests/run-parallel: Get sudo password early, to avoid asking for it in
background jobs.
* Restrict --apt-pocket to *.ubuntu.com and *.debian.org sources, as
third-party repositories such as launchpad.net don't (necessarily) have
pockets. (LP: #1334332)
* Fix high adt-virt-* CPU usage on reading commands on stdin.
-- Martin Pitt <mpitt@debian.org> Tue, 01 Jul 2014 15:21:55 +0200
autopkgtest (2.20) unstable; urgency=medium
Improvements:
* Add "Test" argument/member for a shell string command, instead of
specifying a path to a test executable. Not currently supported by Debian
parser.
* Convert doc/README.* to Markdown, so that it's easy to format them as PDF
or HTML, e. g. with pandoc.
* If the --user option is given or the testbed specifies a normal user, pass
this to --setup-commands through $ADT_NORMAL_USER.
* Allow --setup-commands which would ordinarily reboot the testbed to
suppress this by creating a stamp file in /run. This is useful for
commands which run processes that aren't started at boot.
* Default to C.UTF-8 locale instead of C. This is supported in Debian >= 7
(wheezy) and Ubuntu >= 12.04 LTS, and much closer to reality than C.
* If the testbed does not have root (null runner or schroots without
root-user/group) or a writable dpkg database (as on Ubuntu system images),
fall back to unpacking test dependencies into a temporary directory and
set *_PATH environment variables accordingly. This will make a limited
number of test dependencies work in these test beds.
Bug fixes:
* Don't include "adt-satdep" dummy package in <test>-packages output files.
* adt-buildvm-ubuntu-cloud: Use host timezone as default for the VM, to
avoid TZ changes during boot when running tests. Thanks Jean-Baptiste
Lallement!
* Run tests with specified locale also when they run as user.
* Fix test failure with Ubuntu's pkgbinarymangler installed.
-- Martin Pitt <mpitt@debian.org> Tue, 24 Jun 2014 16:34:36 +0200
autopkgtest (2.19) unstable; urgency=medium
Improvements:
* Support new argument type --changes (implied if file name ends with
".changes"). This behaves as if you specified all debs and the dsc from
the given binary changes file and implies --no-built-binaries. I. e. this
is the right thing to test a local package that you just built.
(Closes: #738552)
Bug fixes:
* schroot: Always advertise "revert" capability, as it implements revert
with simply close()/open().
* adt-run: Move warning about missing root on testbed into the correct
place.
* Install build-essential and build dependencies in one apt run, which is
slightly faster.
* Explicity specify UTF-8 encoding for reading/writing Debian control files,
to fix UnicodeDecodeError under C locale.
* Determine testpkg-version also for --built-tree tests.
* schroot: Refuse to work with non-ephemeral schroots, i. e. "directory"
type schroots without union-type. Point this out in the manpage, too.
(Closes: #751574)
* schroot: Verify that /proc is mounted, and abort with a proper error
message if not. (Closes: #751575)
* adt-buildvm-ubuntu-cloud: Don't start cloud-config with a leading newline,
not yet supported in Ubuntu 12.04's cloud-init. Thanks Jean-Baptiste
Lallement! (LP: #1330950)
* adt-buildvm-ubuntu-cloud: Don't use write_files cloud-init command, not
yet supported in Ubuntu 12.04's cloud-init. Replace with runcmd echos.
* adt-buildvm-ubuntu-cloud: Purge cloud-init and shutdown after cloud-init
is done, not while it's still running.
* adt-buildvm-ubuntu-cloud: Create upstart job for ttyS0 console unless it
already exists, for compatibility with Ubuntu 12.04.
* adt-virt-qemu: Use python3 or python for eofcat depending on which one is
available. Fixes operation with older Ubuntu versions which don't yet
install Python 3 by default.
Code cleanup:
* Unify logging functions into lib/adtlog.py, make their API easier and more
consistent, and use them in adt-run and all adt-virt-*.
* Move test control parsing and keeping data into lib/testdesc.py. This
eases factorization, abstraction for future support of other source
package formats such as click, and testing. Add new tests/testdesc
unittests. This also drops the "tree0t-" like prefixes from test names in
the results and the output file names.
* Don't read --setup-commands files multiple times.
-- Martin Pitt <mpitt@debian.org> Wed, 18 Jun 2014 10:07:46 +0200
autopkgtest (2.18) unstable; urgency=medium
Improvements:
* adt-run: When running from git, show the current SHA and commit summary of
HEAD.
Bug fixes:
* tests: Fix race in cleaning up ChrootRunner mounts.
* adt-run: If apt-get update fails on publishing built binaries, retry after
15 seconds.
* VirtSubproc.cleanup(): Avoid recursion if something in hook_cleanup()
bombs.
* Fix --shell to also work with --output-dir. (LP: #1317078)
Code cleanup:
* VirtSubproc: Document and cleanup execute*() functions.
* Some test robustifications, to avoid making too many assumptions about
debug output.
* adt-run: Eliminate usage of testbed "execute" command, which is too
complicated and limiting. Use "print-execute-command" directly instead.
* Drop "execute" command.
* adt-run: Unify Testbed.command() and commandr() methods and make them
stricter.
* Add prefixes to all temporary directories.
* Remove autopkgtest-xenlvm. It has been orphaned since ~ 2008, few to no
current users, and no maintainer. (Closes: #508660, #680122)
* Simplify build system.
* Drop concept of "shstring". All runners must provide an auxverb now,
possibly with a wrapper and quoting by themselves if their implementation
can only deal with shell commands. This avoids having to tell apart these
two cases in adt-run, clarifies the documentation, and greatly simplifies
the code. (Closes: #750544)
* qemu: Use low-level IO in runcmd. This avoids all the Python overhead and
buffering and is less prone to bytes vs. string issues.
* qemu: Fix text vs. binary confusion in reading and copying /etc/timezone.
* schroot: Call schroot command with -q, to avoid stderr spew if the schroot
has "message-verbosity=verbose".
* Port to Python 3.
-- Martin Pitt <mpitt@debian.org> Thu, 12 Jun 2014 07:48:58 +0200
autopkgtest (2.17.1) unstable; urgency=medium
* Make $ADTTMP readable and accessible to other users, for tests which use
other users through "su" and similar.
* adt-virt-qemu: Set $HOME for root also after rebooting.
* tests/adt-run: Force stdout to UTF-8 to see proper failures even in
non-UTF-8 environments, instead of crashing with UnicodeEncodeError.
* adt-run: Flush input to the stdout/err cat processes and give them some
time to catch up after the end of the test, to avoid losing the last bits
of output. (Closes: #750343)
* Add missing build-essential and debhelper test dependencies.
* adt-run: Ensure the cleanup handler for the tests tree runs also if
copying up the tests tree fails. (Closes: #749655)
* Put back the LXC runner on Debian, so that folks with manual LXC container
setups can still use it.
* adt-build-lxc: Check for default networking in /etc/lxc/default.conf. If
it's "empty", abort with an error message that container networking needs
to be set up first. Until LXC gets fixed in Debian (#747914) you need to
manually set up a bridge, dnsmasq, and the default config.
* adt-build-lxc: Support specifying $ADT_APT_PROXY. If apt-cacher-ng is
running locally, use that as a default.
-- Martin Pitt <mpitt@debian.org> Wed, 04 Jun 2014 15:03:30 +0200
autopkgtest (2.17) unstable; urgency=medium
New features:
* adt-buildvm-ubuntu-cloud, adt-setup-vm: If apt-cacher-ng is running
locally, use that as a default for --proxy/ADT_APT_PROXY.
* Add "reboot" testbed capability and implement it for QEMU (most other
runners don't support it conceptually). Reboot the testbed if the setup
commands affected boot relevant directories (/boot, /etc/init.d,
/etc/init/, or /{etc,lib}/systemd/system). (LP: #1324435)
Bug fixes:
* adt-setup-vm: Run the initial apt-get update without fetching
translations.
* Stop shipping the LXC runner and associated tools on Debian. It does not
work out of the box until Debian's LXC containers get proper networking by
default (see Debian #747914).
* adt-buildvm-ubuntu-cloud: Add LSB header to generated SysV init script to
avoid a warning from insserv.
* VirtSubproc: Fix generation of auxverb from shstring.
* Drop debhelper dependency, not necessary any more since 2.16.
-- Martin Pitt <mpitt@debian.org> Tue, 03 Jun 2014 11:49:32 +0200
autopkgtest (2.16.4) unstable; urgency=medium
* adt-build-lxc: Unset $http[s]_proxy for the post-creation apt-get update
if it refers to localhost.
* adt-build-lxc: Fix cache cleaning for upgrades.
-- Martin Pitt <mpitt@debian.org> Thu, 22 May 2014 17:52:46 +0200
autopkgtest (2.16.3) unstable; urgency=medium
* adt-buildvm-ubuntu-cloud: Explicitly use virtio ethernet device, as the
default one is horribly slow with older QEMU versions.
* adt-virt-qemu: Add -c/--cpus option for running VMs with multiple CPUs.
* adt-run: Retry writing to stderr a few times on EAGAIN.
* adt-run: If apt-get update fails, retry after 15 seconds. This should
work around the frequent "hash sum mismatch" race condition.
(LP: #1319416)
* adt-buildvm-ubuntu-cloud: Configure dpkg to use unsafe io, to speed up
tests which run on hard disk backed overlays.
* Simplify the pipelining of test stdout/err, and stop using explicit pipes
and the "downtmp-shared-fifo" capability. This provides live output for
all runners, including qemu. (LP: #1320194)
* Drop obsolete downtmp-shared-fifo capability from all runners.
* Fix "Operation not permitted" errors on cleaning up empty stdout/err
result files with shared downtmp runners.
* adt-buildvm-ubuntu-cloud: Refine init.d script to only launch a shell on
"start".
* adt-build-lxc: Add optional third argument for specifying a non-native
architecture.
-- Martin Pitt <mpitt@debian.org> Thu, 22 May 2014 15:52:36 +0200
autopkgtest (2.16.2) unstable; urgency=medium
* Support ":native" dependencies.
* Add LXC runner test case for running as different user.
* Add QEMU runner test case for performance and integrity of copying (1000
files with 100 kB each).
* copyup/down: Clean up cp process on timeout, to fix eternal hang.
* adt-virt-qemu: Disable shared downtmp. For bigger source trees 9p in
current QEMU is way too slow (in the magnitude of 2 MB/s, and max'ing out
CPU usage), so we can't use it directly as a normal file system.
* Revert "Don't extract/build source packages in shared downtmp", due to
above change. This stops penalizing other runners with extra source tree
copies.
* VirtSubproc: Clean up auxverb processes on timeout.
* adt-run: Stop testbed on TERM and QUIT signals, to avoid leaving stale
schroot/qemu/LXC processes around when e. g. stopping a job from Jenkins.
* adt-virt-qemu: Fix runcmd to make the command's stdin actually look and
behave like a pipe, instead of reading directly from the "stdin" file. The
latter leads to commands exiting prematurely when hitting the file's EOF.
(LP: #1317358)
* Convert one of the QEMU tests from source tree to dsc, to cover that case
as well.
* Add test case for QEMU with --apt-source (using libpng).
* adt-virt-qemu: Create eofcat in /bin instead of the shared /autopkgtest
mount, as running it from the latter again triggers the "invalid numerical
value" bug with 9p from older QEMU versions.
* adt-buildvm-ubuntu-cloud: Purge some unnecessary services to speed up boot
time a bit.
* @builddeps@ now includes build-essential, not just make. (LP: #1317357)
* Make -s/--shell-fail start a shell on failed builds as well.
(LP: #1317055)
-- Martin Pitt <mpitt@debian.org> Fri, 09 May 2014 10:32:27 +0200
autopkgtest (2.16.1) unstable; urgency=medium
* adt-buildvm-ubuntu-cloud: Configure vmalloc=512M on i386 for the udisks2
autopkgtest.
* adt-buildvm-ubuntu-cloud: Disable downloading of package translations.
* Create testpkg-version and testbed-packages before starting the builds, to
also have them when builds fail.
* Fix VirtSubproc.copyup_shareddir() for testbed paths which are not already
in the shared downtmp.
* When cleaning up a temporary testbed path fails with a permission error,
clean it in the testbed (where we usually have root privileges). This
avoids lots of "ignored OSError" spam with the schroot runner.
* Stop assuming that we can chown files in the shared downtmp, it's not true
with QEMU's 9p file system. Fall back to chmod'ing to world-writable files
as with 9p there is no other way to implement this.
* Simplify source tree/package extraction logic.
* adt-run: Don't extract/build source packages in shared downtmp, to avoid
permission/ownership problems with limited implementations like 9p.
* adt-virt-qemu: Re-enable shared downtmp, now that operation with different
UIDs is fixed.
* Don't create $ADTTMP in shared downtmp to avoid permission/ownership
problems with limited implementations like 9p.
* adt-virt-qemu: Fix exception if workdir is not currently set.
* adt-virt-qemu: Increase timeout for login prompt from 2 to 5 minutes, for
slow VMs or machines under heavy load.
* Improve error handling on copy timeouts.
* adt-virt-qemu: Remove overlay file as early as possible, to avoid leaking
large files in error conditions. Let QEMU run with the deleted inode.
* Don't run apt-get and setup commands with sending output to /dev/stdout.
When redirecting adt-run's output directly into a file this causes a
seek to start and thus partially overwriting the output file. This also
puts the apt-get output back to stdout as it used to be before 2.15.
(Closes: #747041)
-- Martin Pitt <mpitt@debian.org> Tue, 06 May 2014 13:25:21 +0200
autopkgtest (2.16) unstable; urgency=medium
* adt-buildvm-ubuntu-cloud: Use "-monitor null" instead of "-monitor none",
as the latter does not work with older Qemu versions.
* adt-virt-qemu: Don't call qemu-img with -q option, it doesn't exist in
older Qemu versions yet. Redirect stdout instead.
* tools/adt-setup-vm: Disable downloading of package translations to save
some bandwidth. Thanks Jean-Baptiste Lallement.
* adt-virt-qemu: Fix race condition that caused a ValueError when the exit
code file was not written yet.
* adt-virt-qemu: Automatically detect a normal user to run tests as, unless
-u is given. This works similarly to -lxc.
* Add tests for adt-virt-user with non-default users.
* adt-virt-qemu: Disable shared downtmp for now, it breaks on older Qemu
versions and the current setup does not work with different UIDs in the
testbed.
* adt-virt-qemu: Use file locks for host-side ssh port forwards to avoid
race condition.
* adt-run: Drop usage of dh_listpackages, it needs debhelper which is an
undeclared (and also unwanted) dependency. Parse debian/control directly
and make use of our existing arch tag resolution. (LP: #1312276)
* adt-virt-qemu: Copy host's timezone into VM to avoid time zone skew when
copying files.
* adt-virt-qemu: Show determined normal user instead of <user> in ssh
message, to get a fully copy&pasteable command.
* adt-virt-qemu: Ensure tests which run as root have $HOME set.
* Fix --proposed option to also apply to sources.list.d/* lists and to
multiple sources. (LP: #1313278)
* adt-buildvm-ubuntu-cloud: Install haveged, to avoid failing tests due to
running out of entropy.
* adt-virt-qemu: Add --qemu-options for passing additional options to QEMU.
Thanks Diogo Matsubara!
-- Martin Pitt <mpitt@debian.org> Sun, 27 Apr 2014 22:37:15 +0200
autopkgtest (2.15) unstable; urgency=medium
* Fix --apt-source mode to download the source with apt-get's
"--only-source" option, to actually get what we asked for.
* Add missing python3 build dependency for tests/adt-run. Fixes FTBFS of
backports.
* adt-buildvm-ubuntu-cloud: Add options to pass custom metadata/userdata.
Thanks Diogo Matsubara.
* Replace pbuilder-satisfydepends-classic with parsing and satisfying build
and test dependencies with libdpkg-perl and "apt-get -f install". This
gets rid of the pbuilder dependency and some nasty hacks like the
--internal-chrootexec script, and allows us to be more flexible such as
also supporting Recommends: installation. (LP: #1205110)
* Fix "specifiy" typo in error message. Thanks Jelmer Vernooij.
(Closes: #745413)
* adt-build-lxc: Stop using the -F template option to flush the cache as it
is not available in the debian template. Remove caches manually instead.
(Closes: #745415)
* adt-buildvm-ubuntu-cloud: Fall back to latest stable if there is no
development series.
* Add "needs-recommends" restriction for installation of recommended
packages for the test dependencies. This does not affect build
dependencies. (Closes: #708963)
-- Martin Pitt <mpitt@debian.org> Tue, 22 Apr 2014 09:10:40 +0200
autopkgtest (2.14.1) unstable; urgency=medium
* tools/adt-buildvm-ubuntu-cloud: Enable ssh login with passwords.
-- Martin Pitt <mpitt@debian.org> Wed, 09 Apr 2014 17:15:29 +0200
autopkgtest (2.14) unstable; urgency=medium
* lxc: Greatly simplify bind mounting of shared tmp dir using the
lxc-start -s option.
* adt-virt-qemu: Forward VM's ssh port 22 to the first free localhost port
starting from 10022. When finding one, suggest connecting to the VM with
an appropriate ssh command on --shell.
-- Martin Pitt <mpitt@debian.org> Wed, 09 Apr 2014 17:06:44 +0200
autopkgtest (2.13.1) unstable; urgency=medium
* Fix "--build-tree" typo in error message, and also add the missing
--unbuilt-tree. (Closes: #743427)
* lxc: Enable live output in clone mode.
-- Martin Pitt <mpitt@debian.org> Tue, 08 Apr 2014 12:18:00 +0200
autopkgtest (2.13) unstable; urgency=medium
* Split package/version list that got introduced in 2.10: Introduce a new
output file "testbed-packages" with the packages and versions of the
pristine testbed, and filter them out of "<testname>-packages", so that
the latter only contains the packages and versions that are specific to
that test. This is generally more useful, and how debci does/wants it.
-- Martin Pitt <mpitt@debian.org> Tue, 01 Apr 2014 14:43:12 +0100
autopkgtest (2.12) unstable; urgency=medium
[ Martin Pitt ]
New features:
* Add new options -s/--shell-fail for running a shell in the testbed after
every failed test, and --shell for running a shell in the testbed after
every test. This should make debugging tests or regressions quite a bit
simpler. This actually spawns a shell for the null, chroot, schroot, and
lxc runners, and shows how to login to the VM for qemu (this will
hopefully be improved in the future, but at least makes debugging possible
for now).
Bug fixes:
* adt-build-lxc: Fix apt proxy setting for ubuntu template; use $HTTP_PROXY,
not $APT_PROXY.
* Make PEP-8 failures non-fatal during package build. They often fail in
backports to old releases, and running them before releasing a new package
is sufficient.
* Filter out comment lines from control lines, as python-debian doesn't
properly do that (Debian #743174). Fixes lintian autopkgtest.
(LP: #1300031)
[ Antonio Terceiro ]
* adt-virt-schroot: Add new option -s/--session-id for specifying a custom
schroot session id. This is useful for debugging test suites that go crazy
on ci.debian.net, so you can `schroot --list --all-sessions` and see which
sessions are still open. (Closes: #742969)
-- Martin Pitt <mpitt@debian.org> Mon, 31 Mar 2014 11:45:13 +0200
autopkgtest (2.11) unstable; urgency=medium
* Add tools/adt-setup-vm: Setup script for vmdebootstrap (and potentially
others) to start a root shell on tty1, set up networking for eth0, and
enable deb-src apt sources.
* adt-virt-qemu.1: Describe how to create a suitable Debian VM with
vmdebootstrap.
* doc/README.package-tests: Point out to use "build-needed" with
consideration.
* Make installation of packages/dependencies print a warning instead of
failing immediately when root is not available on the testbed. This allows
tests to be run with the "null" runner locally as user with some
restrictions. Check if dpkg-source is available before installing
dpkg-dev, to avoid the warning in that simple case. (Closes: #742242)
* Fix ugly error message if a package does not have a debian/tests/
directory. Properly fail with code 8 and "SKIP no tests in this package".
* Clean up temporary files in NullRunner tests.
-- Martin Pitt <mpitt@debian.org> Fri, 21 Mar 2014 09:36:25 +0100
autopkgtest (2.10) unstable; urgency=medium
* Record name and version of tested package in log and in
output-dir/testpkg-version. (first part of LP #1292431)
* Record installed packages and their versions for each test, in
<output-dir>/<test>-packages. (second half of LP: #1292431)
* Drop adt-testreport-*, adt-openbugs-*: These have been marked deprecated
for a while, haven't been used or maintained in many years, and are
superseded by jenkins/debci. (Closes: #695974)
-- Martin Pitt <mpitt@debian.org> Tue, 18 Mar 2014 16:12:24 +0100
autopkgtest (2.9.2) unstable; urgency=medium
* VirtSubproc.py, copydown_shareddir(): Fix "src and dest are the same file"
error when file is already in the shared downtmp.
* VirtSubproc.py, copydown_shareddir(): Remove already existing target
directory to avoid copying an updated directory into the old one.
* adt-run: Show timestamps at the beginning, start of preparation (i. e.
mostly installing dependencies), and start and end of tests.
(LP: #1290760)
* Run NullRunnerNoRoot tests during package build. Add python-debian build
dependency for that.
-- Martin Pitt <mpitt@debian.org> Wed, 12 Mar 2014 08:13:50 +0100
autopkgtest (2.9.1) unstable; urgency=medium
[ Martin Pitt ]
* doc/README.package-tests: Clarify syntax of test Depends:, and point to
the relevant Debian Policy specification.
* adt-build-lxc: Fall back to assuming /var/lib/lxc/ as container directory
if lxc-config does not exist. It was introduced in 1.0, but Debian
unstable still has 0.9. (Closes: #740437)
* tests: Extend test_artifacts() to multiple tests writing artifacts, also
with overwriting existing files and writing into subdirs.
* VirtSubproc: Fix copyup_shareddir() to get along with existing
directories. (LP: #1288668)
* settings.make: Switch default prefix to /usr, as our scripts hardcode that
for finding VirtSubproc.py and this is a native package. (LP: #1287264)
[ Steve Langasek ]
* Fix adt-virt-schroot to correctly return root-on-testbed when we're
running adt-run as root. (Closes: #740868)
-- Martin Pitt <mpitt@debian.org> Thu, 06 Mar 2014 13:44:07 +0100
autopkgtest (2.9) unstable; urgency=low
New features:
* Add "downtmp-host=<path>" testbed capability, for runners which can set up
a shared directory between host and testbed. This is used by copyupdown to
more efficiently copy files back and forth, and in many/most cases, don't
explicitly copy anything at all.
* Introduce a new testbed capability "downtmp-shared-fifo" that declares
that testbed and the host can use a FIFO in the shared downtmp for
communication. Use this to generalize live test output to all runners
which declare that, not just -null.
* Convert null, chroot, schroot, lxc, and qemu runners to use a shared
downtmp dir. Note that qemu does not support FIFO (through the 9p file
system), so that one does not get live test output.
* Don't define $TMPDIR for tests any more. Having $TMPDIR in the shared dir
isn't efficient and even breaks some tests (as they might not be able to
put sockets etc. into it), and it's an artificial difference to the
default system behaviour of just using /tmp. The documentation already was
changed a long time ago to only document $ADTTMP as a scratch directory
for tests.
* Add test restrictions "isolation-container" and "isolation-machine", and
corresponding testbed capabilities. Tests can use that to declare that
they want to start services or open ports (i. e. a simple chroot/schroot
is insufficient) or access hardware, reboot, and interact the kernel
(where even a container is insufficient), and will be skipped instead of
failing when they run in a virtualization server which does not provide
enough isolation.
* Add manpage for adt-build-lxc script.
* Ship adt-build-lxc script and its manpage in the package.
Documentation updates:
* doc/README.package-tests: Some stylistic updates, and add section headers.
* adt-virt-lxc.1: Point to, and show how to use adt-build-lxc.
* Add doc/README.running-tests: Overview of how to run adt-run, most common
scenarios, and available virtualization servers with their pros/cons.
Bug fixes:
* tests: Copy tests/home/ into a temporary dir and set $HOME to that, to
avoid cluttering the source dir.
* Don't produce empty stderr/stdout files with --output-dir. (LP: #1282866)
* adt-buildvm-ubuntu-cloud: Install linux-generic, to get the full kernel
(needed for e. g. udisks2 to get scsi_debug).
* tests: Add a broken symlink to testpkg, to ensure that copying trees
around gets along with those.
* adt-run: Always use fakeroot with adt-virt-qemu, to work around chown
failing on 9p.
* xen/initscript: Always source /lib/lsb/init-functions. (Thanks lintian)
* tests/adt-run: Increase timeout in NullRunner.test_timeout_long_build to
avoid failure on slow architectures.
* adt-build-lxc: Properly wait for finished container boot instead of a
static 10 second sleep.
* adt-build-lxc: Only flush the cache when updating an existing container.
-- Martin Pitt <mpitt@debian.org> Thu, 27 Feb 2014 11:23:32 +0100
autopkgtest (2.8.1) unstable; urgency=medium
* Use the install timeout instead of the short one for
--setup-commands/--apt-upgrade.
* Fix --apt-upgrade to not hang on dpkg conffile prompts.
* Use ./tests/home/ as $HOME during tests, and add a gpg key to it so that
we don't have to generate one (which often hangs due to lack of entropy).
* Make the test suite run as user, skip tests which require root (all
ChrootRunner and most NullRunner tests).
-- Martin Pitt <mpitt@debian.org> Fri, 21 Feb 2014 17:15:41 -0800
autopkgtest (2.8) unstable; urgency=medium
* Add adt-virt-qemu: Virtualization server using QEMU. This provides even
more isolation than containers and thus is able to run tests which
interact with the kernel. See the manpage for the requirements that VMs
need to satisfy, and how to use it. (Closes: #719215)
* Add adt-buildvm-ubuntu-cloud: This tool downloads an Ubuntu cloud image
and configures it for autopkgtest. See its manpage for how to use it.
* adt-run: Stop using a $TMPDIR for package builds. It's unnecessary
overhead, and causes problems with dpkg-deb if it is on e. g. a 9p file
system.
* Allow the virt-server argument to be given without the common "adt-virt-"
prefix, for brevity. Update the manpage accordingly, and also move
virt-server into its own heading instead of burying it in the middle of
"other options".
* tests: Show stderr output if adt-run unexpectedly fails.
* Fix endless recursion when an error happens during resetting apt.
* tests: Fix skip message if no container is given; it does not need to be
an Ubuntu cloud container any more.
* Add tools/adt-build-lxc: Script to create or upgrade a Debian/Ubuntu
container, suitable as a daily cron (or Jenkins) job. Not shipped in
package for now.
* Allow --setup-commands to be given multiple times.
* Add -U/--apt-upgrade option to run apt-get update/dist-upgrade before
running the test.
* Add --apt-pocket <pocket> option to create an additional apt source for
release-pocket.
-- Martin Pitt <mpitt@debian.org> Mon, 17 Feb 2014 21:00:58 -0800
autopkgtest (2.7.2) unstable; urgency=medium
* debian/copyright, CREDITS: Bump copyright year.
* Eliminate lib/Autopkgtest.py, use pipes.quote() instead of shellquote_*().
* Drop doc/README.schroot-setup. Using LVM for schroot overlays is not
recommended as it is too slow and also too hard to set up. You should
rather use overlays or unpacked tarballs on tmpfs. Adjust
adt-virt-schroot.1 to point to mk-sbuild(1) instead.
* CREDITS: Remove license information, it does not belong there and we don't
need that any more as debian/copyright file.
* adt-testreport-*, adt-openbugs-*: Add warning that these scripts are
unmaintained and deprecated in favour of http://ci.debian.net, debci,
and/or jenkins. If you still use them, please mail
autopkgtest-devel@lists.alioth.debian.org!
* README.package-tests: Document that @builddeps@ also installs make.
(Closes: #738129)
* Add Suggests: for schroot and lxc, and explain those in the package
description.
* NullRunner.test_timeout_long_test: Increase (unrelated) build timeout from
3 to 20 s, to cope with the bit of overhead that dpkg-buildpackage
introduced.
-- Martin Pitt <mpitt@debian.org> Sun, 09 Feb 2014 19:31:34 +0100
autopkgtest (2.7.1) unstable; urgency=medium
* VirtSubproc.py, command(): Intercept/retry on EAGAIN.
* runner/adt-run: Robustify cleanup of empty "binaries" output directory, it
does not always work in __del__().
* adt-run: Replace direct invocation of "debian/rules build" with
"dpkg-buildpackage -us -uc -b". dpkg-buildpackage is the de-facto
interface these days (also on the buildds), and does additional things now
such as passing build flags or cleaning the package. This also implies
dpkg-source --before build to apply patches, so remove the explicit call
to that again. (Closes: #737632)
* adt-run: If all tests get skipped, but there are some tests, don't claim
that there are none. (Closes: #737242)
* adt-run: When expanding @builddeps@, add "make" as test almost always need
it to call "make installcheck" or similar.
* Print package version as first adt-run message ("@devel@" when running out
of source tree).
* Turn VirtSubproc.Timeout into a proper exception class (RuntimeError).
* Make VirtSubproc.bomb() useful outside the mainloop, so that we can
use it in utility functions that are used outside of runners.
* VirtSubproc: Add a "timeout" context manager which plumbs timeout_start(),
timeout_end() and bomb() (if an exit message is given) or a Timeout
exception (otherwise) together in the right way, for convenience.
-- Martin Pitt <mpitt@debian.org> Fri, 07 Feb 2014 14:52:42 +0100
autopkgtest (2.7) unstable; urgency=medium
* adt-virt-lxc: Drop all the file-based checks for container bootup, and
replace with "lxc-attach runlevel" to wait until the container booted to a
numeric runlevel. This greatly simplifies the logic and drops the
cloud-init requirement so that this runner is now suitable for Debian or
debootstrap-based Ubuntu containers. (LP: #1273725)
* adt-virt-lxc.1: Drop --gain-root in notes/example. It's unnecessary
(adt-run will install fakeroot if missing) and confusing (as it's not
related to LXC specifically and otherwise not really used/useful).
* adt-virt-lxc.1: Add example how to create a Debian container, and some
cleanup of obsolete commentary.
* adt-virt-lxc: Add -s/--sudo option to run lxc-* commands through sudo; use
this option if you run adt-run as normal user, but need to run the
container itself as root (if you use LXC system-level containers).
This drops the hardcoded sudo commands and thus the dependency on sudo,
which is more palatable for Debian. (LP: #1273977)
* adt-virt-lxc: Add -e shortcut for --ephemeral, as this is an option which
you pretty much always want.
* adt-virt-lxc.1: Move more important options to the top.
* adt-virt-lxc: Stop hardcoding the "ubuntu" suggested normal user; instead,
call "getent passwd" to detect the first user with uid >= 500. Don't
advertise suggested-normal-user if none exists.
* adt-run: Rearrange finalizing options and reading capabilities to happen
after testbed opening. That allows the testbed to determine its full
capablities in its open hook.
* adt-run: Call dpkg-source --before-build for --unbuilt-tree arguments, to
ensure that patches are applied for "3.0 (quilt)" source trees. This is
useful to test *-buildpackage source trees where patches don't get
applied. (LP: #1212208)
-- Martin Pitt <mpitt@debian.org> Fri, 31 Jan 2014 11:14:32 +0100
autopkgtest (2.6.1) unstable; urgency=medium
* adt-virt-lxc: Call lxc-config through sudo as well like all the other LXC
commands. This fixes running adt-run as user with the LXC runner.
* adt-run: For copydown(), always chown the testbed files to the non-root
user (if available). This fixes a "Permission denied" error with the
schroot or LXC runners and --unbuilt-tree if the source tree has tight
permissions. (LP: #1266811)
* Adjust LxcRunner.test_tree_built_binaries to also work with current apt
(similar to commit 5798b7f for the schroot runner).
* adt-virt-lxc: Call "sudo test" and "sudo readlink" instead of os.lexists()
and os.readlink() as recent LXC now makes the default container dir
/var/lib/lxc not readably by non-users. Fixes running adt-virt-lxc/adt-run
as user. (LP: #1266809)
* Add test for --binary with --built-tree.
* adt-run.1: Clarify and fix some wrong and misleading documentation what
happens with debs produced by source packages and specified with --binary.
(LP: #1175557)
-- Martin Pitt <mpitt@debian.org> Wed, 29 Jan 2014 06:53:16 +0100
autopkgtest (2.6) unstable; urgency=medium
New features:
* Add --apt-source option as an alternative for --source, implied if
argument is a valid package name. It calls "apt-get source" in the testbed
instead of using a .dsc from the host, which for the common case of
testing packages in the acual archive avoids having to manually download
the source and then copying it into the testbed. This simplifies the
command line for running tests for a package in the archive to
"adt-run mypkgname --- adt-virt-[...]".
* Add --setup-commands option to run things like "apt-get update" or adding
apt sources after opening the testbed.
Bug fixes:
* adt-virt-lxc: Stop assuming that containers live in /var/lib/lxc/; ask
lxc-config about the root path instead.
* Only reset the test bed after the build stage if builds actually happened.
* Reset the test bed after running a test group, to avoid an unnecessary
setup if there is just one test.
* Don't put an empty "binaries" directory into the output directory.
New test cases:
* --timeout handling.
-- Martin Pitt <mpitt@debian.org> Thu, 23 Jan 2014 17:19:11 +0100
autopkgtest (2.5.6) unstable; urgency=medium
* Adjust "su" calls to explicitly specify /bin/sh as shell, as recent
base-passwd disables them now for system users. (Closes: #734740)
-- Martin Pitt <mpitt@debian.org> Thu, 09 Jan 2014 15:21:44 +0100
autopkgtest (2.5.5) unstable; urgency=medium
* Test that the schroot runner installs packages with --user, and that it
runs the tests as root with --user if the test has a "needs-root"
restriction. (Related to #728304)
* adt-virt-schroot: Add suggested-normal-user capability to the calling user
(unless that's root), so that tests are run as user by default.
(Closes: #728304)
* Add support for virtual "@builddeps@" test dependency, which will be
replaced with the package's B-D and B-D-I. Document in
doc/README.package-tests. (Closes: #720458)
-- Martin Pitt <mpitt@debian.org> Wed, 25 Dec 2013 21:12:38 +0100
autopkgtest (2.5.4) unstable; urgency=medium
* Only clean up binary if we built them ourselves. adt-run previously
removed debs specified with --binary.
-- Martin Pitt <mpitt@debian.org> Thu, 19 Dec 2013 16:18:03 +0100
autopkgtest (2.5.3) unstable; urgency=low
* Drop hosts/ and {onepackage,ubuntu}-config example files; these scripts
haven't been used nor maintained in years, and we won't need them anytime
soon. Ubuntu does, and Debian plans to drive autopkgtest from britney
and/or Jenkins, not from cron.
* Move adt-testreport-* scripts and manpages into autopkgtest-xenlvm
package, as they require the xen runner.
* tests/run-parallel: Immediately stop on pep8/pyflakes errors.
* Adjust SchrootRunner.test_tree_built_binaries test to also work with
current apt.
* Always write UTF-8 to stdout and summary stream, to avoid
UnicodeEncodeError crash when running in a C locale. (LP: #1259529)
* tests/pyflakes: Always use pyflakes, not pyflakes3, as the latter doesn't
get along with non-ASCII strings when running under a non-UTF-8 locale (as
in sbuild).
-- Martin Pitt <mpitt@debian.org> Wed, 11 Dec 2013 08:45:07 +0100
autopkgtest (2.5.2) unstable; urgency=low
* virt-subproc/adt-virt-lxc: Fix PEP-8 error.
* Explicitly kill the logging tee processes, for backwards compatibility
with Python 2.6.
* Avoid assertNotRegex() in test suite as it isn't yet available in Python
3.1.
* Skip dependency version check instead of crashing if python-debian does
not provide NativeVersion() (for wheezy/lucid).
* Fix some minor PEP-8 errors.
-- Martin Pitt <mpitt@debian.org> Fri, 29 Nov 2013 18:07:09 +0100
autopkgtest (2.5.1) unstable; urgency=low
* adt-virt-lxc: Drop some dead code.
* Fix ownership of test tree with --user option.
-- Martin Pitt <mpitt@debian.org> Tue, 26 Nov 2013 10:43:30 +0100
autopkgtest (2.5) unstable; urgency=low
Behaviour changes:
* Drop --output-dir option. It has never really been useful as it only works
for paths in the testbed, has a confusing semantics, is redundant with
--tmp-dir, and currently even crashes adt-run. (Closes: #729790)
* Rename --tmp-dir option to --output-dir, as its main purpose is really to
collect test artifacts. Keep --tmp-dir alias for backwards compatibility.
* Drop --override-control option. It complicates the code too much for its
very limited utility, and it was not even documented in the manpage.
* Drop --paths-testbed (and thus also --paths-host) options. There is no
use case for them.
* Add short options for common command line options: -B for
--no-built-binaries, -o for --output-dir, -l for --log-file,
-u for --user.
* Clean up uninteresting files from --output-dir directory.
* Tests which want to create additional artifacts can now put them into the
$ADT_ARTIFACTS directory. When using the --output-dir option, they will be
copied into <outputdir>/artifacts/. Document this new feature in
README.package-tests. (LP: #1137763)
Packaging changes:
* Drop obsolete autodebtest Conflicts/Replaces.
* Update copyright years.
* Bump Standards-Version to 3.9.5. No changes necessary.
* CREDITS: Add myself.
* Makefile: Support $DESTDIR, like automake.
* Adjust sharedir* defaults in settings.make to what we actually want, and
drop their overrides in debian/rules
* Move debian/rules to using dh.
* Add ./run-from-checkout script to run adt-run from the git checkout or
source package. Change tests/adt-run to use it.
* Add tests/run-parallel to run tests for different runners in parallel.
Bug fixes:
* Fix OSError crash if --output-dir/--tmp-dir does not exist.
(Closes: #729791)
* Pass line number to Test constructor argument, to be able to report proper
errors instead of crashing. (side issue in #698551)
* Fix exit code for "Unsupported" error.
* When encountering an unsupported test, report only this test as skipped,
not all the others in the same "Tests:" stanza.
* README.package-tests: Test names must not contain '/'. (Closes: #698551)
* Create manpage for adt-virt-schroot. (first half of #695974)
* Fix "su: must be run from a terminal" failure when running as user and
testbed doesn't provide root-on-testbed. (Closes: #648148)
* Add bandaid to avoid mixing order of stdout and stderr in the log file
when reporting results.
Code cleanup:
* Simplify logging by dropping the explicit functions for writing to stderr
plus log, and instead set up pipes so that the whole stdout/stderr will be
tee'd into the logfile.
* Replace the usage of the AutoFile classes (which are underdocumented,
magic, and hard to understand) with a more explicit and much simpler
TestbedPath class.
* Stop installing the redundant /etc/apt/apt.conf.d/90autopkgtest into
testbeds, and simplify invocation of apt-get.
New test cases:
* Access /dev/std{out,err} in a non-root test, like the "mafft" autopkgtest
does.
* --log-file test cases for chroot and schroot runners.
* schroot and LXC runner test cases for installing built binaries.
* --output-dir in schroot runner with complete package build.
* Recommends do not get installed by default.
* Test case with '/' in the name.
* --user option for schroot and null runners.
* breaks-testbed restriction for all runners.
-- Martin Pitt <mpitt@debian.org> Mon, 25 Nov 2013 07:31:22 +0100
autopkgtest (2.4) unstable; urgency=low
* Add adt-virt-lxc test runner, many thanks to Robie Basak for this! This
runner provides "revert" and "revert-full-system" capabilities which is
useful for packages which have the "breaks-testbed" restriction and
multiple tests. For the time being this only works with the ubuntu-cloud
template; support for general debian/ubuntu containers requires an
lxc-wait mechanism ("did the container finish booting?") and getting along
with the different user setups (debian using "root", ubuntu using an
"ubuntu" user with sudo capabilities).
* Add tests for adt-virt-lxc.
* Code cleanup to slightly improve readability:
- Drop two-letter aliases for methods.
- Consistent usage of quotes.
- Drop orphaned/unnecessary globals.
- Consistent logging methods/object names, add some docstrings.
* Install fakeroot into testbed for "build-needed". Thanks Jean-Baptiste
Lallement! (Closes: #726714, LP: #1241456)
* Create testtmp directory with 0755 permissions to fix failure with tight
umasks. Thanks Arthur de Jong! (Closes: #728057)
* Allow test control Depends: to have a trailing comma. Thanks Jean-Baptiste
Lallement for the patch!
* Make test stdout re-appear in --log-file file for realtime output.
-- Martin Pitt <mpitt@debian.org> Mon, 28 Oct 2013 11:25:30 +0100
autopkgtest (2.3.8) unstable; urgency=low
* Skip ChrootRunner test if running under cowdancer, as chrooting in
cowdancer doesn't work.
* Fix endless bomb/stop loop if the virt runner fails and exits
unexpectedly.
* adt-virt-schroot: Add some debugging output of the schroot config.
* Fix OSError crash with real-time output when running adt-run as non-root
on the host, and the runner bind-mounts /tmp (such as -schroot), in which
case the temporary runner dir isn't accessible to the host. This is a
quickfix, eventually we should make real-time output work properly in this
situation.
* Show stderr also for non-zero exit codes.
* Restrict live stdout/stderr to the null virt runner for now, as it does
not work properly with the schroot runner even if /tmp gets bind-mounted.
* Add tests for the schroot runner. Ad building a schroot would be too
expensive for a test, use an existing schroot if $ADT_TEST_SCHROOT is set,
otherwise skip the tests.
* Show stderr for all non-null runners with "allow-stderr".
-- Martin Pitt <mpitt@debian.org> Wed, 16 Oct 2013 14:55:39 +0200
autopkgtest (2.3.7) unstable; urgency=low
* tests/adt-run: Factorize a base test class with common functionality.
* lib/VirtSubproc.py, downtmp_mktemp(): Create temporary directory in the
target (which isn't the host for anything but the null runner), to fix the
schroot/chroot runners for directories.
* Only show stdout/stderr in realtime if tests run in the same file system
as the host, as otherwise we cannot create/use a named pipe. If not, fall
back to the old way of just showing the complete stdout/stderr after the
tests finished. (LP: #1235189)
* Add some test cases for adt-virt-chroot.
* Add new --timeout-copy option to make copy timeout configurable. Pass that
down to adt-virt-* via the environment ($ADT_VIRT_COPY_TIMEOUT).
(LP: #1200693)
* Fix tests to also work with Python 3.1.
* tests/testpkg: Go back to compat level 7 so that this also works on older
Debian/Ubuntu releases.
-- Martin Pitt <mpitt@debian.org> Tue, 08 Oct 2013 18:55:33 +0200
autopkgtest (2.3.6) unstable; urgency=low
* Always kill the tee children after a test finishes, to avoid race
condition when they get stuck in a read() call which doesn't return with
"no data".
* Fix pyflakes failure on older Debian/Ubuntu releases.
* Fix PEP-8 errors.
-- Martin Pitt <mpitt@debian.org> Thu, 26 Sep 2013 13:12:11 +0200
autopkgtest (2.3.5) unstable; urgency=low
* Don't show source_rules_command() "set -x" trace unless running with -d.
* Kill the tee child process if the testbed bombs out (e. g. due to a
timeout), to avoid hanging eternally. Add test case for --timeout-test
handling.
* Add test case for --summary option.
-- Martin Pitt <mpitt@debian.org> Wed, 25 Sep 2013 08:51:21 +0200
autopkgtest (2.3.4) unstable; urgency=low
* Add tests/testpkg/: Simple source package for testing autopkgtest.
* Add tests/adt-run: Automatic regression tests for adt-run, covering/using
the null runner.
* Add debian/tests: autopkgtest for autopkgtest, using tests/adt-run.
* Make topmost temporary directory group/world-readable and make $ADTTMP
have appropriate 1777 permissions so that users other than root can
actually use it. (Closes: #722458)
* Don't clip first stderr line to 35 characters in summary. (Side issue in
#722457)
* Don't show shell tracing of script that creates the temporary directories.
* Move unimportant messages to debug level 1, to not clutter up default
output so much.
* Drop unnecessary "trace: " from adt-run debug/progress lines.
* Show stdout/err of the running tests in realtime, which is much nicer for
watching. Don't split that realtime output, so that stderr messages appear
in the right context. Show separate stderr if and only if the allow-stderr
restriction is not set and there is stderr output. (Closes: #722457)
* For tests with "build-needed", actually run the tests in the built
directory, not in the original unbuilt tree. (Closes: #711209)
* Fix various unknown and unused symbols throughout the source, spotted by
pyflakes.
* Add tests/pyflakes: Run pyflakes over source and test code.
* Add tests/pep8: Run pep8 over source and test code.
* Support empty "Depends:" test control field, installing no dependencies in
that case.
* README.package-tests: Point out that you can use upper-case test names as
well. Update test_tree_tmp_dir() test to use these, to ensure it stays
working. (Closes: #711844)
* Some code cleanups:
- Don't rename modules on import.
- Format to be PEP-8 compliant.
- Rename first argument of methods to "self", as that's the wide
convention, gets rid of some single-letter variable names, and makes it
a bit easier to see which variables refer to foreign objects.
* Run tests/pep8 and tests/pyflakes during package build.
-- Martin Pitt <mpitt@debian.org> Mon, 23 Sep 2013 14:44:13 +0200
autopkgtest (2.3.3) unstable; urgency=low
* runner/adt-run: Drop "errors" keyword from decode() call to fix
compatibility with earlier Python versions. Thanks Christoph Berg.
* adt-run: Fail tests if they exit with nonzero if "allow-stderr"
restriction is set. Thanks Robie Basak! (LP: #1210503)
-- Martin Pitt <mpitt@debian.org> Mon, 09 Sep 2013 15:49:52 -0400
autopkgtest (2.3.2) unstable; urgency=low
* runner/adt-run: Fix "allow-stderr" restrictions to still report success,
so that this gets into the summary.log.
-- Martin Pitt <mpitt@debian.org> Fri, 26 Jul 2013 12:41:07 +0200
autopkgtest (2.3.1) unstable; urgency=low
* adt-run: Support older python-debian versions whose module was still
called "debian_bundle". (Closes: #717191)
* runner/adt-run: Correctly re-raise exception on some register failure
errors. Thanks Robie Basak!
* runner/adt-run: Short-circuit publishing if there are no registered built
binaries. This is the step that takes by far the longest time for short
tests, and thus speeds up test running significantly.
* runner/adt-run: Set DEBIAN_FRONTEND=noninteractive for installing build or
test dependencies, too. Thanks Robie Basak! (LP: #1204989)
-- Martin Pitt <mpitt@debian.org> Fri, 26 Jul 2013 08:02:35 +0200
autopkgtest (2.3) unstable; urgency=low
* runner/adt-run.1: Fix bad "affect modify" wording. (LP: #1199500)
* Drop hosts/chinstrap. We haven't actually used this in many years, it has
been replaced with https://launchpad.net/auto-package-testing, Jenkins,
and blocking migration to release until tests pass. (LP: #381210)
* Promote apt-utils from Recommends to Depends:, to avoid test failures due
to not finding apt-ftparchive. (LP: #1065874)
* Promote pbuilder from Recommends: to Depends:, as we always call
pbuilder-satisfydepends-classic. (LP: #1065874)
* runner/adt-run: Stop explicitly checking for $HOME (with broken error
message) when giving --gnupg-home, use os.path.expanduser() instead.
(LP: #1065873)
* runner/adt-run: Fix timeout --help output.
* runner/adt-run: Fix bomb() to clean up the testbed before removing it.
Afterwards (in cleanup()) we don't have a testbed object any more to run
commands in. (LP: #1157292)
* runner/adt-run: Fix UnicodeDecodeError crash if stderr contains non-ASCII
characters. (LP: #1100283)
* Add "allow-stderr" restriction for tests where re-routing or disabling
stderr is impractical. (LP: #1197005)
* runner-adt-run: Support architecture specifiers in Depends: field.
(LP: #1165128)
* runner/adt-run: Remove/fix some unused variables, spotted by pyflakes.
-- Martin Pitt <mpitt@debian.org> Fri, 19 Jul 2013 11:58:15 +0200
autopkgtest (2.2.5) unstable; urgency=low
[ Jean-Baptiste Lallement ]
* Fix call to atmostone(), so that Tests-Directory: actually works.
-- Martin Pitt <mpitt@debian.org> Thu, 11 Jul 2013 06:54:29 +0200
autopkgtest (2.2.4) unstable; urgency=low
[Jean-Baptiste Lallement]
* Fix failure with "permission denied" with option --user. Closes: #686292,
LP: #1084116
* Use debian.deb822 Python module to parse control files. This fixes parsing
of folded dependencies. Closes: #695797, LP: #1073856
* Support versioned dependencies in debian/tests/control.
Closes: #693540, LP: #1164362
[ Martin Pitt ]
* Add myself as a co-maintainer, as per mailing list discussion.
* Add machine-readable debian/copyright as per current 1.0 standard. Remove
dynamic creation of debian/copyright from debian/rules.
* Move from deprecated dh compat level 4 to 8 (supported in squeeze).
* debian/rules: Use dh_installdocs to install copyright file instead of
custom shell code.
* debian/control: Add missing ${misc:Depends}.
* Bump Standards-Version to 3.9.4.
-- Martin Pitt <mpitt@debian.org> Thu, 27 Jun 2013 13:49:25 +0200
autopkgtest (2.2.3+nmu1) unstable; urgency=medium
* Non-maintainer upload.
* adt-run: Catch EXDEV. Closes: #696625.
-- Christoph Berg <myon@debian.org> Thu, 31 Jan 2013 10:31:56 +0100
autopkgtest (2.2.3) unstable; urgency=medium
[ Martin Pitt ]
* Make `@' in tests' Depends work even if we're not building the
source tree. Closes: #678359. This is an important bugfix.
-- Ian Jackson <ijackson@chiark.greenend.org.uk> Sun, 08 Jul 2012 23:15:42 +0100
autopkgtest (2.2.2) unstable; urgency=low
[ Martin Pitt ]
* Fix hashbang lines to use python instead of python2.6, and update
debian/control to only depend on python (>= 2.6) instead of python2.6.
Closes: #644332.
-- Ian Jackson <ijackson@chiark.greenend.org.uk> Thu, 28 Jun 2012 01:03:02 +0100
autopkgtest (2.2.1) unstable; urgency=low
[ Stefano Zacchiroli ]
* specification: document (XS-)Testsuite source header
Closes: #679097
* debian/control: add Vcs-* headers pointing to Alioth Git repository
-- Ian Jackson <ijackson@chiark.greenend.org.uk> Wed, 27 Jun 2012 21:36:56 +0100
autopkgtest (2.2.0) unstable; urgency=low
* Provide tests with ADTTMP rather than TMPDIR.
Well, actually, that's just according to the spec. In reality, for
backward compatibity, we provide each test script with both (pointing
to different directories so that tests don't need to worry about
possible filename clashes between ADTTMP and TMPDIR).
-- Ian Jackson <ijackson@chiark.greenend.org.uk> Fri, 15 Jun 2012 02:05:54 +0100
autopkgtest (2.1.0) unstable; urgency=low
Bugfixes:
* Remove our strange apt config on exit.
Partial fix to #648142, from Timo Lindfors.
* Suppress apt-listbugs and apt-listchanges. Michael Prokop.
* Fix parsing of "@" dependencies. Colin Watson. Closes: #667022.
* Fix NameError re "f" in restriction parsing.
Martin Pitt. Closes: #647882.
* Improve handling of schroot root-users and root-groups.
Colin Watson. Closes: #667001.
* Correctly handle quoting of copyup/copydown filenames. Fixes
but where we couldn't cope with packages' filenames containing
+ and ~. Report from Martin Pitt. Closes: #648161.
Documentation fixes:
* Clarify the spec to say that copyup/down takes encoded filenames.
* Fix the spec to refer to `breaks-testbed' rather than `breaks-computer'.
Report from Jakub Wilk. Closes: #669721.
* Manpage should refer to `*' in tests file's Depends field, not `@'.
Report from Jakub Wilk. Closes: #670648.
Packaging fixes:
* Add Recommends against pbuilder, whose dependency resolver adt-run
uses.
* Remove runner/tmp on debian/rules clean, and add it to .gitignore,
for convenience.
-- Ian Jackson <ijackson@chiark.greenend.org.uk> Mon, 11 Jun 2012 02:05:49 +0100
autopkgtest (2.0.1) unstable; urgency=medium
* Bugfixes:
- Python backtrace (no method "bomb") on bad tests/control syntax.
- Permit tests/control fields with medial capital letters.
- Do not duplicate previous stanzas (closes: #637333).
- Make adt-run --quiet work (closes: #637350).
- Make "build-needed" restriction work (closes: #637353).
- Fix a debugging message which was spuriously sent to stderr.
* Change Maintainer to the new list and move me to Uploaders.
-- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 27 Aug 2011 11:21:29 +0100
autopkgtest (2.0.0) unstable; urgency=medium
* Incompatible test declaration spec changes:
- no-build-needed is now the default; build-needed is a Restriction
that tests which need it have to declare.
* Incompatible virtualisation server spec changes:
- print-execute-command replaced by print-{auxverb,shscript}-command.
- "revert" capability split into "revert" and "revert-full-system"
* New adt-virt-schroot for driving schroot. Sorry, no manpage yet.
* New README.schroot-setup.
* Remove dependency on python in testbed.
* Update python version to 2.6.
* Spec wording improvements, clarifications, editorial changes, etc.
* Many bugfixes, including:
- replace Python string exceptions (closes:#585226).
- fix some broken formatting in adt-run manpage (closes:#636034).
- fix adt-virt-chroot for simple chroots (closes:#520066).
-- Ian Jackson <ijackson@chiark.greenend.org.uk> Sat, 30 Jul 2011 17:57:27 +0100
autopkgtest (1.2.0~) unstable; urgency=low
* adt-xenlvm-*: support for swap, defaulting to 5G.
This will break existing setups with insufficient LVM space.
* adt-xenlvm-*: allow specification of LVM PVs to use.
* remove spurious mkdir of empty variable $snap.
* hosts/magrathea/*: setup as working for initial tests.
* adt-xenlvm-with-testbed: sleep 1 after xm destroy, which is racy.
* Fix a few other bugs from deployment in 2008.
-- Ian Jackson <ian@davenant.greenend.org.uk> Wed, 27 Aug 2008 22:12:13 +0100
autopkgtest (1.1.1~) unstable; urgency=low
* adt-xenlvm-setup: new hooks for xmdomain config file.
* hosts/cadmium/update-suppression: really do not install empty file.
* allow suppresspackages and blacklist lists to contain more
information after some whitespace
* adt-openbugs-*: new machinery for working with debbugs.
* hosts/magrathea/*: work-in-progress configuration
* Add Recommends against apt-utils.
* hosts/cadmium/crontab: savelog -c7 not savelog -n7
* hosts/{cadmium,chinstrap}/crontab: set MAILTO
* adt-testreport-cronjob: make executable.
-- Ian Jackson <ian@davenant.greenend.org.uk> Fri, 26 Oct 2007 18:12:32 +0100
autopkgtest (1.1.0) unreleased; urgency=low
* adt-testreport-runloop: manpage
* adt-testreport-runloop: better command line parsing
* adt-testreport-runloop: removed old lalonde junk
* adt-testreport-runloop: replaced `..._ok' vars with sentinel files
* hosts/chinstrap/update-suppressions: big comment
* adt-testreport-runloop: renamed from hosts/cadmium/lalonde-nightly
* hosts/cadmium/onepackage-config: set PATH (was in lalonde-nightly)
* adt-testreport-onepackage: many manpage improvements
* adt-testreport-runloop: add to Makefile
* hosts/* installed as examples with a big fat warning.
* adt-testreport-cronjob: renamed from hosts/cadmium/cronjob
* adt-testreport-runloop: copyright message.
* cfg and adt-testreport-runloop: do not cd in config files.
* adt-testreport-runloop: fix handling of test_classes (was xoptslist)
* hosts/cadmium/*, debian/rules: onepackage_config renamed to cfg.
-- Ian Jackson <ian@davenant.greenend.org.uk> Thu, 18 Oct 2007 17:17:31 +0100
autopkgtest (1.0.9) unstable; urgency=low
* Separate email_sourcepackage_header and email_binarypackage_header
to allow us to properly file bugs in LP against binary packages built
from differently-named sources.
* adt-testreport-onepackage: Dump a logfile giving the scores and facts
used for package selection.
* adt-testreport-onepackage: Do not prefer packages whose source package
is listed in the suppressions file.
* hosts/cadmium/manual-test-one-binary: new testing script.
* hosts/cadmium/onepackage-config: explain about archive skew.
* adt-testreport-onepackage: nicer score logging re skip chars.
* adt-testreport-onepackage: skip emails if _source_ is suppresed.
* adt-testreport-onepackage etc.: new blacklist feature, and initially
blacklist ltsp-client{,-core}.
* adt-testreport-onepackage: limit log to 64K (32K head, 32K tail)
to avoid humungous bug reports which LP silently discards.
* hosts/cadmium/lalonde-nightly: check for testbed sentinel file
and stop if not present.
-- Ian Jackson <iwj@ubuntu.com> Thu, 18 Oct 2007 11:56:51 +0100
autopkgtest (1.0.8) gutsy; urgency=low
* adt-run: pass -o Debug::pkgProblemResolver=true to apt & gdebi;
this improves dependency problem reporting. (LP: #135581.)
* adt-testreport-onepackage: seddery the log to remove ctrl chars.
In particular, this gets rid of ^M's from apt which get corrupted
by email transport and thus break the email signatures.
* hosts/chinstrap/update-suppressions: pass -S to curl.
* hosts/{chinstrap,cadmium}/install-on-*: use --ubuntu branch.
-- Ian Jackson <iwj@ubuntu.com> Wed, 19 Sep 2007 15:44:33 +0100
autopkgtest (1.0.7) gutsy; urgency=low
* Build properly with debian/copyright.
-- Ian Jackson <iwj@ubuntu.com> Tue, 28 Aug 2007 18:16:35 +0100
autopkgtest (1.0.6) unstable; urgency=low
* Better changelog for 1.0.4.
* .bzrignore debian/copyright.
-- Ian Jackson <iwj@ubuntu.com> Tue, 28 Aug 2007 18:08:46 +0100
autopkgtest (1.0.5) gutsy; urgency=low
* Generate debian/copyright file in source package.
-- Ian Jackson <iwj@ubuntu.com> Tue, 28 Aug 2007 18:01:16 +0100
autopkgtest (1.0.4) gutsy; urgency=low
* adt-testreport-onepackage:
- Handling of source packages' Architecture: field corrected
so package selection works properly.
- Use ln -f when installing summary.
- Capability to suppress emails similar to ones already sent.
- Launchpad bug filing including PGP-signing, `affects' line, etc.
- Capability to suppress email for packages listed in a
suppression file.
- Better formatting and explanations in some emails.
* adt-run:
- Options for setting timeouts.
- Increase default timeouts 100s, 3ks, 10ks, 100ks.
* hosts/chinstrap/*:
Screen-scrape Launchpad to get existing bugs and generate a suitable
suppression file so we file a bug iff there isn't one already.
* hosts/cadmium/*:
New directory for convenience scripts etc on Canonical buildd.
-- Ian Jackson <iwj@ubuntu.com> Tue, 28 Aug 2007 17:42:13 +0100
autopkgtest (1.0.3) unstable; urgency=low
* Set LANG to C by default for commands (eg builds and tests) run on
testbed, and make this configurable.
* Make builds work again: Fix `cd *' in work.write (broken by
inclusion of `tmpdir' in that directory).
* adt-testreport-onepackage has better reporting for DC-running.
* Fix handling of non-.deb-producing source packages (eg, ones
which produce only .udebs).
-- Ian Jackson <iwj@ubuntu.com> Mon, 16 Jul 2007 17:18:03 +0100
autopkgtest (1.0.2) unstable; urgency=low
* xenlvm command-line settings properly override config file
settings everywhere.
* Default value for adt_distro computed in time to be used for
default value for adt_play.
* Close fd 4 for lvm tools too (suppresses daft `File descriptor
left open' message).
* Change default lvm lv sizes and make documentation correspond
to reality.
-- Ian Jackson <ian@davenant.greenend.org.uk> Fri, 13 Jul 2007 15:31:58 +0100
autopkgtest (1.0.1) unstable; urgency=low
* adt_debootstrap_opts mentioned in README and passable on
command lines, instead of unused adt_pbuilder_args.
* Dependency on pbuilder fixed; we use debootstrap, not pbuilder.
-- Ian Jackson <iwj@ubuntu.com> Thu, 12 Jul 2007 16:54:47 +0100
autopkgtest (1.0.0) gutsy; urgency=low
* Locking: <play>.lock (unlinkable fcntl style) plus <play>/good
sentinel file. This will avoid conflicts between simultaneous calls
to with-testbed and setup (and others). The `with' mode of the userv
target is enhanced so that the caller can take out the lock and hold
it will starting and discarding the testbed more than once.
-- Ian Jackson <iwj@ubuntu.com> Thu, 12 Jul 2007 15:01:35 +0100
autopkgtest (0.9.2) unreleased; urgency=low
* Really discard stderr from our ought-to-be-unnecessary
modprobe dm-snapshot.
-- Ian Jackson <ian@davenant.greenend.org.uk> Thu, 12 Jul 2007 14:31:20 +0100
autopkgtest (0.9.1) gutsy; urgency=low
* autopkgtest-xenlvm declares that it Depends on dmsetup.
* Discard stderr from our ought-to-be-unnecessary modprobe dm-snapshot.
* New `console' mode for userv service.
* Move README.userv to autopkgtest-xenlvm package (and hence to
/usr/share/doc/autopkgtest-xenlvm).
* Do not mind if directory named by adt_modules doesn't exist - in
that case just don't copy any modules.
* Attempt to install libc6-xen in fixups-inside, rather than instructing
debootstrap to install it. This makes us not mind if it's missing.
-- Ian Jackson <iwj@ubuntu.com> Thu, 12 Jul 2007 09:50:13 +0100
autopkgtest (0.9.0) gutsy; urgency=low
New features:
* userv service for testbed invocation now provided and
at least somewhat tested, and useable by adt-virt-xenlvm.
* New print-execute-command command for virtualisation servers.
* New adt_sshauthkeys_hook config variable.
* pass count= to dd for erasure when lvm_erasebase=true.
Bugfixes:
* Fix filename pattern bug which can prevent automatic keypair
generation (false claim that privkey and pubkey do not match).
* Do not demand vg or distro information for initscript to work.
* export adt_* variable settings resulting from command-line
arguments so that subprocesses get them properly, and arrange
for the `defaults for simple settings' not to override environment
variables.
* suppress various variable settings' default computations (and
consequent failure if the default can't be established) when
processing config for the initscript. The initscript does not
need per-testbed configuration options.
* close fd 8 when running vgdisplay (which avoids an annoying and
spurious warning from the lvm tools).
Packaging:
* autopkgtest-xenlvm now Recommends: lvm2 and debootstrap.
* autopkgtest Suggests curl (adt-testreport-onepackage needs it).
Portability:
* Check for udev persistent-net-generator and if enabled we
write a rune for eth0 for guest_macaddr into the RULES_FILE
specified in /lib/udev/write_net_rules. (Needed for gutsy.)
* Remove iwj-specific stuff from adt-testreport-onepackage and put
it into onepackage-config with scary warnings to tell people to
edit the file.
Documentation:
* ip forwarding warning clarified.
* README documentation of default value for erasebase corrected.
-- Ian Jackson <iwj@ubuntu.com> Tue, 3 Jul 2007 14:58:56 +0100
autopkgtest (0.8.2feisty1~iwj) feisty-updates; urgency=low
* Fix readconfig.in to set adt_$var rather than just $var.
* Use fd 8 for readconfig stdout parking rather than fd 10, to avoid
Debian #423400 (bash bug).
* Truncate files when writing them (copyup, copydown, etc) (!)
* Remove spurious \ from `do not know how to handle filename' message.
* Reset signal handlers in VirtSubproc cleanup.
-- Ian Jackson <ian@davenant.greenend.org.uk> Thu, 17 May 2007 15:11:31 +0100
autopkgtest (0.8.2) gutsy unstable; urgency=low
* Fix fd handling to work around Python's habit of closing files
you specify in subprocess.Popen.
* Error handling bugfixes: say except (IOError,OSError) everywhere
rather than just one of those two; correct harmless bug in gpg key
generation error handling.
* Make adt-virt-null work properly (VirtSubProc runs `down' with
a single argument, so down must be sh -c and not []).
* In VirtSubProc close spurious copy of plumbing pipe, which prevents
certain hangs during error situations.
* Xen cleanup script runs dmsetup info / dmsetup remove several times
with some sleeps because xm destroy is not properly instantaneous.
* Fix handling of pre-built source trees.
* Fix cleanup handling not to delete tmpdir before resetting testbed's
apt.
-- Ian Jackson <ian@davenant.greenend.org.uk> Fri, 27 Apr 2007 16:06:15 +0100
autopkgtest (0.8.1) feisty; urgency=low
* Call dmsetup remove repeatedly instead of messing with udevsettle.
udevsettle doesn't always help with the dmsetup remove race.
-- Ian Jackson <iwj@ubuntu.com> Wed, 4 Apr 2007 18:04:38 +0100
autopkgtest (0.8.0) feisty; urgency=low
* adt-run: new --instantiate option to allow package installation to be
forced for testing. (This is not an ideal approach - it's not very
flexible - but works well enough for the current requirements.)
* adt-testreport-onepackage: new ability to test binary as well as
source packages, using new --instantiate option.
* new `timeout=' option on `execute' virt server command.
* set some default timeouts (these should be settable with options,
really).
* Default kernel image guesser is more sophisticated - now we look
for something that looks like a Xen kernel rather than guessing
from the filename since the filenames seem unstable.
* Default setting for adt_fw_allowglobalports is none.
* Set DEBIAN_FRONTEND=noninteractive.
* Run udevsettle after xm destroy but before dmsetup remove.
* Run sendmail -odi not -odq in adt-testreport-onepackage.
* Longer timeouts by default.
* Print `adt-run: trace' for trace output.
* Show all apt stdout (including dpkg stdout) in contemporaneous trace.
-- Ian Jackson <iwj@ubuntu.com> Tue, 3 Apr 2007 20:08:13 +0100
autopkgtest (0.7.2) feisty; urgency=low
* adt-testreport-onepackage: new management script, with some
example config files onepackage-config and ubuntu-config.
* Fixed quite a few bugs in adt-run.
* Made adt_distro xenlvm config var settable.
* Fixed various packaging problems.
-- Ian Jackson <iwj@ubuntu.com> Thu, 8 Mar 2007 14:54:33 +0000
autopkgtest (0.7.1) feisty; urgency=low
* Actually ship README.* files.
* Manpage for adt-virt-xenlvm.
* New adt-virt-null.
-- Ian Jackson <iwj@ubuntu.com> Mon, 26 Feb 2007 16:34:41 +0000
autopkgtest (0.7.0) feisty; urgency=low
* Many new features, including:
- Xen virtualisation service works
- Can build packages as necessary
- Many bugfixes.
- Documentation (moved from the wiki).
-- Ian Jackson <iwj@ubuntu.com> Thu, 22 Feb 2007 20:10:30 +0000
autopkgtest (0.6.1) edgy; urgency=low
* autopkgtest-xenlvm: filter output from debootstrap to make
the amount of output more reasonable. set -o pipefail.
Create a timestamp file on image creation. Warn if ipv4
forwarding is turned off.
* Add missing file `xen/justconfig' to bzr.
* Fix typo in usage message in adt-virt-chroot.
-- Ian Jackson <iwj@ubuntu.com> Wed, 11 Oct 2006 15:42:18 +0100
autopkgtest (0.6.0) edgy; urgency=low
* autopkgtest-xenlvm: new package with Xen/LVM management
scripts productised. Not yet glued into autopkgtest proper.
-- Ian Jackson <iwj@ubuntu.com> Fri, 6 Oct 2006 20:45:41 +0100
autopkgtest (0.5.3) dapper; urgency=low
* Rename package autodebtest => autopkgtest.
* Remove a leftover debugging print from adt-virt-chroot.
-- Ian Jackson <iwj@ubuntu.com> Tue, 7 Feb 2006 18:02:08 +0000
autodebtest (0.5.2) dapper; urgency=low
* New --output-dir option to adt-run.
* Bugfixes (including new mandatory cwd argument to `execute'
virt server command).
-- Ian Jackson <iwj@ubuntu.com> Thu, 2 Feb 2006 19:44:18 +0000
autodebtest (0.5.1) dapper; urgency=low
* Manpages and minor fixes.
-- Ian Jackson <iwj@ubuntu.com> Tue, 24 Jan 2006 18:37:46 +0000
autodebtest (0.5.0) unstable; urgency=low
* Initial release of (still largely proof-of-concept) automatic binary
package testing framework.
-- Ian Jackson <iwj@ubuntu.com> Fri, 20 Jan 2006 17:56:55 +0000
|