Coder Social home page Coder Social logo

capture-tiny's Introduction

HOW TO CONTRIBUTE

Thank you for considering contributing to this distribution. This file contains instructions that will help you work with the source code.

The distribution is managed with Dist::Zilla. This means than many of the usual files you might expect are not in the repository, but are generated at release time, as is much of the documentation. Some generated files are kept in the repository as a convenience (e.g. Makefile.PL or cpanfile).

Generally, you do not need Dist::Zilla to contribute patches. You do need Dist::Zilla to create a tarball. See below for guidance.

Getting dependencies

If you have App::cpanminus 1.6 or later installed, you can use cpanm to satisfy dependencies like this:

$ cpanm --installdeps .

Otherwise, look for either a Makefile.PL or cpanfile file for a list of dependencies to satisfy.

Running tests

You can run tests directly using the prove tool:

$ prove -l
$ prove -lv t/some_test_file.t

For most of my distributions, prove is entirely sufficient for you to test any patches you have. I use prove for 99% of my testing during development.

Code style and tidying

Please try to match any existing coding style. If there is a .perltidyrc file, please install Perl::Tidy and use perltidy before submitting patches.

If there is a tidyall.ini file, you can also install Code::TidyAll and run tidyall on a file or tidyall -a to tidy all files.

Patching documentation

Much of the documentation Pod is generated at release time. Some is generated boilerplate; other documentation is built from pseudo-POD directives in the source like C<=method> or C<=func>.

If you would like to submit a documentation edit, please limit yourself to the documentation you see.

If you see typos or documentation issues in the generated docs, please email or open a bug ticket instead of patching.

Installing and using Dist::Zilla

Dist::Zilla is a very powerful authoring tool, optimized for maintaining a large number of distributions with a high degree of automation, but it has a large dependency chain, a bit of a learning curve and requires a number of author-specific plugins.

To install it from CPAN, I recommend one of the following approaches for the quickest installation:

# using CPAN.pm, but bypassing non-functional pod tests
$ cpan TAP::Harness::Restricted
$ PERL_MM_USE_DEFAULT=1 HARNESS_CLASS=TAP::Harness::Restricted cpan Dist::Zilla

# using cpanm, bypassing *all* tests
$ cpanm -n Dist::Zilla

In either case, it's probably going to take about 10 minutes. Go for a walk, go get a cup of your favorite beverage, take a bathroom break, or whatever. When you get back, Dist::Zilla should be ready for you.

Then you need to install any plugins specific to this distribution:

$ cpan `dzil authordeps`
$ dzil authordeps | cpanm

Once installed, here are some dzil commands you might try:

$ dzil build
$ dzil test
$ dzil xtest

You can learn more about Dist::Zilla at http://dzil.org/

capture-tiny's People

Contributors

esabol avatar haarg avatar ilmari avatar manwar avatar ribasushi avatar skirmess avatar theory avatar xdg avatar yhluchan-icloud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

capture-tiny's Issues

Capture::Tiny fails a lot of tests on Windows 8.1 with perl 5.21.7

I am not able to make heads or tails out of this. If you can tell me what to look for, I can work on diagnosing whether the underlying problem is a bug with my build, or something else.

This may or may not be related to #23

Details below, but the typical failing message is this:

#   Failed test 'tee_merged|perl|both|short - tee STDERR'
#   at t/lib/Cases.pm line 22.
#          got: 'Warning: unable to close filehandle GEN1328 properly: Bad file descriptor at t/lib/Cases.pm line 235, <$fh> line 1.
# Warning: unable to close filehandle GEN1326 properly: Bad file descriptor at t/lib/Cases.pm line 235, <$fh> line 1.
# '
#     expected: ''

Test Summary Report
-------------------
t\03-tee.t               (Wstat: 38400 Tests: 541 Failed: 150)
  Failed tests:  4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44
                48, 52, 56, 60, 64, 68, 72, 76, 80, 84
                88, 92, 96, 100, 104, 108, 112, 116, 120
                123, 126, 129, 132, 135, 138, 141, 144
                147, 150, 153, 156, 159, 162, 165, 168
                171, 174, 177, 180, 183, 186, 189, 192
                195, 198, 201, 204, 207, 210, 213, 216
                219, 222, 225, 228, 231, 234, 237, 240
                243, 246, 249, 252, 255, 258, 261, 264
                267, 270, 273, 276, 279, 282, 285, 288
                291, 294, 297, 300, 303, 306, 309, 312
                315, 318, 321, 324, 327, 330, 333, 336
                339, 342, 345, 348, 351, 354, 357, 360
                363, 366, 369, 372, 375, 378, 381, 384
                387, 390, 395, 400, 405, 410, 415, 420
                425, 430, 435, 440, 445, 450, 455, 460
                465, 470, 475, 480, 485, 490, 495, 500
                505, 510, 515, 520, 525, 530, 535, 540
  Non-zero exit status: 150
t\06-stdout-closed.t     (Wstat: 38400 Tests: 872 Failed: 150)
  Failed tests:  335, 339, 343, 347, 351, 355, 359, 363
                367, 371, 375, 379, 383, 387, 391, 395
                399, 403, 407, 411, 415, 419, 423, 427
                431, 435, 439, 443, 447, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                484, 487, 490, 493, 496, 499, 502, 505
                508, 511, 514, 517, 520, 523, 526, 529
                532, 535, 538, 541, 544, 547, 550, 553
                556, 559, 562, 565, 568, 571, 574, 577
                580, 583, 586, 589, 592, 595, 598, 601
                604, 607, 610, 613, 616, 619, 622, 625
                628, 631, 634, 637, 640, 643, 646, 649
                652, 655, 658, 661, 664, 667, 670, 673
                676, 679, 682, 685, 688, 691, 694, 697
                700, 703, 706, 709, 712, 715, 718, 721
                726, 731, 736, 741, 746, 751, 756, 761
                766, 771, 776, 781, 786, 791, 796, 801
                806, 811, 816, 821, 826, 831, 836, 841
                846, 851, 856, 861, 866, 871
  Non-zero exit status: 150
t\07-stderr-closed.t     (Wstat: 38400 Tests: 872 Failed: 150)
  Failed tests:  335, 339, 343, 347, 351, 355, 359, 363
                367, 371, 375, 379, 383, 387, 391, 395
                399, 403, 407, 411, 415, 419, 423, 427
                431, 435, 439, 443, 447, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                484, 487, 490, 493, 496, 499, 502, 505
                508, 511, 514, 517, 520, 523, 526, 529
                532, 535, 538, 541, 544, 547, 550, 553
                556, 559, 562, 565, 568, 571, 574, 577
                580, 583, 586, 589, 592, 595, 598, 601
                604, 607, 610, 613, 616, 619, 622, 625
                628, 631, 634, 637, 640, 643, 646, 649
                652, 655, 658, 661, 664, 667, 670, 673
                676, 679, 682, 685, 688, 691, 694, 697
                700, 703, 706, 709, 712, 715, 718, 721
                726, 731, 736, 741, 746, 751, 756, 761
                766, 771, 776, 781, 786, 791, 796, 801
                806, 811, 816, 821, 826, 831, 836, 841
                846, 851, 856, 861, 866, 871
  Non-zero exit status: 150
t\08-stdin-closed.t      (Wstat: 38400 Tests: 872 Failed: 150)
  Failed tests:  335, 339, 343, 347, 351, 355, 359, 363
                367, 371, 375, 379, 383, 387, 391, 395
                399, 403, 407, 411, 415, 419, 423, 427
                431, 435, 439, 443, 447, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                484, 487, 490, 493, 496, 499, 502, 505
                508, 511, 514, 517, 520, 523, 526, 529
                532, 535, 538, 541, 544, 547, 550, 553
                556, 559, 562, 565, 568, 571, 574, 577
                580, 583, 586, 589, 592, 595, 598, 601
                604, 607, 610, 613, 616, 619, 622, 625
                628, 631, 634, 637, 640, 643, 646, 649
                652, 655, 658, 661, 664, 667, 670, 673
                676, 679, 682, 685, 688, 691, 694, 697
                700, 703, 706, 709, 712, 715, 718, 721
                726, 731, 736, 741, 746, 751, 756, 761
                766, 771, 776, 781, 786, 791, 796, 801
                806, 811, 816, 821, 826, 831, 836, 841
                846, 851, 856, 861, 866, 871
  Non-zero exit status: 150
t\10-stdout-string.t     (Wstat: 38400 Tests: 873 Failed: 150)
  Failed tests:  336, 340, 344, 348, 352, 356, 360, 364
                368, 372, 376, 380, 384, 388, 392, 396
                400, 404, 408, 412, 416, 420, 424, 428
                432, 436, 440, 444, 448, 452, 455, 458
                461, 464, 467, 470, 473, 476, 479, 482
                485, 488, 491, 494, 497, 500, 503, 506
                509, 512, 515, 518, 521, 524, 527, 530
                533, 536, 539, 542, 545, 548, 551, 554
                557, 560, 563, 566, 569, 572, 575, 578
                581, 584, 587, 590, 593, 596, 599, 602
                605, 608, 611, 614, 617, 620, 623, 626
                629, 632, 635, 638, 641, 644, 647, 650
                653, 656, 659, 662, 665, 668, 671, 674
                677, 680, 683, 686, 689, 692, 695, 698
                701, 704, 707, 710, 713, 716, 719, 722
                727, 732, 737, 742, 747, 752, 757, 762
                767, 772, 777, 782, 787, 792, 797, 802
                807, 812, 817, 822, 827, 832, 837, 842
                847, 852, 857, 862, 867, 872
  Non-zero exit status: 150
t\11-stderr-string.t     (Wstat: 38400 Tests: 873 Failed: 150)
  Failed tests:  336, 340, 344, 348, 352, 356, 360, 364
                368, 372, 376, 380, 384, 388, 392, 396
                400, 404, 408, 412, 416, 420, 424, 428
                432, 436, 440, 444, 448, 452, 455, 458
                461, 464, 467, 470, 473, 476, 479, 482
                485, 488, 491, 494, 497, 500, 503, 506
                509, 512, 515, 518, 521, 524, 527, 530
                533, 536, 539, 542, 545, 548, 551, 554
                557, 560, 563, 566, 569, 572, 575, 578
                581, 584, 587, 590, 593, 596, 599, 602
                605, 608, 611, 614, 617, 620, 623, 626
                629, 632, 635, 638, 641, 644, 647, 650
                653, 656, 659, 662, 665, 668, 671, 674
                677, 680, 683, 686, 689, 692, 695, 698
                701, 704, 707, 710, 713, 716, 719, 722
                727, 732, 737, 742, 747, 752, 757, 762
                767, 772, 777, 782, 787, 792, 797, 802
                807, 812, 817, 822, 827, 832, 837, 842
                847, 852, 857, 862, 867, 872
  Non-zero exit status: 150
t\12-stdin-string.t      (Wstat: 38400 Tests: 873 Failed: 150)
  Failed tests:  336, 340, 344, 348, 352, 356, 360, 364
                368, 372, 376, 380, 384, 388, 392, 396
                400, 404, 408, 412, 416, 420, 424, 428
                432, 436, 440, 444, 448, 452, 455, 458
                461, 464, 467, 470, 473, 476, 479, 482
                485, 488, 491, 494, 497, 500, 503, 506
                509, 512, 515, 518, 521, 524, 527, 530
                533, 536, 539, 542, 545, 548, 551, 554
                557, 560, 563, 566, 569, 572, 575, 578
                581, 584, 587, 590, 593, 596, 599, 602
                605, 608, 611, 614, 617, 620, 623, 626
                629, 632, 635, 638, 641, 644, 647, 650
                653, 656, 659, 662, 665, 668, 671, 674
                677, 680, 683, 686, 689, 692, 695, 698
                701, 704, 707, 710, 713, 716, 719, 722
                727, 732, 737, 742, 747, 752, 757, 762
                767, 772, 777, 782, 787, 792, 797, 802
                807, 812, 817, 822, 827, 832, 837, 842
                847, 852, 857, 862, 867, 872
  Non-zero exit status: 150
t\13-stdout-tied.t       (Wstat: 38400 Tests: 873 Failed: 150)
  Failed tests:  335, 339, 343, 347, 351, 355, 359, 363
                367, 371, 375, 379, 383, 387, 391, 395
                399, 403, 407, 411, 415, 419, 423, 427
                431, 435, 439, 443, 447, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                484, 487, 490, 493, 496, 499, 502, 505
                508, 511, 514, 517, 520, 523, 526, 529
                532, 535, 538, 541, 544, 547, 550, 553
                556, 559, 562, 565, 568, 571, 574, 577
                580, 583, 586, 589, 592, 595, 598, 601
                604, 607, 610, 613, 616, 619, 622, 625
                628, 631, 634, 637, 640, 643, 646, 649
                652, 655, 658, 661, 664, 667, 670, 673
                676, 679, 682, 685, 688, 691, 694, 697
                700, 703, 706, 709, 712, 715, 718, 721
                726, 731, 736, 741, 746, 751, 756, 761
                766, 771, 776, 781, 786, 791, 796, 801
                806, 811, 816, 821, 826, 831, 836, 841
                846, 851, 856, 861, 866, 871
  Non-zero exit status: 150
t\14-stderr-tied.t       (Wstat: 38400 Tests: 873 Failed: 150)
  Failed tests:  335, 339, 343, 347, 351, 355, 359, 363
                367, 371, 375, 379, 383, 387, 391, 395
                399, 403, 407, 411, 415, 419, 423, 427
                431, 435, 439, 443, 447, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                484, 487, 490, 493, 496, 499, 502, 505
                508, 511, 514, 517, 520, 523, 526, 529
                532, 535, 538, 541, 544, 547, 550, 553
                556, 559, 562, 565, 568, 571, 574, 577
                580, 583, 586, 589, 592, 595, 598, 601
                604, 607, 610, 613, 616, 619, 622, 625
                628, 631, 634, 637, 640, 643, 646, 649
                652, 655, 658, 661, 664, 667, 670, 673
                676, 679, 682, 685, 688, 691, 694, 697
                700, 703, 706, 709, 712, 715, 718, 721
                726, 731, 736, 741, 746, 751, 756, 761
                766, 771, 776, 781, 786, 791, 796, 801
                806, 811, 816, 821, 826, 831, 836, 841
                846, 851, 856, 861, 866, 871
  Non-zero exit status: 150
t\15-stdin-tied.t        (Wstat: 38400 Tests: 873 Failed: 150)
  Failed tests:  335, 339, 343, 347, 351, 355, 359, 363
                367, 371, 375, 379, 383, 387, 391, 395
                399, 403, 407, 411, 415, 419, 423, 427
                431, 435, 439, 443, 447, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                484, 487, 490, 493, 496, 499, 502, 505
                508, 511, 514, 517, 520, 523, 526, 529
                532, 535, 538, 541, 544, 547, 550, 553
                556, 559, 562, 565, 568, 571, 574, 577
                580, 583, 586, 589, 592, 595, 598, 601
                604, 607, 610, 613, 616, 619, 622, 625
                628, 631, 634, 637, 640, 643, 646, 649
                652, 655, 658, 661, 664, 667, 670, 673
                676, 679, 682, 685, 688, 691, 694, 697
                700, 703, 706, 709, 712, 715, 718, 721
                726, 731, 736, 741, 746, 751, 756, 761
                766, 771, 776, 781, 786, 791, 796, 801
                806, 811, 816, 821, 826, 831, 836, 841
                846, 851, 856, 861, 866, 871
  Non-zero exit status: 150
t\16-catch-errors.t      (Wstat: 256 Tests: 5 Failed: 1)
  Failed test:  4
  Non-zero exit status: 1
t\20-stdout-badtie.t     (Wstat: 25600 Tests: 583 Failed: 100)
  Failed tests:  225, 229, 233, 237, 241, 245, 249, 253
                257, 261, 265, 269, 273, 277, 281, 285
                289, 293, 297, 301, 304, 307, 310, 313
                316, 319, 322, 325, 328, 331, 334, 337
                340, 343, 346, 349, 352, 355, 358, 361
                364, 367, 370, 373, 376, 379, 382, 385
                388, 391, 394, 397, 400, 403, 406, 409
                412, 415, 418, 421, 424, 427, 430, 433
                436, 439, 442, 445, 448, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                486, 491, 496, 501, 506, 511, 516, 521
                526, 531, 536, 541, 546, 551, 556, 561
                566, 571, 576, 581
  Non-zero exit status: 100
t\21-stderr-badtie.t     (Wstat: 25600 Tests: 583 Failed: 100)
  Failed tests:  225, 229, 233, 237, 241, 245, 249, 253
                257, 261, 265, 269, 273, 277, 281, 285
                289, 293, 297, 301, 304, 307, 310, 313
                316, 319, 322, 325, 328, 331, 334, 337
                340, 343, 346, 349, 352, 355, 358, 361
                364, 367, 370, 373, 376, 379, 382, 385
                388, 391, 394, 397, 400, 403, 406, 409
                412, 415, 418, 421, 424, 427, 430, 433
                436, 439, 442, 445, 448, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                486, 491, 496, 501, 506, 511, 516, 521
                526, 531, 536, 541, 546, 551, 556, 561
                566, 571, 576, 581
  Non-zero exit status: 100
t\22-stdin-badtie.t      (Wstat: 25600 Tests: 583 Failed: 100)
  Failed tests:  225, 229, 233, 237, 241, 245, 249, 253
                257, 261, 265, 269, 273, 277, 281, 285
                289, 293, 297, 301, 304, 307, 310, 313
                316, 319, 322, 325, 328, 331, 334, 337
                340, 343, 346, 349, 352, 355, 358, 361
                364, 367, 370, 373, 376, 379, 382, 385
                388, 391, 394, 397, 400, 403, 406, 409
                412, 415, 418, 421, 424, 427, 430, 433
                436, 439, 442, 445, 448, 451, 454, 457
                460, 463, 466, 469, 472, 475, 478, 481
                486, 491, 496, 501, 506, 511, 516, 521
                526, 531, 536, 541, 546, 551, 556, 561
                566, 571, 576, 581
  Non-zero exit status: 100
t\23-all-tied.t          (Wstat: 38400 Tests: 877 Failed: 150)
  Failed tests:  337, 341, 345, 349, 353, 357, 361, 365
                369, 373, 377, 381, 385, 389, 393, 397
                401, 405, 409, 413, 417, 421, 425, 429
                433, 437, 441, 445, 449, 453, 456, 459
                462, 465, 468, 471, 474, 477, 480, 483
                486, 489, 492, 495, 498, 501, 504, 507
                510, 513, 516, 519, 522, 525, 528, 531
                534, 537, 540, 543, 546, 549, 552, 555
                558, 561, 564, 567, 570, 573, 576, 579
                582, 585, 588, 591, 594, 597, 600, 603
                606, 609, 612, 615, 618, 621, 624, 627
                630, 633, 636, 639, 642, 645, 648, 651
                654, 657, 660, 663, 666, 669, 672, 675
                678, 681, 684, 687, 690, 693, 696, 699
                702, 705, 708, 711, 714, 717, 720, 723
                728, 733, 738, 743, 748, 753, 758, 763
                768, 773, 778, 783, 788, 793, 798, 803
                808, 813, 818, 823, 828, 833, 838, 843
                848, 853, 858, 863, 868, 873
  Non-zero exit status: 150
t\24-all-badtied.t       (Wstat: 25600 Tests: 587 Failed: 100)
  Failed tests:  227, 231, 235, 239, 243, 247, 251, 255
                259, 263, 267, 271, 275, 279, 283, 287
                291, 295, 299, 303, 306, 309, 312, 315
                318, 321, 324, 327, 330, 333, 336, 339
                342, 345, 348, 351, 354, 357, 360, 363
                366, 369, 372, 375, 378, 381, 384, 387
                390, 393, 396, 399, 402, 405, 408, 411
                414, 417, 420, 423, 426, 429, 432, 435
                438, 441, 444, 447, 450, 453, 456, 459
                462, 465, 468, 471, 474, 477, 480, 483
                488, 493, 498, 503, 508, 513, 518, 523
                528, 533, 538, 543, 548, 553, 558, 563
                568, 573, 578, 583
  Non-zero exit status: 100
Files=23, Tests=11996, 278 wallclock secs ( 2.28 usr +  0.16 sys =  2.44 CPU)
Result: FAIL
Failed 16/23 test programs. 2051/11996 subtests failed.
NMAKE : fatal error U1077: 'C:\opt\perl-blead\bin\perl.exe' : return code '0x64'
Stop.

Summary of my perl5 (revision 5 version 21 subversion 7) configuration:
  Derived from:
  Platform:
    osname=MSWin32, osvers=6.3, archname=MSWin32-x64-multi-thread
    uname=''
    config_args='undef'
    hint=recommended, useposix=true, d_sigaction=undef
    useithreads=define, usemultiplicity=define
    use64bitint=define, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cl', ccflags ='-nologo -GF -W3 -O1 -MD -Zi -DNDEBUG -GL -fp:precise -favor:INTEL64 -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DUSE_64_BIT_ALL -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS  -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO',
    optimize='-O1 -MD -Zi -DNDEBUG -GL -fp:precise -favor:INTEL64',
    cppflags='-DWIN32'
    ccversion='18.00.31101', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8, longdblkind=0
    ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -ltcg  -libpath:"c:\opt\perl-blead\lib\CORE"  -machine:AMD64 "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"'
    libpth="C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64"
    libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
    perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib  comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib  netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib  version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
    libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl521.lib
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg  -libpath:"c:\opt\perl-blead\lib\CORE"  -machine:AMD64 "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"'
Characteristics of this binary (from libperl):
  Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY
                        PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                        PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
                        PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
                        PERL_MALLOC_WRAP PERL_NEW_COPY_ON_WRITE
                        PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT
                        USE_ITHREADS USE_LARGE_FILES USE_LOCALE
                        USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                        USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO
                        USE_PERL_ATOF USE_SITECUSTOMIZE
  Locally applied patches:
        uncommitted-changes
  Built under MSWin32
  Compiled at Dec  8 2014 17:38:36
  %ENV:
    PERLDOC_PAGER="c:\opt\cygwin64\bin\less.exe -+C -E -F -g -i"
  @INC:
    c:/opt/perl-blead/site/lib/MSWin32-x64-multi-thread
    c:/opt/perl-blead/site/lib
    c:/opt/perl-blead/lib
    .

Some test failed when STDIN > /dev/null

I run test like this

nohup make test &

from man nohup

If  standard  input  is  a  terminal,  redirect  it  from  /dev/null.

and some tests failed

...
Error from open(GLOB(0x17fb550), <&=0): Invalid argument at Capture-Tiny-0.25/blib/lib/Capture/Tiny.pm line 99.
        Capture::Tiny::_open(GLOB(0x17fb550), "<&=0") called at Capture-Tiny-0.25/blib/lib/Capture/Tiny.pm line 331
        Capture::Tiny::_capture_tee(1, 1, 0, 0, CODE(0x1b84150)) called at t/lib/Cases.pm line 101
        Cases::__ANON__("perl", "nooutput", "short", "capture") called at t/lib/Cases.pm line 268
        Cases::run_test("capture") called at t/15-stdin-tied.t line 36
# Looks like your test exited with 22 just after 1.
...
Test Summary Report
-------------------
t/08-stdin-closed.t      (Wstat: 139 Tests: 872 Failed: 0)
  Non-zero wait status: 139
  Parse errors: No plan found in TAP output
t/12-stdin-string.t      (Wstat: 139 Tests: 873 Failed: 0)
  Non-zero wait status: 139
  Parse errors: No plan found in TAP output
t/15-stdin-tied.t        (Wstat: 139 Tests: 1 Failed: 0)
  Non-zero wait status: 139
t/22-stdin-badtie.t      (Wstat: 5632 Tests: 1 Failed: 0)
  Non-zero exit status: 22
t/23-all-tied.t          (Wstat: 139 Tests: 3 Failed: 0)
  Non-zero wait status: 139
t/24-all-badtied.t       (Wstat: 5632 Tests: 3 Failed: 0)
  Non-zero exit status: 22
Files=23, Tests=9084, 26 wallclock secs ( 1.09 usr  0.15 sys + 11.54 cusr 11.71 csys = 24.49 CPU)
Result: FAIL
Failed 6/23 test programs. 0/9084 subtests failed.
make: *** [test_dynamic] Error 22

tee hangs when running sshutle in daemonized mode

Hi! Here is test story:


$ cat test.bash
/usr/sbin/sshuttle -v -D -r [email protected] 192.168.0.0/24
echo OK

$ cat test.pl
use Capture::Tiny qw{tee};
tee {
  system("bash test.bash");
};

$ perl test.pl
Starting sshuttle proxy.
Listening on ('127.0.0.1', 12300).
c : connecting to server...
[email protected]'s password:
Connected.
c : connected.
OK
...

... It hangs here 
... So I have to press CTRL+C to finish test.pl script

CTRL + C

$ ps uax|grep sshu
root      7153  0.0  0.0  40524  3476 pts/1    S    22:53   0:00 sudo -p [local sudo] Password:  python /usr/lib/sshuttle/main.py python -v --firewall 12300 0 --syslog
root      7154  0.1  0.2  35148 10088 ?        Ss   22:53   0:00 python /usr/lib/sshuttle/main.py python -v --firewall 12300 0 --syslog
vagrant   7164  0.0  0.1  35524  7700 ?        S    22:53   0:00 python /usr/lib/sshuttle/main.py python -v -D -r [email protected] 192.168.0.0/24
vagrant   7177  0.0  0.0  12720  2164 pts/1    R+   22:53   0:00 grep sshu

Compare this with when runs test.bash directly:

$ bash test.bash
Starting sshuttle proxy.
Listening on ('127.0.0.1', 12300).
c : connecting to server...
[email protected]'s password:
c : connected.
Connected.
OK
# it finishes here

$ ps uax|grep sshu
vagrant   7205  0.0  0.0  23712  2560 pts/1    S    22:54   0:00 logger -p daemon.notice -t sshuttle
root      7206  0.0  0.0  40524  3468 pts/1    S    22:54   0:00 sudo -p [local sudo] Password:  python /usr/lib/sshuttle/main.py python -v --firewall 12300 0 --syslog
root      7207  0.2  0.2  35148 10216 ?        Ss   22:54   0:00 python /usr/lib/sshuttle/main.py python -v --firewall 12300 0 --syslog
root      7208  0.0  0.0  23712  2392 pts/1    S    22:54   0:00 logger -p daemon.notice -t sshuttle
vagrant   7217  0.0  0.1  35524  7656 ?        S    22:54   0:00 python /usr/lib/sshuttle/main.py python -v -D -r [email protected] 192.168.0.0/24

Also there is thread started by me at PerlMonks which you may find useful http://perlmonks.org/?node_id=1185749 with regards to this issue.

Sshutle information could be found here - https://github.com/apenwarr/sshuttle , there is no any special about besides it probably demonizes improperly. However this could be considered as example of such a "bad" external programs which Capture::Tiny interacts whit by IPC and which make it hangs ... Anyway probably we need to investigate this more ...

JSON::PP dependency

Why is JSON::PP listed as a runtime dependency to this module? I cannot see any reference in the code for it.

Makefile.PL has parse errors

running perl Makefile.PL INSTALL_BASE=$HOME/perl5 I get the following errors with $? == 255:

Hexadecimal number > 0xffffffff non-portable at Makefile.PL line 80.
"my" variable %WriteMakefileArgs masks earlier declaration in same scope at Makefile.PL line 91.
"my" variable %FallbackPrereqs masks earlier declaration in same scope at Makefile.PL line 126.
Generating a Unix-style Makefile
Writing Makefile for Capture::Tiny
Writing MYMETA.yml and MYMETA.json
Undefined subroutine &main::HASH called at Makefile.PL line 80.

perl -cw Makefile.PL gives me the same.

I was able to get everything to work by commenting out line 80, which is:
HASH(0x7fda2a426db8)

stdin custom filehandle option

i have a command that accepts arguments via stdin to avoid leaking the password argument. i want to be able to pass the data as a variable to the stdin custom filehandle option (capture {...} stdin => $data). i'm looking into faking a file interface by tie()ing to IO::Seekable, but haven't gotten it working yet. would it be possible to support this not uncommon use case?

Capture::Tiny breaks under FCGI [rt.cpan.org #74861]

https://rt.cpan.org/Ticket/Display.html?id=74861

Hi,

thanks for Capture::Tiny! FCGI has a broken Tie::Handle XS
implementation. If you use Capture::Tiny in a FCGI driven webapp it dies:

Not a GLOB reference at
.../lib/perl5/i486-linux-gnu-thread-multi/FCGI.pm line 125.

The reason is the buggy Tie::Handle implementation from FCGI. See the
attached
test script to show the problems if STDIN is tied to such a buggy
Tie::Handle class. Maybe you can solve this within Capture::Tiny's
redirecting in the parent. That would be great!

Best Regards
    Charly

chomping on a capture

Thank you for Capture::Tiny.

When I don't want to chomp a capture:

my ($stdout, $stderr, @fsinfo) = capture{  
     map{ [ split/\s+/ ] } map { split/\n/ } 
     qx/mount -p -t zfs/ } ;

.. when I do:

 # array of lines
 my ($stdout, $stderr, @fsinfo)  = capture{  map { chomp; $_ } qx/ mount -p / } ;  
 # a big string
 my ($stdout, $stderr, $fsinfo)  = capture{ local $/; qx/ mount -p / } ;     

Is there a preferred way to chomp that could be documented with line or two of POD?

I'm not qualified judge whether a function like capture_chomp{ ... } (i.e. if it saved more than a trivial number of characters or was safer/faster/more correct) would look silly on such a great module :-)

Thanks again ++

new develop prereq on 'English'?

This started happening in version 0.31. Possibly from an upgraded dzil plugin? I'd like to root this out at the source if possible - English is evil.

STDERR PerlIO layers are not preserved

Setting binmode STDERR, ':encoding(UTF-8)' is not always preserved when using Capture::Tiny. The docs say it tries to do this, but evidently it doesn't succeed. The following test case demonstrates the error on version 0.44, Perl 5.24.0:

use strict;
use warnings;
use utf8;
use Capture::Tiny qw(capture capture_stdout);
use Data::Dumper;
binmode STDOUT, ':encoding(UTF-8)';
binmode STDERR, ':encoding(UTF-8)';

my $output = capture_stdout { print "eng-rus-ะขะฒะตั€ะธั‚ะฝะตะฒ\neng-rus-ะขะฒะตั€ะธั‚ะฝะตะฒ\neng-rus-ะขะฒะตั€ะธั‚ะฝะตะฒ" };

foreach my $file (split /\n/, $output) {
    print Dumper([ 1, PerlIO::get_layers(STDERR) ]);
    print STDERR $file, "\n";
    print Dumper([ 2, PerlIO::get_layers(STDERR) ]);
    my ($foo) = capture { print $file };
    print Dumper([ 3, PerlIO::get_layers(STDERR) ]);
}

The resulting output shows several "Wide character in print" warnings, and that the PerlIO layers are reset:

$VAR1 = [
          1,
          'unix',
          'perlio',
          'encoding(utf-8-strict)',
          'utf8'
        ];
Wide character in print at test.pl line 13.
eng-rus-ะขะฒะตั€ะธั‚ะฝะตะฒ
$VAR1 = [
          2,
          'unix',
          'perlio',
          'encoding(utf-8-strict)',
          'utf8'
        ];
$VAR1 = [
          3,
          'unix',
          'perlio'
        ];
$VAR1 = [
          1,
          'unix',
          'perlio'
        ];
Wide character in print at test.pl line 13.
eng-rus-ะขะฒะตั€ะธั‚ะฝะตะฒ
$VAR1 = [
          2,
          'unix',
          'perlio'
        ];
$VAR1 = [
          3,
          'unix',
          'perlio'
        ];
$VAR1 = [
          1,
          'unix',
          'perlio'
        ];
Wide character in print at test.pl line 13.
eng-rus-ะขะฒะตั€ะธั‚ะฝะตะฒ
$VAR1 = [
          2,
          'unix',
          'perlio'
        ];
$VAR1 = [
          3,
          'unix',
          'perlio'
        ];

multiple commands under one shell

I am using shell handles to keep track of '/bin/bash' commands, like so:

open( my $sh_handle, '|-', '/bin/bash' );
now when the user wants to execute something, i do:
print $sh_handle "$command";

I tried using your capture function around that statement to get the output, but it seems the shell handle prevents it from working.

What is the best way to do this? It is a requirement that all my commands run in the same shell corresponding to $sh_handle. Thanks!

Capture dies if one of STD handles has :via layer

Hi, following code dies:

#!/usr/bin/env perl
use strict;
use warnings;

use Capture::Tiny;
use PerlIO::via::QuotedPrint;

binmode STDOUT, q{:via(QuotedPrint)};

my $res = Capture::Tiny::capture_merged {
    system q{ls};
};
print qq{$res\n};

1;
__END__
No package specified at /usr/local/perl-5.18.2/site/lib/Capture/Tiny.pm line 99.
Error from open(IO::Handle=GLOB(0x13386e8), >&STDOUT): Invalid argument at /usr/local/perl-5.18.2/site/lib/Capture/Tiny.pm line 99.
        Capture::Tiny::_open(IO::Handle=GLOB(0x13386e8), ">&STDOUT") called at /usr/local/perl-5.18.2/site/lib/Capture/Tiny.pm line 176
        Capture::Tiny::_copy_std() called at /usr/local/perl-5.18.2/site/lib/Capture/Tiny.pm line 346
        Capture::Tiny::_capture_tee(1, 1, 1, 0, CODE(0x1105f58)) called at ./1.pl line 22

Tested with perl 5.18.2 x64 on windows and linux.

Failure when used from a wxPerl GUI app on Windows

When Capture::Tiny is used from a wxPerl GUI app on Windows it fails with

 : Error from open(IO::Handle=GLOB(0xe2346b8), >&STDOUT): Bad file descriptor at C:/Users/Johan/ChordPro/pp/windows/build/script/../lib/Capture/Tiny.pm line 107.
        Capture::Tiny::_open(IO::Handle=GLOB(0xe2346b8), ">&STDOUT") called at C:/Users/Johan/ChordPro/pp/windows/build/script/../lib/Capture/Tiny.pm line 184
        Capture::Tiny::_copy_std() called at C:/Users/Johan/ChordPro/pp/windows/build/script/../lib/Capture/Tiny.pm line 357
        Capture::Tiny::_capture_tee(1, 1, 0, 0, CODE(0xe1f9530)) called at C:/Users/Johan/ChordPro/pp/windows/build/script/../lib/ChordPro/Delegate/ABC.pm line 991

I assume this is caused by the fact that a Windows GUI app has no STDIN, STDOUT and STDERR.

can not catch STDOUT, STDERR when \&code died

Allow capturing when &code

This will never catch "YES"
my ( $stdout, $stderr, $result ) = capture { print "YES"; die; 1; };

Allow structure like:

my ( $stdout, $stderr );
my $result = capture { print "YES"; die; } $stdout, $stderr;
So I always have captured $stdout and $stderr

Also this allow to kill useless capture_* because of:
my $result = capture { print "YES"; die; } $stdout;
my $result = capture { print "YES"; die; } undef, $stderr;
my $result = capture { print "YES"; die; } $merged, $merged;

About $merged:
inside 'capture' you can check that $stdout == $stderr so it is $merged

Intermittent STDERR test failures

On my employer's Jenkins build nodes (CentOS 5), I'm seeing intermittend failures of STDERR-related tests. Some examples:

#   Failed test 'tee_merged|perl|both|multiline - tee STDOUT (STDOUT)'
#   at t/lib/Cases.pm line 240.
#                   'STDERR:First line
# Second line
# '
#     doesn't match '(?^:STDOUT\:First\ line\
# Second\ line\
# )'
# Looks like you failed 1 test of 873.
t/14-stderr-tied.t ......... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/873 subtests 
#   Failed test 'tee_merged|perl|both|unicode - tee STDOUT (STDOUT)'
#   at t/lib/Cases.pm line 240.
#                   'STDERR:Hi! โ˜บ
# '
#     doesn't match '(?^u:STDOUT\:Hi\!\ \โ˜บ\
# )'
# Looks like you failed 1 test of 873.
t/11-stderr-string.t ....... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/873 subtests 

The t/00-report-prereqs.t output for both runs was:

# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker 6.17 6.66
# 
# === Build Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 6.66
# 
# === Test Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 6.66
#     File::Spec           any 3.40
#     IO::File             any 1.16
#     Test::More          0.62 0.98
#     lib                  any 0.63
# 
# === Test Recommends ===
# 
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.120921
#     Inline::C      0.50  missing
# 
# === Runtime Requires ===
# 
#     Module       Want Have
#     ------------ ---- ----
#     Carp          any 1.29
#     Exporter      any 5.68
#     File::Spec    any 3.40
#     File::Temp    any 0.23
#     IO::Handle    any 1.34
#     Scalar::Util  any 1.27
#     strict        any 1.07
#     warnings      any 1.18

I haven't been able to reproduce it outside Jenkins yet, so I can't give any more detail information.

poor performance under profiling [rt.cpan.org #67858]

https://rt.cpan.org/Ticket/Display.html?id=67858

I've been using Capture::Tiny lately to great effect, but recently came 
across a problem in conjunction with Devel::NYTProf. Perhaps you've 
already encountered this, but when run under profiling Capture::Tiny 
spends a great deal of time in C<_files_exist()>.

A simple demonstration would be:

> perl -d:NYTProf -MCapture::Tiny=tee_merged -le 'tee_merged { print 
"hi" } for 1 .. 100' > /dev/null
> nytprofcsv Generating CSV report...
Reading nytprof.out
Processing nytprof.out data
Writing sub reports to nytprof directory
 100% ...
Writing block reports to nytprof directory
 100% ...
Writing line reports to nytprof directory
 100% ...
> grep 'sub _files_exist' nytprof/Capture-Tiny-pm-2-sub.csv 
2.537151,196944,0.000013,sub _files_exist { -f $_ || return 0 for @_; 
return 1 }

That grep result shows that C<_files_exist()> was called almost 200,000 
times and took about 2.5 seconds. This adds noise to the profile output, 
and makes certain profiling tasks take an enormous amount of time.

When run without NYTProf, performance is fine, so it seems to be based 
on interference. I'm not sure if you can alter this behavior, but wanted 
to bring it to your attention.

Thanks for the module!

 - danboo

capture exec leaves files in /tmp

Not sure if it is a bug, because exec does not return to perl, but at least it is worth mentioning in documentation.

Running:
perl -e 'use Capture::Tiny qw(:all); capture { exec( ("ls","-l","/tmp") ) };'
will leave captured output in temporary files.

MSWin32 crashes on fork inside capture due to $local bug with perl <= 5.20

Due to perl bug https://rt.perl.org/Public/Bug/Display.html?id=40565 "Windows fork emulation's child pseudo process cannot restore local scalar values", Capture::Tiny crashes under MSWin32 (ActiveState, Strawberry) when the captured code forks.

I've forked this and created a test that shows the behavior, and I believe I can fix it by removing some "local" statements and emulating it. The test is at https://github.com/fecundf/Capture-Tiny/blob/master/t/25-cap-fork.t and I will write back after my patch attempt.

Related issues: rt.cpan.org #71701 "No STDERR capture from XS/C under Windows"
The new test also fails to capture stderr from the child process, when run via a msys 5.8.8 perl

I think this is different from #12 since it is not related to "tee"

tests fail when run in parallel

This happened on a new 5.10.1 install:

cpanm (App::cpanminus) 1.7001 on perl 5.010001 built for darwin-2level
Work directory is /Users/ether/.cpanm/work/1401922622.31556
You have make /usr/bin/make
You have LWP 6.06
You have /usr/bin/tar: bsdtar 2.6.2 - libarchive 2.6.2
You have /usr/bin/unzip
Checking if you have ExtUtils::MakeMaker 6.31 ... Yes (6.55_02)
Checking if you have ExtUtils::Install 1.46 ... Yes (1.54)
Searching Capture::Tiny on mirror http://mirrors.gossamer-threads.com/CPAN ...
Downloading index file http://mirrors.gossamer-threads.com/CPAN/modules/02packages.details.txt.gz ...
Uncompressing index file...
--> Working on Capture::Tiny
Fetching http://mirrors.gossamer-threads.com/CPAN/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.24.tar.gz
-> OK
Unpacking Capture-Tiny-0.24.tar.gz
Entering Capture-Tiny-0.24
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.17 ... Yes (6.55_02)
Configuring Capture-Tiny-0.24
Running Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Capture::Tiny
-> OK
Finding PREREQ from Makefile ...
Checking if you have warnings 0 ... Yes (1.06)
Checking if you have Scalar::Util 0 ... Yes (1.21)
Checking if you have IO::File 0 ... Yes (1.14)
Checking if you have version 0 ... Yes (0.9908)
Checking if you have IO::Handle 0 ... Yes (1.28)
Checking if you have File::Spec 0 ... Yes (3.30)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.55_02)
Checking if you have Exporter 0 ... Yes (5.63)
Checking if you have Carp 0 ... Yes (1.11)
Checking if you have strict 0 ... Yes (1.04)
Checking if you have Test::More 0.62 ... Yes (1.001003)
Checking if you have List::Util 0 ... Yes (1.21)
Checking if you have File::Temp 0 ... Yes (0.22)
Checking if you have lib 0 ... Yes (0.62)
Checking if you have File::Spec::Functions 0 ... Yes (3.30)
Building and testing Capture-Tiny-0.24
cp lib/Capture/Tiny.pm blib/lib/Capture/Tiny.pm
Manifying blib/man3/Capture::Tiny.0
PERL_DL_NONLAZY=1 /Users/ether/perl5/perlbrew/perls/10.1/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01-Capture-Tiny.t ........ ok
t/09-preserve-exit-code.t .. ok
# 
# Versions for all modules listed in static metadata (including optional ones):
#    Version Module                  
#   -------- ------------------------
#   2.141520 CPAN::Meta              
#      2.125 CPAN::Meta::Requirements
#       1.11 Carp                    
#       5.63 Exporter                
#    6.55_02 ExtUtils::MakeMaker     
#       3.30 File::Spec              
#       3.30 File::Spec::Functions   
#       0.22 File::Temp              
#       1.14 IO::File                
#       1.28 IO::Handle              
#    missing Inline                  
#       1.21 List::Util              
#       1.21 Scalar::Util            
#   1.001003 Test::More              
#       0.62 lib                     
#       1.04 strict                  
#     0.9908 version                 
#       1.06 warnings                
t/00-report-prereqs.t ...... ok

#   Failed test 'tee|sys|nooutput|multiline - got STDOUT'
#   at t/lib/Cases.pm line 22.
#          got: 'Operation not permitted at -e line 4.
# '
#     expected: ''
t/02-capture.t ............. ok
# Looks like you failed 1 test of 541.
t/03-tee.t ................. 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/541 subtests 

#   Failed test 'tee_stderr|perl|nooutput|short - inner STDOUT'
#   at t/lib/Cases.pm line 22.
#          got: 'Operation not permitted at -e line 4.
# '
#     expected: ''
t/06-stdout-closed.t ....... ok
t/07-stderr-closed.t ....... ok
t/11-stderr-string.t ....... ok
# Looks like you failed 1 test of 872.
t/08-stdin-closed.t ........ 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/872 subtests 
t/13-stdout-tied.t ......... ok
t/16-catch-errors.t ........ ok
t/10-stdout-string.t ....... ok
t/17-pass-results.t ........ ok
t/12-stdin-string.t ........ ok
t/19-inline-c.t ............ skipped: Inline module required
t/18-custom-capture.t ...... ok
t/14-stderr-tied.t ......... ok
t/20-stdout-badtie.t ....... ok
t/21-stderr-badtie.t ....... ok
t/22-stdin-badtie.t ........ ok
t/15-stdin-tied.t .......... ok
t/24-all-badtied.t ......... ok
t/23-all-tied.t ............ ok

Test Summary Report
-------------------
t/03-tee.t               (Wstat: 256 Tests: 541 Failed: 1)
  Failed test:  65
  Non-zero exit status: 1
t/08-stdin-closed.t      (Wstat: 256 Tests: 872 Failed: 1)
  Failed test:  632
  Non-zero exit status: 1
Files=23, Tests=11996, 50 wallclock secs ( 2.07 usr  0.27 sys + 28.12 cusr 32.27 csys = 62.73 CPU)
Result: FAIL
Failed 2/23 test programs. 2/11996 subtests failed.
make: *** [test_dynamic] Error 255
-> FAIL Installing Capture::Tiny failed. See /Users/ether/.cpanm/work/1401922622.31556/build.log for details. Retry with --force to force install it.
Expiring 37 work directories.

HARNESS_OPTIONS was j9. when I ran tests with HARNESS_OPTIONS cleared, they passed.

how to get output for failed, hanging commands?

I have code that executes system commands:

use strict;
use warnings FATAL => 'all';
use autodie ':default'; # i.e. no "system"
use Devel::Confess 'color';
use Capture::Tiny 'capture';

sub execute {
	my $cmd = shift;
	my ($stdout, $stderr, $exit) = capture {
		system( $cmd )
	};
	
	if ($exit != 0) {
		say "exit = $exit";
		say "STDOUT = $stdout";
		say "STDERR = $stderr";
		die "$cmd failed";
	}
	return 0
}

Based on previous advice that I've received from

https://stackoverflow.com/questions/66016077/how-to-get-capturetiny-to-print-stderr-and-stdout-upon-failure

However, this subroutine doesn't work very well when the output of a command gives some sort of prompt or warning, and just hangs forever instead of printing the error message/prompt.

The hanging normally happens with various LaTeX commands, but because LaTeX doesn't provide for very good minimal working examples, similar hanging with no printed/displayed error is also produced if a file without writing permission is attempted to be deleted,

e.g. chmod a-w tmp

and then calling the script execute('rm tmp') which would ordinarily give this question at the CLI: rm: remove write-protected regular file 'tmp'?

but just hangs with nothing printed at output.

I've tried changing system( $cmd ) to eval { system( $cmd ) } but I still can't see the error messages.

How can I alter the subroutine above so that I get the prompts and errors like when trying to delete a file without write permission?

this question is from a post from StackOverflow: https://stackoverflow.com/questions/66748954/capturetiny-hangs-on-any-sort-of-prompt-question

Capture-Tiny fails tests on 5.21.5

I'm unable to send a cpantesters report, as App-cpanminus-reporter depends on Capture::Tiny:

--> Working on Capture::Tiny
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.25.tar.gz
-> OK
Unpacking Capture-Tiny-0.25.tar.gz
Entering Capture-Tiny-0.25
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.17 ... Yes (6.98)
Configuring Capture-Tiny-0.25
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Capture::Tiny
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have Test::More 0.62 ... Yes (1.001008)
Checking if you have warnings 0 ... Yes (1.28)
Checking if you have strict 0 ... Yes (1.08)
Checking if you have File::Temp 0 ... Yes (0.2304)
Checking if you have IO::Handle 0 ... Yes (1.35)
Checking if you have Exporter 0 ... Yes (5.71)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.98)
Checking if you have Carp 0 ... Yes (1.34)
Checking if you have File::Spec 0 ... Yes (3.51)
Checking if you have Scalar::Util 0 ... Yes (1.41)
Checking if you have IO::File 0 ... Yes (1.16)
Checking if you have lib 0 ... Yes (0.63)
Building and testing Capture-Tiny-0.25
Manifying blib/man3/Capture::Tiny.0
PERL_DL_NONLAZY=1 /Users/ether/perl5/perlbrew/perls/21.5/bin/perl5.21.5 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01-Capture-Tiny.t ........ ok
t/09-preserve-exit-code.t .. ok
# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker 6.17 6.98
# 
# === Build Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 6.98
# 
# === Test Requires ===
# 
#     Module              Want     Have
#     ------------------- ---- --------
#     ExtUtils::MakeMaker  any     6.98
#     File::Spec           any     3.51
#     IO::File             any     1.16
#     Test::More          0.62 1.001008
#     lib                  any     0.63
# 
# === Test Recommends ===
# 
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.142690
#     Inline::C      0.50  missing
# 
# === Runtime Requires ===
# 
#     Module       Want   Have
#     ------------ ---- ------
#     Carp          any   1.34
#     Exporter      any   5.71
#     File::Spec    any   3.51
#     File::Temp    any 0.2304
#     IO::Handle    any   1.35
#     Scalar::Util  any   1.41
#     strict        any   1.08
#     warnings      any   1.28
# 
t/00-report-prereqs.t ...... ok
t/02-capture.t ............. ok
t/03-tee.t ................. ok

#   Failed test 'tee_stderr|perl|nooutput|unicode - inner STDOUT'
#   at t/lib/Cases.pm line 22.
#          got: 'Operation not permitted at -e line 4.
# '
#     expected: ''
t/06-stdout-closed.t ....... ok
t/07-stderr-closed.t ....... ok
t/11-stderr-string.t ....... ok
t/16-catch-errors.t ........ ok
t/08-stdin-closed.t ........ ok
t/17-pass-results.t ........ ok
t/18-custom-capture.t ...... ok
# Looks like you failed 1 test of 873.
t/10-stdout-string.t ....... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/873 subtests 
t/13-stdout-tied.t ......... ok
t/19-inline-c.t ............ skipped: Inline module required
t/12-stdin-string.t ........ ok
t/14-stderr-tied.t ......... ok
t/15-stdin-tied.t .......... ok
t/20-stdout-badtie.t ....... ok
t/22-stdin-badtie.t ........ ok
t/21-stderr-badtie.t ....... ok
t/24-all-badtied.t ......... ok
t/23-all-tied.t ............ ok

Test Summary Report
-------------------
t/10-stdout-string.t     (Wstat: 256 Tests: 873 Failed: 1)
  Failed test:  720
  Non-zero exit status: 1
Files=23, Tests=11996, 52 wallclock secs ( 2.47 usr  0.33 sys + 37.79 cusr 39.89 csys = 80.48 CPU)
Result: FAIL
Failed 1/23 test programs. 1/11996 subtests failed.
make: *** [test_dynamic] Error 255
-> FAIL Installing Capture::Tiny failed. See /Users/ether/.cpanm/work/1413828579.23979/build.log for details. Retry with --force to force install it.

Capture::Tiny + Carp + Debugger fails to capture STDERR [rt.cpan.org #83915]

https://rt.cpan.org/Ticket/Display.html?id=83915

This is the smallest test case I can replicate:

    #!/usr/bin/env perl

    use Capture::Tiny 'capture';
    use Carp;

    my ( $in, $err, @results ) = capture {
        print "STDIN";
        carp("STDERR");
        return ( 1, 2 );
    };

As expected, that prints no output. However, if you run under the 
debugger, STDERR is written to my terminal and $err contains the empty 
string. If you prefer a test:

    use Capture::Tiny 'capture';
    use Test::More;
    use Carp;

    my ( $in, $err, @results ) = capture {
        print "STDIN";
        carp("STDERR");
        return ( 1, 2 );
    };
    is $in,    'STDIN',     '$in ok';
    like $out, qr/^STDERR/, '$out ok';
    is_deeply \@results, [ 1, 2 ], '@results ok';

    done_testing;

However, I can only force that test to fail under the debugger, making 
it somewhat less useful.

This is Capture::Tiny version 0.21

This is Carp version 1.25

This is perl 5, version 12, subversion 2 (v5.12.2) built for x86_64-
linux

$ uname -a
Linux ovid-desktop 3.2.0-38-generic #61-Ubuntu SMP Tue Feb 19 12:18:21 
UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Cheers,
Ovid

Update ToDo

You can remove the line about adding tee_stdout and tee_stderr functions, as these do now exist.

insecure use of /tmp

Hi

On the Debian BTS Jakub Wilk reported an issue of Capture::Tiny insecurely using /tmp. The original report is at [1].

On Thu, Feb 06, 2014 at 12:52:21PM +0100, Jakub Wilk wrote:

$ strace -f -o '| grep -E open.*/tmp' perl test.pl
11181 open("/tmp/8NDe_c4S_N", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE|O_NOFOLLOW, 0600) = 5
11183 open("/tmp/5KKGPDNyy0", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3

The first temporary file is created securely, but the second open(2)
call lacks the O_EXCL flag. The vulnerable code appears to be:

flag file is used to signal the child is ready

$stash->{flag_files}{$which} = scalar tmpnam();

The File::temp::tmpnam documentation reads: โ€œWhen called in scalar
context, returns the full name (including path) of a temporary file
(uses mktemp()). The only check is that the file does not already
exist, but there is no guarantee that that condition will continue
to apply.โ€

[1] http://bugs.debian.org/737835

Regards,
Salvatore

Tests fail under Cygwin Perl 5.14.2

I had tried installing this with cpanm first (as a dependency of something else...) which failed with several errors in the build.log:

...
#   Failed test 'tee_merged|perl|both|multiline - tee STDOUT (STDOUT)'
#   at t/lib/Cases.pm line 240.
#                   'STDERR:First line
# Second line
# '
#     doesn't match '(?^:STDOUT\:First\ line\
# Second\ line\
# )'
# Looks like you failed 1 test of 872.
t/07-stderr-closed.t ....... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/872 subtests 

#   Failed test 'tee_merged|perl|both|multiline - tee STDOUT (STDOUT)'
#   at t/lib/Cases.pm line 240.
#                   'STDERR:First line
# Second line
# '
#     doesn't match '(?^:STDOUT\:First\ line\
# Second\ line\
# )'
# Looks like you failed 1 test of 872.
t/08-stdin-closed.t ........ 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/872 subtests 
t/09-preserve-exit-code.t .. ok
t/10-stdout-string.t ....... ok
t/11-stderr-string.t ....... ok
t/12-stdin-string.t ........ ok

#   Failed test 'tee_merged|perl|both|short - tee STDOUT (STDERR)'
#   at t/lib/Cases.pm line 241.
#                   'STDOUT:Hello World'
#     doesn't match '(?^:STDERR\:Hello\ World)'
# Looks like you failed 1 test of 873.
t/13-stdout-tied.t ......... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/873 subtests 
t/14-stderr-tied.t ......... ok
t/15-stdin-tied.t .......... ok
t/16-catch-errors.t ........ ok
t/17-pass-results.t ........ ok
t/18-custom-capture.t ...... ok
t/19-inline-c.t ............ skipped: Inline::C module required

#   Failed test 'tee_merged|perl|both|multiline - tee STDOUT (STDERR)'
#   at t/lib/Cases.pm line 241.
#                   'STDOUT:First line
# Second line
# '
#     doesn't match '(?^:STDERR\:First\ line\
# Second\ line\
# )'
# Looks like you failed 1 test of 583.
t/20-stdout-badtie.t ....... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/583 subtests 
t/21-stderr-badtie.t ....... ok
t/22-stdin-badtie.t ........ ok
t/23-all-tied.t ............ ok
t/24-all-badtied.t ......... ok

Test Summary Report
-------------------
t/07-stderr-closed.t     (Wstat: 256 Tests: 872 Failed: 1)
  Failed test:  759
  Non-zero exit status: 1
t/08-stdin-closed.t      (Wstat: 256 Tests: 872 Failed: 1)
  Failed test:  759
  Non-zero exit status: 1
t/13-stdout-tied.t       (Wstat: 256 Tests: 873 Failed: 1)
  Failed test:  755
  Non-zero exit status: 1
t/20-stdout-badtie.t     (Wstat: 256 Tests: 583 Failed: 1)
  Failed test:  510
  Non-zero exit status: 1
Files=23, Tests=11996, 144 wallclock secs ( 0.02 usr  0.03 sys + 50.93 cusr 92.69 csys = 143.67 CPU)
Result: FAIL
Failed 4/23 test programs. 4/11996 subtests failed.
Makefile:861: recipe for target `test_dynamic' failed
make: *** [test_dynamic] Error 255

I then retried with plain cpan as I hoped to submit a report about the failure using CPAN::Reporter but this didn't work neither (see cpan-testers/CPAN-Reporter#3), however
cpan output was actually different, with only a single error:

...
#   Failed test 'tee_merged|perl|both|short - tee STDOUT (STDERR)'
#   at t/lib/Cases.pm line 241.
#                   'STDOUT:Hello World'
#     doesn't match '(?^:STDERR\:Hello\ World)'
# Looks like you failed 1 test of 873.
t/10-stdout-string.t .......
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/873 subtests
t/11-stderr-string.t ....... ok
t/12-stdin-string.t ........ ok
t/13-stdout-tied.t ......... ok
t/14-stderr-tied.t ......... ok
t/15-stdin-tied.t .......... ok
t/16-catch-errors.t ........ ok
t/17-pass-results.t ........ ok
t/18-custom-capture.t ...... ok
t/19-inline-c.t ............ skipped: Inline::C module required
t/20-stdout-badtie.t ....... ok
t/21-stderr-badtie.t ....... ok
t/22-stdin-badtie.t ........ ok
t/23-all-tied.t ............ ok
t/24-all-badtied.t ......... ok

Test Summary Report
-------------------
t/10-stdout-string.t     (Wstat: 256 Tests: 873 Failed: 1)
  Failed test:  756
  Non-zero exit status: 1
Files=23, Tests=11996, 146 wallclock secs ( 0.00 usr  0.02 sys + 47.47 cusr 94.92 csys = 142.41 CPU)
Result: FAIL
Failed 1/23 test programs. 1/11996 subtests failed.
Makefile:861: recipe for target `test_dynamic' failed
make: *** [test_dynamic] Error 255

I don't know why do the failures differ between cpanm and cpan but at least this is consistent, i.e. I reran each of them a couple of times and the results are always the same.

tests fail sporadically on a ubuntu vm with perl 5.18.2

I'm really having an issue here trying to setup an old Dancer (not Dancer2) app. It fails to install deps when I use cpanm to install Dancer. The first thing to fail seems to be Capture::Tiny. Any help would be appreciated, feel like I'm doing something more basic wrong here. I've not in the perl scene for a while now ๐Ÿ˜ข

build.txt

capture causes error in/from Unix.pm

I am trying a

my ($out,$err) = capture { system ('executable perl file')}

to capture stdout, and stderr.

It works, but what I also get is this
Use of uninitialized value in string ne at /tool/pandora64/.package/perl-5.18.1/lib/site_perl/5.18.1/x86_64-linux/File/Spec/Unix.pm line 176.
Use of uninitialized value in string ne at /tool/pandora64/.package/perl-5.18.1/lib/site_perl/5.18.1/x86_64-linux/File/Spec/Unix.pm line 176.
Use of uninitialized value in string ne at /tool/pandora64/.package/perl-5.18.1/lib/site_perl/5.18.1/x86_64-linux/File/Spec/Unix.pm line 176.
Use of uninitialized value $tmpenv{"TMPDIR"} in string ne at /tool/pandora64/.package/perl-5.18.1/lib/site_perl/5.18.1/x86_64-linux/File/Spec/Unix.pm line 176.

When I set TMPDIR (setenv TMPDIR /tmp) I can eliminate 3 of the messages, but I still get:
Use of uninitialized value in string ne at /tool/pandora64/.package/perl-5.18.1/lib/site_perl/5.18.1/x86_64-linux/File/Spec/Unix.pm line 176.

The capture actually works, and I get this message only once. Any additional capture will not cause the message anymore.

Am I missing something crucial, or is this something caused by Unix.pm or Capture::Tiny?
How do I fix it?

ps: perl 5.18.1, on x86_64 Centos 6.9
This is a host where I have user permissions only.

Unexpected extra line of output

This is for Perl v5.14.2:

!/usr/bin/env perl

use feature 'say';
use strict;
use warnings;

use Capture::Tiny 'capture';

--------------------------

say capture{system('echo', 'Hello World')};

This outputs 2 lines. The 0 is unexpected:

Hello World
0

When using something like:

my($stdout) = capture{system('echo', 'Hello World')};

say $stdout;

Then the output contains just the 1 expected line.

Any ideas?

Leaves STDERR in line buffered mode

After using capture(), STDERR is left in line buffered mode, i.e. it is no longer "hot". You have to manually set $| to restore unbuffered mode.

Example program demonstrating the issue:

#!/usr/bin/env perl
use v5.10;
use strict;
use warnings;
use Capture::Tiny qw(capture);

print STDERR __LINE__;  # prints immediately as expected

# my $out = `date`;  # stderr is fine if using this line instead of the next
my ($out, $err) = capture { system 'date' };  # leaves stderr in buffered mode
say $out;

# $| = 1, select $_ for select STDERR;
# won't print unless prev line is uncommented or script exits normally.
print STDERR __LINE__;
sleep 10;

Recommends of Capture::Tiny make it anything but Tiny under CPAN 2.04+ (perl 5.20+)

A combination of events causes the following list of deps (non-core or upgrades) is pulled in on a standard perl 5.20 configuration:

Inline::C
  File::ShareDir::Install
  ExtUtils::MakeMaker 7.0 (vs 6.98)
  Inline 
  Parse::RecDescent
  Pegex
  IO::All
    File::MimeInfo
      File::BaseDir
      File::DesktopEntry
    File::ReadBackwards
  File::Copy::Recursive
  YAML::XS
  Test::Warn
    Sub::Uplevel

The avalanche is triggered by https://metacpan.org/changes/distribution/CPAN#L45 which enables recommends installation by default (and does it after the testing took place, so test_recommends are essentially moot).

I am not sure what the proper way forward is, as it is not entirely clear to me why C::T recommends Inline::C in the first place.

Attached is an excerpt of the actual CPAN worklog:

...
Running install for module 'Capture::Tiny'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.27.tar.gz
Checksum for /home/travis/.cpan/sources/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.27.tar.gz ok
Configuring D/DA/DAGOLDEN/Capture-Tiny-0.27.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Capture::Tiny
Writing MYMETA.yml and MYMETA.json
  DAGOLDEN/Capture-Tiny-0.27.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for D/DA/DAGOLDEN/Capture-Tiny-0.27.tar.gz
---- Unsatisfied dependencies detected during ----
----     DAGOLDEN/Capture-Tiny-0.27.tar.gz    ----
    Inline::C [build_requires,optional]
cp lib/Capture/Tiny.pm blib/lib/Capture/Tiny.pm
Manifying blib/man3/Capture::Tiny.3
  DAGOLDEN/Capture-Tiny-0.27.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker 6.17 6.98
# 
# === Build Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 6.98
# 
# === Test Requires ===
# 
#     Module              Want     Have
#     ------------------- ---- --------
#     ExtUtils::MakeMaker  any     6.98
#     File::Spec           any     3.47
#     IO::File             any     1.16
#     Test::More          0.62 1.001002
#     lib                  any     0.63
# 
# === Test Recommends ===
# 
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.143240
#     Inline::C      0.50  missing
# 
# === Runtime Requires ===
# 
#     Module       Want   Have
#     ------------ ---- ------
#     Carp          any 1.3301
#     Exporter      any   5.70
#     File::Spec    any   3.47
#     File::Temp    any 0.2304
#     IO::Handle    any   1.35
#     Scalar::Util  any   1.38
#     strict        any   1.08
#     warnings      any   1.23
# 
[18:24:13] t/00-report-prereqs.t ...... ok      218 ms
[18:24:13] t/01-Capture-Tiny.t ........ ok       71 ms
[18:24:14] t/02-capture.t ............. ok      604 ms
[18:24:16] t/03-tee.t ................. ok     2182 ms
[18:24:19] t/06-stdout-closed.t ....... ok     2797 ms
[18:24:21] t/07-stderr-closed.t ....... ok     2839 ms
[18:24:24] t/08-stdin-closed.t ........ ok     2832 ms
[18:24:24] t/09-preserve-exit-code.t .. ok       73 ms
[18:24:27] t/10-stdout-string.t ....... ok     2996 ms
[18:24:30] t/11-stderr-string.t ....... ok     2984 ms
[18:24:33] t/12-stdin-string.t ........ ok     3021 ms
[18:24:37] t/13-stdout-tied.t ......... ok     3445 ms
[18:24:40] t/14-stderr-tied.t ......... ok     3406 ms
[18:24:43] t/15-stdin-tied.t .......... ok     3256 ms
[18:24:44] t/16-catch-errors.t ........ ok      101 ms
[18:24:44] t/17-pass-results.t ........ ok      108 ms
[18:24:44] t/18-custom-capture.t ...... ok      113 ms
[18:24:44] t/19-inline-c.t ............ skipped: Inline::C module required
[18:24:46] t/20-stdout-badtie.t ....... ok     2202 ms
[18:24:48] t/21-stderr-badtie.t ....... ok     2056 ms
[18:24:50] t/22-stdin-badtie.t ........ ok     1812 ms
[18:24:53] t/23-all-tied.t ............ ok     2777 ms
[18:24:55] t/24-all-badtied.t ......... ok     1996 ms
[18:24:55]
All tests successful.
Files=23, Tests=11996, 42 wallclock secs ( 2.17 usr  0.13 sys + 29.37 cusr 18.05 csys = 49.72 CPU)
Result: PASS
  DAGOLDEN/Capture-Tiny-0.27.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Capture/Tiny.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Capture::Tiny.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  DAGOLDEN/Capture-Tiny-0.27.tar.gz
  /usr/bin/make install  -- OK
Running install for module 'Inline::C'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/I/IN/INGY/Inline-C-0.73.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/I/IN/INGY/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/I/IN/INGY/Inline-C-0.73.tar.gz ok
---- Unsatisfied dependencies detected during ----
----         INGY/Inline-C-0.73.tar.gz        ----
    File::ShareDir::Install [build_requires]
Running install for module 'File::ShareDir::Install'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/G/GW/GWYN/File-ShareDir-Install-0.10.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/G/GW/GWYN/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/G/GW/GWYN/File-ShareDir-Install-0.10.tar.gz ok
Configuring G/GW/GWYN/File-ShareDir-Install-0.10.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for File::ShareDir::Install
Writing MYMETA.yml and MYMETA.json
  GWYN/File-ShareDir-Install-0.10.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for G/GW/GWYN/File-ShareDir-Install-0.10.tar.gz
cp lib/File/ShareDir/Install.pm blib/lib/File/ShareDir/Install.pm
Manifying blib/man3/File::ShareDir::Install.3
  GWYN/File-ShareDir-Install-0.10.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:24:57] t/00_compile.t ....... ok       55 ms
[18:24:57] t/01_pod.t ........... skipped: these tests are for authors only
[18:24:57] t/02_pod_coverage.t .. skipped: these tests are for authors only
[18:24:58] t/10_makefile.t ...... ok      968 ms
[18:24:59] t/11_dotfile.t ....... ok      624 ms
[18:25:00] t/12_delete.t ........ ok      613 ms
[18:25:00]
All tests successful.
Files=6, Tests=33,  3 wallclock secs ( 0.04 usr  0.01 sys +  1.99 cusr  0.27 csys =  2.31 CPU)
Result: PASS
  GWYN/File-ShareDir-Install-0.10.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/ShareDir/Install.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::ShareDir::Install.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  GWYN/File-ShareDir-Install-0.10.tar.gz
  /usr/bin/make install  -- OK
  INGY/Inline-C-0.73.tar.gz
  Has already been unwrapped into directory /home/travis/.cpan/build/Inline-C-0.73-tAd3oU
Configuring I/IN/INGY/Inline-C-0.73.tar.gz with Makefile.PL
Warning: prerequisite ExtUtils::MakeMaker 7.00 not found. We have 6.98.
Warning: prerequisite Inline 0.78 not found.
Warning: prerequisite Parse::RecDescent 1.967009 not found.
Warning: prerequisite Pegex 0.58 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Inline::C
Writing MYMETA.yml and MYMETA.json
  INGY/Inline-C-0.73.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for I/IN/INGY/Inline-C-0.73.tar.gz
---- Unsatisfied dependencies detected during ----
----         INGY/Inline-C-0.73.tar.gz        ----
    IO::All [build_requires]
    File::Copy::Recursive [build_requires]
    Inline [requires]
    YAML::XS [build_requires]
    Test::Warn [build_requires]
    Parse::RecDescent [requires]
    ExtUtils::MakeMaker [requires]
    Pegex [requires]
Running install for module 'IO::All'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/I/IN/INGY/IO-All-0.86.tar.gz
Checksum for /home/travis/.cpan/sources/authors/id/I/IN/INGY/IO-All-0.86.tar.gz ok
Configuring I/IN/INGY/IO-All-0.86.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for IO::All
Writing MYMETA.yml and MYMETA.json
  INGY/IO-All-0.86.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for I/IN/INGY/IO-All-0.86.tar.gz
---- Unsatisfied dependencies detected during ----
----          INGY/IO-All-0.86.tar.gz         ----
    File::MimeInfo [requires,optional]
    File::ReadBackwards [requires,optional]
cp lib/IO/All/String.pm blib/lib/IO/All/String.pm
cp lib/IO/All/Filesys.pod blib/lib/IO/All/Filesys.pod
cp lib/IO/All/MLDBM.pm blib/lib/IO/All/MLDBM.pm
cp lib/IO/All/File.pm blib/lib/IO/All/File.pm
cp lib/IO/All/MLDBM.pod blib/lib/IO/All/MLDBM.pod
cp lib/IO/All/DBM.pod blib/lib/IO/All/DBM.pod
cp lib/IO/All/String.pod blib/lib/IO/All/String.pod
cp lib/IO/All/Pipe.pod blib/lib/IO/All/Pipe.pod
cp lib/IO/All/Link.pm blib/lib/IO/All/Link.pm
cp lib/IO/All/Socket.pod blib/lib/IO/All/Socket.pod
cp lib/IO/All/STDIO.pod blib/lib/IO/All/STDIO.pod
cp lib/IO/All/Pipe.pm blib/lib/IO/All/Pipe.pm
cp lib/IO/All/File.pod blib/lib/IO/All/File.pod
cp lib/IO/All/DBM.pm blib/lib/IO/All/DBM.pm
cp lib/IO/All/Dir.pm blib/lib/IO/All/Dir.pm
cp lib/IO/All/Link.pod blib/lib/IO/All/Link.pod
cp lib/IO/All/Dir.pod blib/lib/IO/All/Dir.pod
cp lib/IO/All/Temp.pm blib/lib/IO/All/Temp.pm
cp lib/IO/All/Socket.pm blib/lib/IO/All/Socket.pm
cp lib/IO/All/STDIO.pm blib/lib/IO/All/STDIO.pm
cp lib/IO/All/Base.pm blib/lib/IO/All/Base.pm
cp lib/IO/All.pm blib/lib/IO/All.pm
cp lib/IO/All.pod blib/lib/IO/All.pod
cp lib/IO/All/Temp.pod blib/lib/IO/All/Temp.pod
cp lib/IO/All/Filesys.pm blib/lib/IO/All/Filesys.pm
Manifying blib/man3/IO::All.3
Manifying blib/man3/IO::All::DBM.3
Manifying blib/man3/IO::All::Dir.3
Manifying blib/man3/IO::All::File.3
Manifying blib/man3/IO::All::Filesys.3
Manifying blib/man3/IO::All::Link.3
Manifying blib/man3/IO::All::MLDBM.3
Manifying blib/man3/IO::All::Pipe.3
Manifying blib/man3/IO::All::STDIO.3
Manifying blib/man3/IO::All::Socket.3
Manifying blib/man3/IO::All::String.3
Manifying blib/man3/IO::All::Temp.3
  INGY/IO-All-0.86.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:25:02] t/000-compile-modules.t .. ok      109 ms
[18:25:02] t/absolute.t ............. ok      230 ms
[18:25:03] t/accept.t ............... ok     1101 ms
[18:25:04] t/all.t .................. ok      141 ms
[18:25:04] t/all2.t ................. ok       94 ms
[18:25:04] t/append.t ............... ok       90 ms
[18:25:04] t/assert.t ............... ok       98 ms
[18:25:04] t/assert2.t .............. ok       88 ms
[18:25:04] t/autotie.t .............. ok       91 ms
[18:25:04] t/backwards.t ............ skipped: requires File::ReadBackwards
[18:25:04] t/binary_utf8.t .......... ok       96 ms
[18:25:04] t/chdir.t ................ ok       97 ms
[18:25:05] t/chomp.t ................ ok       90 ms
[18:25:05] t/construct.t ............ ok      131 ms
[18:25:05] t/copy.t ................. ok       88 ms
[18:25:05] t/dbm.t .................. ok       91 ms
[18:25:05] t/devnull.t .............. ok       84 ms
[18:25:05] t/empty.t ................ ok      100 ms
[18:25:05] t/encoding.t ............. ok       95 ms
[18:25:05] t/error1.t ............... ok       77 ms
[18:25:05] t/file_spec.t ............ ok      105 ms
[18:25:05] t/file_subclass.t ........ ok       91 ms
[18:25:06] t/fileno.t ............... ok       92 ms
[18:25:06] t/glob.t ................. ok       99 ms
[18:25:06] t/head.t ................. ok       67 ms
[18:25:06] t/import_flags.t ......... ok       98 ms
[18:25:06] t/in-place.t ............. ok      103 ms
[18:25:06] t/inline_subclass.t ...... ok       97 ms
[18:25:06] t/input.t ................ ok      108 ms
[18:25:06] t/link.t ................. ok      104 ms
[18:25:06] t/link2.t ................ ok      105 ms
[18:25:07] t/lock.t ................. ok     1090 ms
[18:25:08] t/mldbm.t ................ skipped: requires MLDBM
[18:25:08] t/new.t .................. ok       85 ms
[18:25:08] t/os.t ................... ok       86 ms
[18:25:08] t/overload.t ............. ok      106 ms
[18:25:08] t/pipe.t ................. ok       73 ms
[18:25:08] t/print.t ................ ok       85 ms
[18:25:08] t/println.t .............. ok       85 ms
[18:25:08] t/read.t ................. ok       86 ms
[18:25:08] t/read_write.t ........... ok       84 ms
[18:25:08] t/release-pod-syntax.t ... skipped: these tests are for release candidate testing
[18:25:08] t/round_robin.t .......... ok       69 ms
[18:25:08] t/rt-41819.t ............. ok       79 ms
[18:25:09] t/RT81224.t .............. ok       77 ms
[18:25:09] t/scalar.t ............... ok       85 ms
[18:25:09] t/seek.t ................. ok       87 ms
[18:25:09] t/separator.t ............ ok       85 ms
[18:25:09] t/stat.t ................. ok       86 ms
[18:25:09] t/string_open.t .......... ok       85 ms
[18:25:09] t/subtleties.t ........... ok       87 ms
[18:25:09] t/synopsis1.t ............ ok       87 ms
[18:25:09] t/synopsis2.t ............ ok      124 ms
[18:25:10] t/synopsis3.t ............ ok      254 ms
[18:25:10] t/synopsis5.t ............ ok       67 ms
[18:25:10] t/tie.t .................. ok       87 ms
[18:25:10] t/tie_file.t ............. ok      103 ms
[18:25:10] t/xxx.t .................. ok      100 ms
[18:25:10]
All tests successful.

Test Summary Report
-------------------
t/os.t                 (Wstat: 0 Tests: 14 Failed: 0)
  TODO passed:   5-6
Files=58, Tests=391,  8 wallclock secs ( 0.28 usr  0.10 sys +  5.02 cusr  0.70 csys =  6.10 CPU)
Result: PASS
  INGY/IO-All-0.86.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Filesys.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Temp.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Base.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/STDIO.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Socket.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Temp.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Dir.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Link.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Dir.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/DBM.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/File.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Pipe.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/STDIO.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Socket.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Link.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Pipe.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/String.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/DBM.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/MLDBM.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/File.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/MLDBM.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/Filesys.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/IO/All/String.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::Temp.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::String.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::Socket.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::STDIO.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::Pipe.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::MLDBM.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::Link.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::Filesys.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::File.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::Dir.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All::DBM.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/IO::All.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  INGY/IO-All-0.86.tar.gz
  /usr/bin/make install  -- OK
Running install for module 'File::ReadBackwards'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/U/UR/URI/File-ReadBackwards-1.05.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/U/UR/URI/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/U/UR/URI/File-ReadBackwards-1.05.tar.gz ok
Configuring U/UR/URI/File-ReadBackwards-1.05.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for File::ReadBackwards
Writing MYMETA.yml and MYMETA.json
  URI/File-ReadBackwards-1.05.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for U/UR/URI/File-ReadBackwards-1.05.tar.gz
cp ReadBackwards.pm blib/lib/File/ReadBackwards.pm
Manifying blib/man3/File::ReadBackwards.3
  URI/File-ReadBackwards-1.05.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:25:12] t/bw.t .......... ok      310 ms
[18:25:12] t/large_file.t .. ok       73 ms
[18:25:12]
All tests successful.
Files=2, Tests=173,  0 wallclock secs ( 0.05 usr  0.01 sys +  0.36 cusr  0.01 csys =  0.43 CPU)
Result: PASS
  URI/File-ReadBackwards-1.05.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/ReadBackwards.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::ReadBackwards.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  URI/File-ReadBackwards-1.05.tar.gz
  /usr/bin/make install  -- OK
Running install for module 'File::MimeInfo'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/M/MI/MICHIELB/File-MimeInfo-0.26.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/M/MI/MICHIELB/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/M/MI/MICHIELB/File-MimeInfo-0.26.tar.gz ok
Configuring M/MI/MICHIELB/File-MimeInfo-0.26.tar.gz with Makefile.PL
Warning: prerequisite File::BaseDir 0.03 not found.
Warning: prerequisite File::DesktopEntry 0.04 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for File::MimeInfo
Writing MYMETA.yml and MYMETA.json
  MICHIELB/File-MimeInfo-0.26.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for M/MI/MICHIELB/File-MimeInfo-0.26.tar.gz
---- Unsatisfied dependencies detected during ----
----    MICHIELB/File-MimeInfo-0.26.tar.gz    ----
    File::BaseDir [build_requires]
    File::DesktopEntry [build_requires]
Running install for module 'File::BaseDir'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/P/PA/PARDUS/File-BaseDir-0.03.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/P/PA/PARDUS/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/P/PA/PARDUS/File-BaseDir-0.03.tar.gz ok
Configuring P/PA/PARDUS/File-BaseDir-0.03.tar.gz with Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'File-BaseDir' version '0.03'
  PARDUS/File-BaseDir-0.03.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Build.PL -- OK
Running Build for P/PA/PARDUS/File-BaseDir-0.03.tar.gz
Building File-BaseDir
  PARDUS/File-BaseDir-0.03.tar.gz
  ./Build -- OK
Running Build test
[18:25:14] t/01_vars.t ....... ok       44 ms
[18:25:14] t/02_lookup.t ..... ok       45 ms
[18:25:14] t/03_OO.t ......... ok       54 ms
[18:25:14] t/04_pod_ok.t ..... ok       89 ms
[18:25:15] t/05_pod_cover.t .. ok       78 ms
[18:25:15]
All tests successful.
Files=5, Tests=37,  1 wallclock secs ( 0.04 usr  0.02 sys +  0.29 cusr  0.04 csys =  0.39 CPU)
Result: PASS
  PARDUS/File-BaseDir-0.03.tar.gz
  ./Build test -- OK
Running Build install
Building File-BaseDir
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/BaseDir.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::BaseDir.3
  PARDUS/File-BaseDir-0.03.tar.gz
  ./Build install  -- OK
Running install for module 'File::DesktopEntry'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/M/MI/MICHIELB/File-DesktopEntry-0.08.tar.gz
Checksum for /home/travis/.cpan/sources/authors/id/M/MI/MICHIELB/File-DesktopEntry-0.08.tar.gz ok
Configuring M/MI/MICHIELB/File-DesktopEntry-0.08.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for File::DesktopEntry
Writing MYMETA.yml and MYMETA.json
  MICHIELB/File-DesktopEntry-0.08.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for M/MI/MICHIELB/File-DesktopEntry-0.08.tar.gz
cp lib/File/DesktopEntry.pm blib/lib/File/DesktopEntry.pm
Manifying blib/man3/File::DesktopEntry.3
  MICHIELB/File-DesktopEntry-0.08.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:25:16] t/01_data.t .......... ok       56 ms
[18:25:16] t/02_DesktopEntry.t .. ok       54 ms
[18:25:16] t/03_run.t ........... ok      141 ms
[18:25:16] t/04_pod_ok.t ........ ok       95 ms
[18:25:16] t/05_pod_cover.t ..... ok       90 ms
[18:25:16] t/06_changes.t ....... skipped: Test::CPAN::Changes required for this test
[18:25:16]
All tests successful.
Files=6, Tests=61,  0 wallclock secs ( 0.04 usr  0.02 sys +  0.42 cusr  0.05 csys =  0.53 CPU)
Result: PASS
  MICHIELB/File-DesktopEntry-0.08.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/DesktopEntry.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::DesktopEntry.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  MICHIELB/File-DesktopEntry-0.08.tar.gz
  /usr/bin/make install  -- OK
  MICHIELB/File-MimeInfo-0.26.tar.gz
  Has already been unwrapped into directory /home/travis/.cpan/build/File-MimeInfo-0.26-iVInE0
  MICHIELB/File-MimeInfo-0.26.tar.gz
  Has already been prepared
Running make for M/MI/MICHIELB/File-MimeInfo-0.26.tar.gz
cp lib/File/MimeInfo.pm blib/lib/File/MimeInfo.pm
cp lib/File/MimeInfo/Rox.pm blib/lib/File/MimeInfo/Rox.pm
cp lib/File/MimeInfo/Cookbook.pod blib/lib/File/MimeInfo/Cookbook.pod
cp lib/File/MimeInfo/Magic.pm blib/lib/File/MimeInfo/Magic.pm
cp lib/File/MimeInfo/Applications.pm blib/lib/File/MimeInfo/Applications.pm
cp mimetype blib/script/mimetype
/home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mimetype
cp mimeopen blib/script/mimeopen
/home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mimeopen
Manifying blib/man1/mimeopen.1
Manifying blib/man1/mimetype.1
Manifying blib/man3/File::MimeInfo.3
Manifying blib/man3/File::MimeInfo::Applications.3
Manifying blib/man3/File::MimeInfo::Cookbook.3
Manifying blib/man3/File::MimeInfo::Magic.3
Manifying blib/man3/File::MimeInfo::Rox.3
  MICHIELB/File-MimeInfo-0.26.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
WARNING: You don't seem to have any mimeinfo.cache files.
Try running the update-desktop-database command. If you
don't have this command you should install the
desktop-file-utils package. This package is available from
http://freedesktop.org/wiki/Software/desktop-file-utils/
[18:25:18] t/00_use_ok.t ...... ok       56 ms
[18:25:18] t/01_normal.t ...... ok       54 ms
[18:25:18] t/02_magic.t ....... ok       56 ms
[18:25:18] t/03_rox.t ......... ok       55 ms
[18:25:18] t/04_IO_objects.t .. ok       46 ms
[18:25:18] t/05_more.t ........ ok       52 ms
[18:25:18] t/06_pod_ok.t ...... ok      114 ms
WARNING: You don't seem to have any mimeinfo.cache files.
Try running the update-desktop-database command. If you
don't have this command you should install the
desktop-file-utils package. This package is available from
http://freedesktop.org/wiki/Software/desktop-file-utils/
[18:25:18] t/07_pod_cover.t ... ok      104 ms
[18:25:18] t/08_changes.t ..... skipped: Test::CPAN::Changes 0.18 or later required for this test
[18:25:18] t/09_no404s.t ...... skipped: Skip $ENV{EXTENDED_TESTING} is not set
[18:25:18]
All tests successful.
Files=10, Tests=85,  0 wallclock secs ( 0.07 usr  0.03 sys +  0.54 cusr  0.06 csys =  0.70 CPU)
Result: PASS
  MICHIELB/File-MimeInfo-0.26.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/MimeInfo.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/MimeInfo/Applications.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/MimeInfo/Magic.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/MimeInfo/Cookbook.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/MimeInfo/Rox.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man1/mimetype.1
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man1/mimeopen.1
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::MimeInfo::Rox.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::MimeInfo::Magic.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::MimeInfo::Cookbook.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::MimeInfo::Applications.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::MimeInfo.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/bin/mimeopen
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/bin/mimetype
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  MICHIELB/File-MimeInfo-0.26.tar.gz
  /usr/bin/make install  -- OK
Running install for module 'File::Copy::Recursive'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.38.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/D/DM/DMUEY/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.38.tar.gz ok
Configuring D/DM/DMUEY/File-Copy-Recursive-0.38.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for File::Copy::Recursive
Writing MYMETA.yml and MYMETA.json
  DMUEY/File-Copy-Recursive-0.38.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for D/DM/DMUEY/File-Copy-Recursive-0.38.tar.gz
cp Recursive.pm blib/lib/File/Copy/Recursive.pm
Manifying blib/man3/File::Copy::Recursive.3
  DMUEY/File-Copy-Recursive-0.38.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:25:20] t/1.t .. ok       47 ms
[18:25:20]
All tests successful.
Files=1, Tests=1,  0 wallclock secs ( 0.03 usr  0.00 sys +  0.04 cusr  0.00 csys =  0.07 CPU)
Result: PASS
  DMUEY/File-Copy-Recursive-0.38.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/File/Copy/Recursive.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/File::Copy::Recursive.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  DMUEY/File-Copy-Recursive-0.38.tar.gz
  /usr/bin/make install  -- OK
Running install for module 'Inline'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/I/IN/INGY/Inline-0.78.tar.gz
Checksum for /home/travis/.cpan/sources/authors/id/I/IN/INGY/Inline-0.78.tar.gz ok
Configuring I/IN/INGY/Inline-0.78.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Inline
Writing MYMETA.yml and MYMETA.json
  INGY/Inline-0.78.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for I/IN/INGY/Inline-0.78.tar.gz
---- Unsatisfied dependencies detected during ----
----          INGY/Inline-0.78.tar.gz         ----
    Test::Warn [build_requires]
Running install for module 'Test::Warn'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/C/CH/CHORNY/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/C/CH/CHORNY/Test-Warn-0.30.tar.gz ok
Configuring C/CH/CHORNY/Test-Warn-0.30.tar.gz with Makefile.PL
Warning: prerequisite Sub::Uplevel 0.12 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Test::Warn
Writing MYMETA.yml and MYMETA.json
  CHORNY/Test-Warn-0.30.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for C/CH/CHORNY/Test-Warn-0.30.tar.gz
---- Unsatisfied dependencies detected during ----
----       CHORNY/Test-Warn-0.30.tar.gz       ----
    Sub::Uplevel [requires]
Running install for module 'Sub::Uplevel'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.25.tar.gz
Checksum for /home/travis/.cpan/sources/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.25.tar.gz ok
Configuring D/DA/DAGOLDEN/Sub-Uplevel-0.25.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Sub::Uplevel
Writing MYMETA.yml and MYMETA.json
  DAGOLDEN/Sub-Uplevel-0.25.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for D/DA/DAGOLDEN/Sub-Uplevel-0.25.tar.gz
cp lib/Sub/Uplevel.pm blib/lib/Sub/Uplevel.pm
Manifying blib/man3/Sub::Uplevel.3
  DAGOLDEN/Sub-Uplevel-0.25.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker 6.17 6.98
# 
# === Build Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 6.98
# 
# === Test Requires ===
# 
#     Module              Want     Have
#     ------------------- ---- --------
#     Exporter             any     5.70
#     ExtUtils::MakeMaker  any     6.98
#     File::Spec           any     3.47
#     Test::More           any 1.001002
# 
# === Test Recommends ===
# 
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.143240
# 
# === Runtime Requires ===
# 
#     Module   Want   Have
#     -------- ---- ------
#     Carp      any 1.3301
#     constant  any   1.31
#     strict    any   1.08
#     warnings  any   1.23
# 
[18:25:24] t/00-report-prereqs.t ........ ok      192 ms
[18:25:24] t/01_die_check.t ............. ok       27 ms
[18:25:24] t/02_uplevel.t ............... ok       43 ms
[18:25:24] t/03_nested_uplevels.t ....... ok       82 ms
[18:25:24] t/04_honor_later_override.t .. ok       31 ms
[18:25:24] t/05_honor_prior_override.t .. ok       32 ms
[18:25:24] t/06_db_args.t ............... ok       30 ms
[18:25:24] t/07_uplevel_too_high.t ...... ok       35 ms
[18:25:24] t/08_exporter.t .............. ok       35 ms
[18:25:24] t/09_emptylist.t ............. ok       31 ms
[18:25:24]
All tests successful.
Files=10, Tests=158,  1 wallclock secs ( 0.07 usr  0.01 sys +  0.49 cusr  0.06 csys =  0.63 CPU)
Result: PASS
  DAGOLDEN/Sub-Uplevel-0.25.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Sub/Uplevel.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Sub::Uplevel.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  DAGOLDEN/Sub-Uplevel-0.25.tar.gz
  /usr/bin/make install  -- OK
  CHORNY/Test-Warn-0.30.tar.gz
  Has already been unwrapped into directory /home/travis/.cpan/build/Test-Warn-0.30-6D8Kih
  CHORNY/Test-Warn-0.30.tar.gz
  Has already been prepared
Running make for C/CH/CHORNY/Test-Warn-0.30.tar.gz
cp Warn.pm blib/lib/Test/Warn.pm
Manifying blib/man3/Test::Warn.3
  CHORNY/Test-Warn-0.30.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:25:25] t/1.t ............... ok       31 ms
[18:25:25] t/carped.t .......... ok       47 ms
[18:25:25] t/warning_is.t ...... ok       90 ms
[18:25:25] t/warning_like.t .... ok      153 ms
[18:25:26] t/warnings_are.t .... ok      996 ms
[18:25:26] t/warnings_exist.t .. ok       81 ms
[18:25:29] t/warnings_like.t ... ok     2147 ms
[18:25:29]
All tests successful.
Files=7, Tests=835,  4 wallclock secs ( 0.19 usr  0.03 sys +  3.50 cusr  0.05 csys =  3.77 CPU)
Result: PASS
  CHORNY/Test-Warn-0.30.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Test/Warn.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Test::Warn.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  CHORNY/Test-Warn-0.30.tar.gz
  /usr/bin/make install  -- OK
  INGY/Inline-0.78.tar.gz
  Has already been unwrapped into directory /home/travis/.cpan/build/Inline-0.78-B29QN_
  INGY/Inline-0.78.tar.gz
  Has already been prepared
Running make for I/IN/INGY/Inline-0.78.tar.gz
cp lib/Inline.pod blib/lib/Inline.pod
cp lib/Inline/denter.pm blib/lib/Inline/denter.pm
cp lib/Inline/API.pod blib/lib/Inline/API.pod
cp lib/Inline/MakeMaker.pm blib/lib/Inline/MakeMaker.pm
cp lib/Inline/FAQ.pod blib/lib/Inline/FAQ.pod
cp lib/Inline/MakeMaker/Changes blib/lib/Inline/MakeMaker/Changes
cp lib/Inline/Foo.pm blib/lib/Inline/Foo.pm
cp lib/Inline.pm blib/lib/Inline.pm
cp lib/Inline/Support.pod blib/lib/Inline/Support.pod
Manifying blib/man3/Inline.3
Manifying blib/man3/Inline::API.3
Manifying blib/man3/Inline::FAQ.3
Manifying blib/man3/Inline::Support.3
  INGY/Inline-0.78.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:25:30] t/000-require-modules.t .. ok      149 ms
[18:25:30] t/01usages.t ............. ok      309 ms
[18:25:31] t/02config.t ............. ok      247 ms
[18:25:31] t/03errors.t ............. ok      296 ms
[18:25:31] t/04create.t ............. ok      252 ms
Skipping - couldn't load the Inline::Files module
[18:25:31] t/05files.t .............. ok      199 ms
[18:25:32] t/06rewrite_config.t ..... ok      368 ms
[18:25:32] t/07rewrite2_config.t .... ok      295 ms
[18:25:32] t/release-pod-syntax.t ... skipped: these tests are for release candidate testing
[18:25:32]
All tests successful.
Files=9, Tests=25,  2 wallclock secs ( 0.04 usr  0.03 sys +  1.95 cusr  0.19 csys =  2.21 CPU)
Result: PASS
  INGY/Inline-0.78.tar.gz
  /usr/bin/make test -- OK
Running make install
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/Support.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/Foo.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/FAQ.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/MakeMaker.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/API.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/denter.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/MakeMaker/Changes
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline::Support.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline::FAQ.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline::API.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  INGY/Inline-0.78.tar.gz
  /usr/bin/make install  -- OK
Running install for module 'YAML::XS'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/I/IN/INGY/YAML-LibYAML-0.59.tar.gz
Checksum for /home/travis/.cpan/sources/authors/id/I/IN/INGY/YAML-LibYAML-0.59.tar.gz ok
Configuring I/IN/INGY/YAML-LibYAML-0.59.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for YAML::XS::LibYAML
Writing MYMETA.yml and MYMETA.json
Generating a Unix-style Makefile
Writing Makefile for YAML::LibYAML
Writing MYMETA.yml and MYMETA.json
  INGY/YAML-LibYAML-0.59.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for I/IN/INGY/YAML-LibYAML-0.59.tar.gz
cp lib/YAML/XS.pod blib/lib/YAML/XS.pod
cp lib/YAML/XS.pm blib/lib/YAML/XS.pm
cp lib/YAML/LibYAML.pod blib/lib/YAML/LibYAML.pod
cp lib/YAML/LibYAML.pm blib/lib/YAML/LibYAML.pm
make[1]: Entering directory `/home/travis/.cpan/build/YAML-LibYAML-0.59-ZXr16R/LibYAML'
cp lib/YAML/XS/LibYAML.pm ../blib/lib/YAML/XS/LibYAML.pm
Running Mkbootstrap for YAML::XS::LibYAML ()
chmod 644 LibYAML.bs
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H api.c
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H dumper.c
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H emitter.c
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H loader.c
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H parser.c
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H perl_libyaml.c
perl_libyaml.c: In function รข๏ฟฝ๏ฟฝloader_error_msgรข๏ฟฝ๏ฟฝ:
perl_libyaml.c:100:9: warning: format รข๏ฟฝ๏ฟฝ%dรข๏ฟฝ๏ฟฝ expects argument of type รข๏ฟฝ๏ฟฝintรข๏ฟฝ๏ฟฝ, but argument 3 has type รข๏ฟฝ๏ฟฝsize_tรข๏ฟฝ๏ฟฝ [-Wformat]
perl_libyaml.c:100:9: warning: format รข๏ฟฝ๏ฟฝ%dรข๏ฟฝ๏ฟฝ expects argument of type รข๏ฟฝ๏ฟฝintรข๏ฟฝ๏ฟฝ, but argument 4 has type รข๏ฟฝ๏ฟฝsize_tรข๏ฟฝ๏ฟฝ [-Wformat]
perl_libyaml.c:109:9: warning: format รข๏ฟฝ๏ฟฝ%dรข๏ฟฝ๏ฟฝ expects argument of type รข๏ฟฝ๏ฟฝintรข๏ฟฝ๏ฟฝ, but argument 4 has type รข๏ฟฝ๏ฟฝsize_tรข๏ฟฝ๏ฟฝ [-Wformat]
perl_libyaml.c:109:9: warning: format รข๏ฟฝ๏ฟฝ%dรข๏ฟฝ๏ฟฝ expects argument of type รข๏ฟฝ๏ฟฝintรข๏ฟฝ๏ฟฝ, but argument 5 has type รข๏ฟฝ๏ฟฝsize_tรข๏ฟฝ๏ฟฝ [-Wformat]
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H reader.c
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H scanner.c
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H writer.c
/home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/ExtUtils/xsubpp  -typemap /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/ExtUtils/typemap  LibYAML.xs > LibYAML.xsc && mv LibYAML.xsc LibYAML.c
cc -c  -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fPIC "-I/home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/CORE"  -DHAVE_CONFIG_H LibYAML.c
rm -f ../blib/arch/auto/YAML/XS/LibYAML/LibYAML.so
cc  -shared -O2 -L/usr/local/lib -fstack-protector api.o dumper.o emitter.o loader.o parser.o perl_libyaml.o reader.o scanner.o writer.o LibYAML.o  -o ../blib/arch/auto/YAML/XS/LibYAML/LibYAML.so     \
            \

chmod 755 ../blib/arch/auto/YAML/XS/LibYAML/LibYAML.so
/home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl -MExtUtils::Command::MM -e 'cp_nonempty' -- LibYAML.bs ../blib/arch/auto/YAML/XS/LibYAML/LibYAML.bs 644
Manifying ../blib/man3/YAML::XS::LibYAML.3
make[1]: Leaving directory `/home/travis/.cpan/build/YAML-LibYAML-0.59-ZXr16R/LibYAML'
Manifying blib/man3/YAML::LibYAML.3
Manifying blib/man3/YAML::XS.3
  INGY/YAML-LibYAML-0.59.tar.gz
  /usr/bin/make -- OK
Running make test
make[1]: Entering directory `/home/travis/.cpan/build/YAML-LibYAML-0.59-ZXr16R/LibYAML'
Running Mkbootstrap for YAML::XS::LibYAML ()
chmod 644 LibYAML.bs
make[1]: Leaving directory `/home/travis/.cpan/build/YAML-LibYAML-0.59-ZXr16R/LibYAML'
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:25:39] t/000-require-modules.t .. ok      108 ms
[18:25:40] t/alias.t ................ ok      126 ms
[18:25:40] t/api.t .................. ok      129 ms
[18:25:40] t/ascii.t ................ ok      134 ms
[18:25:40] t/blessed.t .............. ok      130 ms
[18:25:40] t/boolean.t .............. ok      127 ms
[18:25:40] t/bug-pvf.t .............. ok      132 ms
[18:25:40] t/bug-stack.t ............ ok      124 ms
[18:25:40] t/code.t ................. ok      126 ms
[18:25:41] t/dump-heuristics.t ...... ok      123 ms
[18:25:41] t/dump.t ................. ok      124 ms
[18:25:41] t/empty.t ................ ok      128 ms
[18:25:41] t/error.t ................ ok      132 ms
[18:25:41] t/file.t ................. ok      131 ms
[18:25:41] t/glob.t ................. ok      129 ms
[18:25:41] t/leak.t ................. ok      158 ms
[18:25:42] t/load.t ................. ok      138 ms
[18:25:42] t/loadfile-empty.t ....... ok       87 ms
[18:25:42] t/long_plain_wrap.t ...... skipped: Failing test. Not yet implemented
[18:25:42] t/magic.t ................ ok      123 ms
[18:25:42] t/native.t ............... ok      126 ms
[18:25:42] t/null.t ................. ok      127 ms
[18:25:42] t/numbers.t .............. ok      130 ms
[18:25:42] t/pl_sv_undef.t .......... ok      131 ms
[18:25:43] t/private.t .............. ok      135 ms
[18:25:43] t/quote.t ................ ok      139 ms
[18:25:43] t/ref-scalar.t ........... ok      140 ms
[18:25:43] t/regexp.t ............... ok      148 ms
[18:25:43] t/release-pod-syntax.t ... skipped: these tests are for release candidate testing
[18:25:43] t/string_nulls.t ......... ok      129 ms
[18:25:43] t/tags.t ................. ok      142 ms
[18:25:43] t/tied.t ................. ok      127 ms
[18:25:44] t/utf8.t ................. ok      126 ms
[18:25:44]
All tests successful.
Files=33, Tests=272,  5 wallclock secs ( 0.16 usr  0.05 sys +  3.78 cusr  0.42 csys =  4.41 CPU)
Result: PASS
make[1]: Entering directory `/home/travis/.cpan/build/YAML-LibYAML-0.59-ZXr16R/LibYAML'
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-I../blib/lib" "-I../blib/arch" test.pl
1..1
ok 1 - Tests for libyaml extension are all defined at the top level
make[1]: Leaving directory `/home/travis/.cpan/build/YAML-LibYAML-0.59-ZXr16R/LibYAML'
  INGY/YAML-LibYAML-0.59.tar.gz
  /usr/bin/make test -- OK
Running make install
make[1]: Entering directory `/home/travis/.cpan/build/YAML-LibYAML-0.59-ZXr16R/LibYAML'
make[1]: Leaving directory `/home/travis/.cpan/build/YAML-LibYAML-0.59-ZXr16R/LibYAML'
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/x86_64-linux-thread-multi/auto/YAML/XS/LibYAML/LibYAML.so
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/x86_64-linux-thread-multi/YAML/LibYAML.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/x86_64-linux-thread-multi/YAML/LibYAML.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/x86_64-linux-thread-multi/YAML/XS.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/x86_64-linux-thread-multi/YAML/XS.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/x86_64-linux-thread-multi/YAML/XS/LibYAML.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/YAML::XS.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/YAML::LibYAML.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/YAML::XS::LibYAML.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  INGY/YAML-LibYAML-0.59.tar.gz
  /usr/bin/make install  -- OK
Test::Warn is up to date (0.30).
Running install for module 'Parse::RecDescent'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967009.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/J/JT/JTBRAUN/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967009.tar.gz ok
Configuring J/JT/JTBRAUN/Parse-RecDescent-1.967009.tar.gz with Build.PL
Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'Parse-RecDescent' version '1.967009'
  JTBRAUN/Parse-RecDescent-1.967009.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Build.PL -- OK
Running Build for J/JT/JTBRAUN/Parse-RecDescent-1.967009.tar.gz
Building Parse-RecDescent
  JTBRAUN/Parse-RecDescent-1.967009.tar.gz
  ./Build -- OK
Running Build test
# Testing Parse::RecDescent 1.967009
[18:25:46] t/00.load.t ............... ok       84 ms
[18:25:46] t/01.basics.t ............. ok      247 ms
[18:25:47] t/autotree.t .............. ok      182 ms
[18:25:47] t/leftop_cap.t ............ ok      150 ms
[18:25:47] t/pod.t ................... ok      238 ms
[18:25:47] t/precompile.t ............ ok      175 ms
[18:25:47] t/re_capture_return.t ..... ok      109 ms
[18:25:48] t/reentry.t ............... ok      311 ms
[18:25:48] t/separated_repetition.t .. ok      102 ms
[18:25:48] t/skip.t .................. ok      126 ms
[18:25:48] t/skip_dynamic.t .......... ok      103 ms
[18:25:48] t/text.t .................. ok       97 ms
[18:25:48]
All tests successful.
Files=12, Tests=94,  2 wallclock secs ( 0.09 usr  0.02 sys +  1.82 cusr  0.15 csys =  2.08 CPU)
Result: PASS
  JTBRAUN/Parse-RecDescent-1.967009.tar.gz
  ./Build test -- OK
Running Build install
Building Parse-RecDescent
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Parse/RecDescent.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Parse::RecDescent.3
  JTBRAUN/Parse-RecDescent-1.967009.tar.gz
  ./Build install  -- OK
Running install for module 'ExtUtils::MakeMaker'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.04.tar.gz
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/B/BI/BINGOS/CHECKSUMS
Checksum for /home/travis/.cpan/sources/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.04.tar.gz ok
Configuring B/BI/BINGOS/ExtUtils-MakeMaker-7.04.tar.gz with Makefile.PL
Using included version of CPAN::Meta::Requirements (2.127) as it is newer than the installed version (2.125).
Using included version of ExtUtils::Manifest (1.65) as it is newer than the installed version (1.63).
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::MakeMaker
Writing MYMETA.yml and MYMETA.json
  BINGOS/ExtUtils-MakeMaker-7.04.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for B/BI/BINGOS/ExtUtils-MakeMaker-7.04.tar.gz
cp lib/ExtUtils/MM_Win32.pm blib/lib/ExtUtils/MM_Win32.pm
cp inc/CPAN/Meta/Requirements.pm blib/lib/CPAN/Meta/Requirements.pm
cp lib/ExtUtils/Command/MM.pm blib/lib/ExtUtils/Command/MM.pm
cp lib/ExtUtils/MakeMaker/version/regex.pm blib/lib/ExtUtils/MakeMaker/version/regex.pm
cp lib/ExtUtils/testlib.pm blib/lib/ExtUtils/testlib.pm
cp lib/ExtUtils/MakeMaker.pm blib/lib/ExtUtils/MakeMaker.pm
cp lib/ExtUtils/MakeMaker/Config.pm blib/lib/ExtUtils/MakeMaker/Config.pm
cp lib/ExtUtils/MM_VMS.pm blib/lib/ExtUtils/MM_VMS.pm
cp lib/ExtUtils/Mksymlists.pm blib/lib/ExtUtils/Mksymlists.pm
cp lib/ExtUtils/MM_AIX.pm blib/lib/ExtUtils/MM_AIX.pm
cp lib/ExtUtils/MM_BeOS.pm blib/lib/ExtUtils/MM_BeOS.pm
cp lib/ExtUtils/MM_NW5.pm blib/lib/ExtUtils/MM_NW5.pm
cp lib/ExtUtils/MM_OS2.pm blib/lib/ExtUtils/MM_OS2.pm
cp lib/ExtUtils/Mkbootstrap.pm blib/lib/ExtUtils/Mkbootstrap.pm
cp lib/ExtUtils/Liblist.pm blib/lib/ExtUtils/Liblist.pm
cp lib/ExtUtils/MM_Cygwin.pm blib/lib/ExtUtils/MM_Cygwin.pm
cp lib/ExtUtils/MM_DOS.pm blib/lib/ExtUtils/MM_DOS.pm
cp lib/ExtUtils/Liblist/Kid.pm blib/lib/ExtUtils/Liblist/Kid.pm
cp lib/ExtUtils/MY.pm blib/lib/ExtUtils/MY.pm
cp lib/ExtUtils/MakeMaker/version.pm blib/lib/ExtUtils/MakeMaker/version.pm
cp lib/ExtUtils/MM_Any.pm blib/lib/ExtUtils/MM_Any.pm
cp lib/ExtUtils/MM_QNX.pm blib/lib/ExtUtils/MM_QNX.pm
cp lib/ExtUtils/MakeMaker/Locale.pm blib/lib/ExtUtils/MakeMaker/Locale.pm
cp inc/ExtUtils/MANIFEST.SKIP blib/lib/ExtUtils/MANIFEST.SKIP
cp lib/ExtUtils/MM_Darwin.pm blib/lib/ExtUtils/MM_Darwin.pm
cp lib/ExtUtils/MM_Unix.pm blib/lib/ExtUtils/MM_Unix.pm
cp lib/ExtUtils/MM_UWIN.pm blib/lib/ExtUtils/MM_UWIN.pm
cp lib/ExtUtils/MakeMaker/Tutorial.pod blib/lib/ExtUtils/MakeMaker/Tutorial.pod
cp lib/ExtUtils/MM_MacOS.pm blib/lib/ExtUtils/MM_MacOS.pm
cp lib/ExtUtils/MM_Win95.pm blib/lib/ExtUtils/MM_Win95.pm
cp lib/ExtUtils/MakeMaker/version/vpp.pm blib/lib/ExtUtils/MakeMaker/version/vpp.pm
cp lib/ExtUtils/MM_VOS.pm blib/lib/ExtUtils/MM_VOS.pm
cp lib/ExtUtils/MakeMaker/FAQ.pod blib/lib/ExtUtils/MakeMaker/FAQ.pod
cp inc/ExtUtils/Manifest.pm blib/lib/ExtUtils/Manifest.pm
cp lib/ExtUtils/MM.pm blib/lib/ExtUtils/MM.pm
cp bin/instmodsh blib/script/instmodsh
"/home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl" "-Iblib/arch" "-Iblib/lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/instmodsh
Manifying 1 pod document
Manifying 30 pod documents
  BINGOS/ExtUtils-MakeMaker-7.04.tar.gz
  /usr/bin/make -- OK
Running make test
PERL_DL_NONLAZY=1 "/home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl" "-Iblib/arch" "-Iblib/lib" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:25:52] t/00compile.t ............. ok      538 ms
[18:25:52] t/01perl_bugs.t ........... ok       29 ms
[18:25:52] t/arch_check.t ............ ok      143 ms
[18:25:52] t/backwards.t ............. ok      149 ms
[18:26:00] t/basic.t ................. ok     7577 ms
[18:26:00] t/build_man.t ............. ok      621 ms
[18:26:00] t/cd.t .................... ok      190 ms
[18:26:01] t/config.t ................ ok       69 ms
[18:26:01] t/dir_target.t ............ ok      169 ms
[18:26:01] t/echo.t .................. ok      230 ms
[18:26:01] t/FIRST_MAKEFILE.t ........ ok      457 ms
[18:26:02] t/fix_libs.t .............. ok      153 ms
[18:26:02] t/fixin.t ................. ok      179 ms
[18:26:02] t/hints.t ................. ok      167 ms
[18:26:02] t/INST.t .................. ok      421 ms
[18:26:03] t/INST_PREFIX.t ........... ok      753 ms
[18:26:07] t/INSTALL_BASE.t .......... ok     3590 ms
[18:26:07] t/installed_file.t ........ ok      156 ms
[18:26:07] t/is_of_type.t ............ ok      157 ms
[18:26:07] t/Liblist.t ............... ok      116 ms
Unrecognized argument in LIBS ignored: 'unreal_test'
Unrecognized argument in LIBS ignored: 'unreal_test'
[18:26:07] t/Liblist_Kid.t ........... ok      101 ms
[18:26:07] t/make.t .................. ok      145 ms
[18:26:08] t/MakeMaker_Parameters.t .. ok      170 ms
[18:26:08] t/maketext_filter.t ....... ok      159 ms
[18:26:08] t/meta_convert.t .......... ok      292 ms
[18:26:08] t/metafile_data.t ......... ok      314 ms
[18:26:08] t/metafile_file.t ......... ok      146 ms
[18:26:10] t/min_perl_version.t ...... ok     1107 ms
[18:26:10] t/miniperl.t .............. skipped: miniperl test only necessary for the perl core
[18:26:10] t/Mkbootstrap.t ........... ok       35 ms
[18:26:10] t/MM_Any.t ................ ok      145 ms
[18:26:10] t/MM_BeOS.t ............... skipped: This is not BeOS
[18:26:10] t/MM_Cygwin.t ............. skipped: This is not cygwin
[18:26:10] t/MM_NW5.t ................ skipped: This is not NW5
[18:26:10] t/MM_OS2.t ................ skipped: This is not OS/2
[18:26:10] t/MM_Unix.t ............... ok      157 ms
[18:26:10] t/MM_VMS.t ................ skipped: This is not VMS
[18:26:10] t/MM_Win32.t .............. skipped: This is not Win32
[18:26:10] t/oneliner.t .............. ok      227 ms
[18:26:11] t/parse_abstract.t ........ ok      158 ms
[18:26:11] t/parse_version.t ......... ok      208 ms
[18:26:12] t/PL_FILES.t .............. ok      881 ms
[18:26:12] t/pm.t .................... ok      316 ms
[18:26:16] t/pm_to_blib.t ............ ok     4422 ms
[18:26:17] t/pod2man.t ............... ok       90 ms
[18:26:17] t/postamble.t ............. ok      314 ms
[18:26:17] t/prefixify.t ............. ok      138 ms
[18:26:18] t/prereq.t ................ ok      654 ms
[18:26:18] t/prereq_print.t .......... ok      448 ms
[18:26:18] t/problems.t .............. ok      148 ms
[18:26:18] t/prompt.t ................ ok      137 ms
[18:26:21] t/recurs.t ................ ok     2512 ms
[18:26:21] t/revision.t .............. ok      160 ms
[18:26:22] t/several_authors.t ....... ok      706 ms
[18:26:22] t/split_command.t ......... ok      183 ms
[18:26:22] t/test_boilerplate.t ...... ok      149 ms
[18:26:22] t/testlib.t ............... ok       40 ms
[18:26:23] t/unicode.t ............... ok     1096 ms
[18:26:24] t/VERSION_FROM.t .......... ok      233 ms
[18:26:24] t/vstrings.t .............. ok      500 ms
[18:26:24] t/WriteEmptyMakefile.t .... ok      239 ms
[18:26:26] t/writemakefile_args.t .... ok     1742 ms
[18:26:28] t/xs.t .................... ok     1545 ms
[18:26:28]
All tests successful.

Test Summary Report
-------------------
t/pm_to_blib.t          (Wstat: 0 Tests: 14 Failed: 0)
  TODO passed:   10-11
Files=63, Tests=1103, 37 wallclock secs ( 0.41 usr  0.09 sys + 28.48 cusr  4.41 csys = 33.39 CPU)
Result: PASS
  BINGOS/ExtUtils-MakeMaker-7.04.tar.gz
  /usr/bin/make test -- OK
Running make install
Manifying 1 pod document
Manifying 30 pod documents
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/CPAN/Meta/Requirements.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/Manifest.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_VOS.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_Win95.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_MacOS.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_UWIN.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_Unix.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_Darwin.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MANIFEST.SKIP
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_QNX.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_Any.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MY.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_DOS.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_Cygwin.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/Liblist.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/Mkbootstrap.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_OS2.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_NW5.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_BeOS.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_AIX.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/Mksymlists.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_VMS.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MakeMaker.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/testlib.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MM_Win32.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/Liblist/Kid.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MakeMaker/FAQ.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MakeMaker/Tutorial.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MakeMaker/Locale.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MakeMaker/version.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MakeMaker/Config.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MakeMaker/version/vpp.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/MakeMaker/version/regex.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/ExtUtils/Command/MM.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/ExtUtils::Manifest.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/CPAN::Meta::Requirements.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  BINGOS/ExtUtils-MakeMaker-7.04.tar.gz
  /usr/bin/make install  -- OK
Running install for module 'Pegex'
Fetching with HTTP::Tiny:
http://cpan.metacpan.org/authors/id/I/IN/INGY/Pegex-0.60.tar.gz
Checksum for /home/travis/.cpan/sources/authors/id/I/IN/INGY/Pegex-0.60.tar.gz ok
Configuring I/IN/INGY/Pegex-0.60.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Pegex
Writing MYMETA.yml and MYMETA.json
  INGY/Pegex-0.60.tar.gz
  /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl Makefile.PL -- OK
Running make for I/IN/INGY/Pegex-0.60.tar.gz
cp share/pegex.pgx blib/lib/auto/share/dist/Pegex/pegex.pgx
cp lib/Pegex/Optimizer.pm blib/lib/Pegex/Optimizer.pm
cp lib/Pegex/Bootstrap.pm blib/lib/Pegex/Bootstrap.pm
cp lib/Pegex/Overview.pod blib/lib/Pegex/Overview.pod
cp lib/Pegex/Tree.pod blib/lib/Pegex/Tree.pod
cp lib/Pegex/Base.pm blib/lib/Pegex/Base.pm
cp lib/Pegex/Input.pod blib/lib/Pegex/Input.pod
cp lib/Pegex/Tutorial.pod blib/lib/Pegex/Tutorial.pod
cp lib/Pegex/Tree.pm blib/lib/Pegex/Tree.pm
cp lib/Pegex/Regex.pod blib/lib/Pegex/Regex.pod
cp lib/Pegex/Syntax.pod blib/lib/Pegex/Syntax.pod
cp lib/Pegex/Bootstrap.pod blib/lib/Pegex/Bootstrap.pod
cp lib/Pegex/Pegex/AST.pm blib/lib/Pegex/Pegex/AST.pm
cp lib/Pegex/Grammar/Atoms.pod blib/lib/Pegex/Grammar/Atoms.pod
cp lib/Pegex/Grammar/Atoms.pm blib/lib/Pegex/Grammar/Atoms.pm
cp lib/Pegex/Parser.pod blib/lib/Pegex/Parser.pod
cp lib/Pegex/Pegex/Grammar.pod blib/lib/Pegex/Pegex/Grammar.pod
cp lib/Pegex/Compiler.pod blib/lib/Pegex/Compiler.pod
cp lib/Pegex/Module.pod blib/lib/Pegex/Module.pod
cp lib/Pegex/Pegex/Grammar.pm blib/lib/Pegex/Pegex/Grammar.pm
cp lib/Pegex/Tree/Wrap.pod blib/lib/Pegex/Tree/Wrap.pod
cp lib/Pegex/Receiver.pod blib/lib/Pegex/Receiver.pod
cp lib/Pegex/Module.pm blib/lib/Pegex/Module.pm
cp lib/Pegex/Tree/Wrap.pm blib/lib/Pegex/Tree/Wrap.pm
cp lib/Pegex/Parser.pm blib/lib/Pegex/Parser.pm
cp lib/Pegex.pm blib/lib/Pegex.pm
cp lib/Pegex/Tutorial/JSON.pod blib/lib/Pegex/Tutorial/JSON.pod
cp lib/Pegex/Grammar.pm blib/lib/Pegex/Grammar.pm
cp lib/Pegex/Receiver.pm blib/lib/Pegex/Receiver.pm
cp lib/Pegex.pod blib/lib/Pegex.pod
cp lib/Pegex/Resources.pod blib/lib/Pegex/Resources.pod
cp lib/Pegex/Parser/Indent.pm blib/lib/Pegex/Parser/Indent.pm
cp lib/Pegex/Tutorial/Calculator.pod blib/lib/Pegex/Tutorial/Calculator.pod
cp lib/Pegex/Regex.pm blib/lib/Pegex/Regex.pm
cp lib/Pegex/API.pod blib/lib/Pegex/API.pod
cp lib/Pegex/Grammar.pod blib/lib/Pegex/Grammar.pod
cp lib/Pegex/Miscellany.pod blib/lib/Pegex/Miscellany.pod
cp lib/Pegex/Input.pm blib/lib/Pegex/Input.pm
cp lib/Pegex/Compiler.pm blib/lib/Pegex/Compiler.pm
Manifying 21 pod documents
  INGY/Pegex-0.60.tar.gz
  /usr/bin/make -- OK
Running make test
Skip blib/lib/auto/share/dist/Pegex/pegex.pgx (unchanged)
PERL_DL_NONLAZY=1 "/home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:26:30] t/000-compile-modules.t .......... ok       83 ms
[18:26:30] t/api.t .......................... ok       41 ms
[18:26:30] t/export-api.t ................... ok       61 ms
[18:26:30] t/flatten.t ...................... ok       61 ms
[18:26:30] t/function-rule.t ................ ok       57 ms
[18:26:30] t/grammar-api.t .................. ok       57 ms
[18:26:31] t/parse.t ........................ ok       60 ms
[18:26:31] t/release-pod-syntax.t ........... skipped: these tests are for release candidate testing
[18:26:31] t/repeat.t ....................... ok       56 ms
[18:26:31] t/safe.t ......................... ok       92 ms
try_contact                    >Name: Ingy Net\nPhone: 919-876-...<
 try_name_section               >Name: Ingy Net\nPhone: 919-876-...<
  try_name                       >Ingy Net\nPhone: 919-876-5432\nA...<
  got_name                      
  try_EOL                        >\nPhone: 919-876-5432\nAddress:\n...<
  got_EOL                       
 got_name_section              
 try_phone_section              >Phone: 919-876-5432\nAddress:\n ...<
  try_phone_number               >919-876-5432\nAddress:\n  1234 M...<
   try_term                       >919-876-5432\nAddress:\n  1234 M...<
   got_term                      
  got_phone_number              
  try_EOL                        >\nAddress:\n  1234 Main St\n  Nic...<
  got_EOL                       
 got_phone_section             
 try_address_section            >Address:\n  1234 Main St\n  Nice...<
  try_street_line                >  1234 Main St\n  Niceville\n  O...<
   try_indent                     >  1234 Main St\n  Niceville\n  O...<
   got_indent                    
   try_street                     >1234 Main St\n  Niceville\n  OK\n<
   got_street                    
   try_EOL                        >\n  Niceville\n  OK\n<
   got_EOL                       
  got_street_line               
  try_city_line                  >  Niceville\n  OK\n<
   try_indent                     >  Niceville\n  OK\n<
   got_indent                    
   try_city                       >Niceville\n  OK\n<
    try_term                       >Niceville\n  OK\n<
    got_term                      
   got_city                      
   try_EOL                        >\n  OK\n<
   got_EOL                       
  got_city_line                 
  try_country_line               >  OK\n<
   try_indent                     >  OK\n<
   got_indent                    
   try_country                    >OK\n<
    try_term                       >OK\n<
    got_term                      
   got_country                   
   try_EOL                        >\n<
   got_EOL                       
  got_country_line              
 got_address_section           
got_contact                   
[18:26:31] t/sample.t ....................... ok      124 ms
[18:26:31] t/testml-compiler-checks.t ....... ok      356 ms
[18:26:32] t/testml-compiler-equivalence.t .. ok      422 ms
[18:26:32] t/testml-compiler.t .............. ok      289 ms
[18:26:32] t/testml-error.t ................. ok      245 ms
[18:26:32] t/testml-optimize.t .............. ok      151 ms
[18:26:32] t/testml-tree-pegex.t ............ ok      180 ms
[18:26:33] t/testml-tree.t .................. ok      504 ms
[18:26:33]
All tests successful.
Files=18, Tests=264,  3 wallclock secs ( 0.12 usr  0.04 sys +  2.61 cusr  0.28 csys =  3.05 CPU)
Result: PASS
  INGY/Pegex-0.60.tar.gz
  /usr/bin/make test -- OK
Running make install
Skip blib/lib/auto/share/dist/Pegex/pegex.pgx (unchanged)
Manifying 21 pod documents
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Compiler.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Input.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Miscellany.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Grammar.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/API.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Regex.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Resources.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Receiver.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Grammar.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Parser.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Module.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Receiver.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Module.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Compiler.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Parser.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Bootstrap.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Syntax.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Regex.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Tree.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Tutorial.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Input.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Base.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Tree.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Overview.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Bootstrap.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Optimizer.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Parser/Indent.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Tutorial/Calculator.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Tutorial/JSON.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Tree/Wrap.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Tree/Wrap.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Grammar/Atoms.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Grammar/Atoms.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Pegex/Grammar.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Pegex/Grammar.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Pegex/Pegex/AST.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/auto/share/dist/Pegex/pegex.pgx
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Tutorial::JSON.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Tutorial::Calculator.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Tutorial.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Tree::Wrap.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Tree.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Syntax.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Resources.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Regex.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Receiver.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Pegex::Grammar.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Parser.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Overview.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Module.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Miscellany.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Input.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Grammar::Atoms.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Grammar.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Compiler.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::Bootstrap.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex::API.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Pegex.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  INGY/Pegex-0.60.tar.gz
  /usr/bin/make install  -- OK
  INGY/Inline-C-0.73.tar.gz
  Has already been unwrapped into directory /home/travis/.cpan/build/Inline-C-0.73-tAd3oU
  INGY/Inline-C-0.73.tar.gz
  Has already been prepared
Running make for I/IN/INGY/Inline-C-0.73.tar.gz
cp share/inline-c.pgx blib/lib/auto/share/dist/Inline-C/inline-c.pgx
cp lib/Inline/C/ParseRecDescent.pod blib/lib/Inline/C/ParseRecDescent.pod
cp lib/Inline/C/Parser/Pegex.pm blib/lib/Inline/C/Parser/Pegex.pm
cp lib/Inline/C/ParseRegExp.pod blib/lib/Inline/C/ParseRegExp.pod
cp lib/Inline/C/Parser/RecDescent.pm blib/lib/Inline/C/Parser/RecDescent.pm
cp lib/Inline/C/ParsePegex.pod blib/lib/Inline/C/ParsePegex.pod
cp lib/Inline/C/Parser/Pegex/AST.pm blib/lib/Inline/C/Parser/Pegex/AST.pm
cp lib/Inline/C/Parser/Pegex/Grammar.pm blib/lib/Inline/C/Parser/Pegex/Grammar.pm
cp lib/Inline/C/Parser/RegExp.pm blib/lib/Inline/C/Parser/RegExp.pm
cp lib/Inline/C.pm blib/lib/Inline/C.pm
cp lib/Inline/C.pod blib/lib/Inline/C.pod
cp lib/Inline/C/Cookbook.pod blib/lib/Inline/C/Cookbook.pod
cp lib/Inline/C/Parser.pm blib/lib/Inline/C/Parser.pm
Manifying 5 pod documents
  INGY/Inline-C-0.73.tar.gz
  /usr/bin/make -- OK
Running make test
Skip blib/lib/auto/share/dist/Inline-C/inline-c.pgx (unchanged)
PERL_DL_NONLAZY=1 /home/travis/perl5/perlbrew/perls/5.20-extras/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
[18:26:35] t/000-require-modules.t .. ok      100 ms
[18:26:40] t/01syntax.t ............. ok     5284 ms
[18:26:41] t/02config.t ............. ok     1535 ms
[18:26:43] t/03typemap.t ............ ok     1511 ms
[18:26:45] t/04perlapi.t ............ ok     1563 ms
[18:26:46] t/05xsmode.t ............. ok     1398 ms
[18:26:47] t/06parseregexp.t ........ ok     1366 ms
[18:26:49] t/07typemap_multi.t ...... ok     1468 ms
[18:26:54] t/08taint.t .............. ok     4996 ms
This test could take a couple of minutes to run
[18:27:08] t/09parser.t ............. ok    14382 ms
[18:27:10] t/10callback.t ........... ok     1682 ms
[18:27:11] t/11default_readonly.t ... ok     1328 ms
[18:27:13] t/14void_arg.t ........... ok     1488 ms
[18:27:14] t/14void_arg_PRD.t ....... ok     1605 ms
[18:27:16] t/15ccflags.t ............ ok     1476 ms
[18:27:17] t/16ccflagsex.t .......... ok     1482 ms
[18:27:19] t/17prehead.t ............ ok     1514 ms
[18:27:19] t/18quote_space.t ........ ok       64 ms
[18:27:20] t/19INC.t ................ ok     1523 ms
[18:27:23] t/20eval.t ............... ok     2372 ms
[18:27:24] t/21read_DATA.t .......... ok     1540 ms
[18:27:26] t/22read_DATA_2.t ........ ok     1559 ms
[18:27:26] t/23validate.t ........... ok       62 ms
[18:27:27] t/24prefix.t ............. ok     1330 ms
[18:27:32] t/25proto.t .............. ok     4893 ms
[18:27:35] t/26fork.t ............... ok     2696 ms
[18:27:41] t/27inline_maker.t ....... ok     6067 ms
[18:27:42] t/28autowrap.t ........... ok     1421 ms
[18:27:45] t/parse-pegex.t .......... ok     2928 ms
[18:27:47] t/pegex-parser.t ......... skipped: $ENV{PERL_INLINE_DEVELOPER_TEST} not set
[18:27:47] t/release-pod-syntax.t ... skipped: these tests are for release candidate testing
[18:27:47]
All tests successful.

Test Summary Report
-------------------
t/parse-pegex.t        (Wstat: 0 Tests: 24 Failed: 0)
  TODO passed:   4, 7-9
Files=31, Tests=153, 73 wallclock secs ( 0.16 usr  0.05 sys + 60.51 cusr  9.03 csys = 69.75 CPU)
Result: PASS
  INGY/Inline-C-0.73.tar.gz
  /usr/bin/make test -- OK
Running make install
Skip blib/lib/auto/share/dist/Inline-C/inline-c.pgx (unchanged)
Manifying 5 pod documents
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/auto/share/dist/Inline-C/inline-c.pgx
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/Parser.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/Cookbook.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/ParsePegex.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/ParseRegExp.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/ParseRecDescent.pod
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/Parser/RegExp.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/Parser/RecDescent.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/Parser/Pegex.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/Parser/Pegex/Grammar.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/lib/site_perl/5.20.0/Inline/C/Parser/Pegex/AST.pm
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline::C::ParseRegExp.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline::C::ParseRecDescent.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline::C::ParsePegex.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline::C::Cookbook.3
Installing /home/travis/perl5/perlbrew/perls/5.20-extras/man/man3/Inline::C.3
Appending installation info to /home/travis/perl5/perlbrew/perls/5.20-extras/lib/5.20.0/x86_64-linux-thread-multi/perllocal.pod
  INGY/Inline-C-0.73.tar.gz
  /usr/bin/make install  -- OK

...

Tests fail with current 5.20-main (MSWin32)

Hi David,

while preparing the next strawberry perl release I have run into the following failure with current 5.20-maint:

Building and testing Capture-Tiny-0.27 ... cp lib/Capture/Tiny.pm blib\lib\Capture\Tiny.pm
"C:\strawberry\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker 6.17 7.04
# 
# === Build Requires ===
# 
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.04
# 
# === Test Requires ===
# 
#     Module              Want     Have
#     ------------------- ---- --------
#     ExtUtils::MakeMaker  any     7.04
#     File::Spec           any  3.48_01
#     IO::File             any     1.16
#     Test::More          0.62 1.001014
#     lib                  any     0.63
# 
# === Test Recommends ===
# 
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.143240
#     Inline::C      0.50  missing
# 
# === Runtime Requires ===
# 
#     Module         Want    Have
#     -------------- ---- -------
#     Carp            any  1.3301
#     Exporter        any    5.71
#     File::Spec      any 3.48_01
#     File::Temp      any  0.2304
#     IO::Handle      any    1.35
#     Scalar::Util    any    1.41
#     Win32API::File  any  0.1201
#     strict          any    1.08
#     warnings        any    1.23
# 
t/00-report-prereqs.t ...... ok
t/01-Capture-Tiny.t ........ ok
t/02-capture.t ............. ok
t/03-tee.t ................. ok
t/06-stdout-closed.t ....... ok
t/07-stderr-closed.t ....... ok
t/08-stdin-closed.t ........ ok
t/09-preserve-exit-code.t .. ok
t/10-stdout-string.t ....... ok
t/11-stderr-string.t ....... ok
t/12-stdin-string.t ........ ok
t/13-stdout-tied.t ......... ok
t/14-stderr-tied.t ......... ok

#   Failed test 'tee_merged|perl|both|multiline - tee STDOUT (STDOUT)'
#   at t/lib/Cases.pm line 240.
#                   'STDERR:First line
# Second line
# '
#     doesn't match '(?^:STDOUT\:First\ line\
# Second\ line\
# )'
# Looks like you failed 1 test of 873.
t/15-stdin-tied.t .......... 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/873 subtests 
t/16-catch-errors.t ........ ok
t/17-pass-results.t ........ ok
t/18-custom-capture.t ...... ok
t/19-inline-c.t ............ skipped: Inline::C module required
t/20-stdout-badtie.t ....... ok
t/21-stderr-badtie.t ....... ok
t/22-stdin-badtie.t ........ ok
t/23-all-tied.t ............ ok
t/24-all-badtied.t ......... ok

Test Summary Report
-------------------
t/15-stdin-tied.t        (Wstat: 256 Tests: 873 Failed: 1)
  Failed test:  809
  Non-zero exit status: 1
Files=23, Tests=11996, 217 wallclock secs ( 4.19 usr +  0.45 sys =  4.64 CPU)
Result: FAIL
Failed 1/23 test programs. 1/11996 subtests failed.

Interesting is that couple of days ago it worked fine; so it might be some change in some of the deps or something else outside Capture-Tiny.

kmx

Timeout detection is not working as expected

I tried to used the timeout function to stop capturing with Perl v5.18.2. (Capture::Tiny
v0.27). But my tests failed for this feature use with Linux Mint 17. Program execution is not stopped as expected if the defined timeout is over. The following code shows my tests for the two timeout variables.

use strict;
use warnings;
use Capture::Tiny qw(:all);
#
#
my $capute_tiny_timeout = $Capture::Tiny::TIMEOUT;  # get package default value
my ($out, $err, @result);
#
#
#
print "\n\ncheck timeout behaviour with timeout variable!!!\n";
$Capture::Tiny::TIMEOUT = 3;    # lower value than command execution !
($out, $err, @result) = eval {
    tee {system("echo '-start-'; sleep 5; echo '-end-' 1>&2");};
};
print "EVAL_ERROR (Timeout)!!\n" if $@;
print "Captured STDOUT was: '$out'\n";
print "Captured STDERR was: '$err'\n";
print "Return Code        : '" . join(', ', @result) . "'\n";
#
#
#
print "\n\ncheck timeout behaviour with environment variable!!!\n";
$Capture::Tiny::TIMEOUT = $capute_tiny_timeout;    # default value
$ENV{'PERL_CAPTURE_TINY_TIMEOUT'} = 3;             # lower value than command execution !
($out, $err, @result) = eval {
    tee {system("echo '-start-'; sleep 5; echo '-end-' 1>&2");};
};
print "EVAL_ERROR (Timeout)!!\n" if $@;
print "Captured STDOUT was: '$out'\n";
print "Captured STDERR was: '$err'\n";
print "Return Code        : '" . join(', ', @result) . "'\n";
#
#
#
print "\n\ncheck timeout behaviour with both timeout variables!!!\n";
$Capture::Tiny::TIMEOUT = 3;                                             # lower value than command execution !
$ENV{'PERL_CAPTURE_TINY_TIMEOUT'} = 3;                                   # lower value than command execution !
($out, $err, @result) = eval {
    tee {system("echo '-start-'; sleep 5; echo '-end-' 1>&2");};
};
print "EVAL_ERROR (Timeout)!!\n" if $@;
print "Captured STDOUT was: '$out'\n";
print "Captured STDERR was: '$err'\n";
print "Return Code        : '" . join(', ', @result) . "'\n";

should be able to use scalarref filehandles?

I'm not sure if I've run into a limitation of perl or if I'm just doing something boneheaded, but I expected this to work (this is an effort to avoid the use of a tempdir on a read-only filesystem):

use strict;
use warnings;
use Capture::Tiny 'capture';

my $out = '';
my $err = '';
open my $out_fh, '+>', \$out or die "cannot open to scalarref: $!";
open my $err_fh, '+>', \$err or die "cannot open to scalarref: $!";
capture {
    print STDOUT "foo\n";
    print STDERR "bar\n";
} stdout => $out_fh, stderr => $err_fh;

However, I get:

Error from open(GLOB(0x7fca5e810ed0), >&-1): Invalid argument at /Users/ether/.perlbrew/libs/26.3@std/lib/perl5/Capture/Tiny.pm line 107.
Capture::Tiny::_open(GLOB(0x7fca5e810ed0), ">\x{26}-1") called at /Users/ether/.perlbrew/libs/26.3@std/lib/perl5/Capture/Tiny.pm line 194
Capture::Tiny::_open_std(HASH(0x7fca5e810cc0)) called at /Users/ether/.perlbrew/libs/26.3@std/lib/perl5/Capture/Tiny.pm line 370
Capture::Tiny::_capture_tee(undef, undef, undef, undef, 1, 1, 0, 0, ...) called at stderr.pl line 12

option to tee only stdout or stderr?

Currently all the tee variants tee all kinds of output and only capture the specified type of output. Sometimes it would be nice though to be able to have only stdout or stderr teed to the screen, while still capturing both.

Capture::Tiny::capture has increasingly long 'start' delay

After some debugging I found that the performance issue described in linux-test-project/lcov#228 is because the 'capture' call has an increasingly large startup overhead - seeming to increase without limit.

My use can be seen near line https://github.com/linux-test-project/lcov/blob/master/bin/geninfo#L1049C14-L1055C19

my $childInfo; <---- collect time delay from here
my ($stdout, $stderr, $code) = Capture::Tiny::capture {
$trace_data = undef; <---- to here
# ... call function to do actual work here
};

In my sandbox, I added calls to Time::Hires::gettimeofday() at the locations above and merely subtract to find out how long it takes to get started.
For the first few calls: zero/not measurable.
But then the delay gets longer and longer:

  • 0.01s after 50 calls
  • 0.02s after 60
  • ...and slowly increasing on each subsequent call:
    • 0.77s after 500 calls
    • 1.71s after 1000 calls
    • 2.22s after 1500 calls
    • 2.29s after 1744 calls

I was using perl/5.22.0 and Capture::Tiny/0.44.

What am I doing wrong/what should I do differently?

You can observe the effect by running lcov -c ... or geninfo .... to extract coverage data from a moderately large project.
The above numbers come from measuring coverage of the llvm (compiler) implementation as it compiles a 'hello.cpp' application. The user example in the lcov bug report, above, is much larger.

Any help is appreciated.
Thanks

Henry

Perl crash/hang with fork in code to capture/tee on Windows

I followed the breadcrumbs from Smart::Options to Module::Build::Pluggable::CPANfile to here. If the code input to one of the capture routines contains a fork, Perl crashes. Fork also makes the tee methods hang indefinitely. A simple script to illustrate:

use strict;
use warnings;
use Capture::Tiny qw(:all);

#crashes perl
my $stderr = capture_stderr {
    my $pid = fork();
    exit;
}

#blocks forever
my $stderr = tee_stderr {
    my $pid = fork();
    exit;
}

I wish I could contribute, but having gone down the rabbit hole I've found myself in the much more advanced bat cave :) All I know, from checking with print statements, is that the crash/hang occurs inside of the @result = $code->() statement, on line 363, in the _capture_tee method.

perl -V:

Summary of my perl5 (revision 5 version 16 subversion 1) configuration:

  Platform:
    osname=MSWin32, osvers=4.0, archname=MSWin32-x64-multi-thread
    uname='Win32 strawberry-perl 5.16.1.1 #1 Thu Aug  9 07:49:27 2012 x64'
    config_args='undef'
    hint=recommended, useposix=true, d_sigaction=undef
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags =' -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE  -DPERL_TEXTMODE_
SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bi
tfields',
    optimize='-s -O2',
    cppflags='-DWIN32'
    ccversion='', gccversion='4.6.3', gccosandvers=''
    intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='long long',
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='g++', ldflags ='-s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\li
b"'
    libpth=C:\strawberry\c\lib C:\strawberry\c\x86_64-w64-mingw32\lib
    libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32
 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion
 -lodbc32 -lodbccp32 -lcomctl32
    perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladva
pi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lver
sion -lodbc32 -lodbccp32 -lcomctl32
    libc=, so=dll, useshrplib=true, libperl=libperl516.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-mdll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\st
rawberry\c\lib"'


Characteristics of this binary (from libperl):
  Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY
                        PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
                        PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC
                        USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
                        USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                        USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
  Built under MSWin32
  Compiled at Aug  9 2012 07:55:51
  @INC:
    C:/strawberry/perl/site/lib/MSWin32-x64-multi-thread
    C:/strawberry/perl/site/lib
    C:/strawberry/perl/vendor/lib
    C:/strawberry/perl/lib
    .

Does only capture part of output

I came across a case in which only part of STDOUT is being captured:

#!/usr/bin/perl -w

use strict;
use RRDs qw/dump/;
use Capture::Tiny qw/capture_stdout/;

my $dump = capture_stdout { RRDs::dump $ARGV[0] };

Output using any RRD file:

<v>NaN</v><v>NaN</v><v>NaN</v></row>
                        <!-- 2013-06-06 12:56:40 CEST / 1370516200 --> <row><v>N
aN</v><v>NaN</v><v>NaN</v></row>
                </database>
        </rra>
</rrd>

The ending of the file is still being sent to STDOUT.
The rest of the file (the beginning) is correctly passed to $dump.

tee hangs when ran across forks

If you fork multiple children, and tee in them, the tmpfile names can get reused in the children, which causes tee to wait on files cleaned up by other processes. I believe what's happening is that the same random number seed is being used in the child procs, which makes tmpnam return identical file names.

Below is an example which triggers this case.

#!/usr/bin/env perl
use strict;
use warnings;
use Capture::Tiny qw(tee);
use POSIX qw();

my $random = rand(); # something to set the rng seed

my @pids;
my $children = 2;
for (1 .. $children) {
    if (my $pid = fork) {
        push @pids, $pid;
    } else {
        # uncommenting will stop it from hanging
        # srand();
        tee { 42 };
        POSIX::_exit(0);
    }
}
waitpid($_, 0) for @pids;

I was able to work around the issue by calling srand in the children, but I believe this could be safely fixed inside Capture::Tiny if the tmp files included pids in the name. This would guarantee uniqueness across children.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.