beyondgrep / ack2

**ack 2 is no longer being maintained. ack 3 is the latest version.**
https://github.com/beyondgrep/ack3/
Other
1.48k stars 138 forks source link

Get tests passing on Windows #643

Closed petdance closed 6 years ago

petdance commented 7 years ago

https://ci.appveyor.com/project/petdance/ack2/build/1.0.2

ZurrTum commented 6 years ago

The installation is successful

The "Strawberry" contains to "gmake" gmake is 'GUN make'

gmake -v

GNU Make 4.2.1 Built for x86_64-w64-mingw32 Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

installation

perl Makefile.PL

Checking if your kit is complete... Looks good Generating a gmake-style Makefile Writing Makefile for ack Writing MYMETA.yml and MYMETA.json

~dmake test~

############################################################# ### ### ### DMAKE WARNING ### ### ### ### Do not use dmake.exe utility as it is no longer ### ### part of Strawberry Perl, use gmake.exe instead! ### ### ### ### If you have troubles with CPAN client delete: ### ### %USERPROFILE%\AppData\Local.cpan\CPAN\MyConfig.pm ### ### ### #############################################################

gmake test

cp Filter.pm blib\lib/App/Ack/Filter.pm cp Match.pm blib\lib/App/Ack/Filter/Match.pm cp Extension.pm blib\lib/App/Ack/Filter/Extension.pm cp IsPathGroup.pm blib\lib/App/Ack/Filter/IsPathGroup.pm cp ExtensionGroup.pm blib\lib/App/Ack/Filter/ExtensionGroup.pm cp ConfigFinder.pm blib\lib/App/Ack/ConfigFinder.pm cp IsPath.pm blib\lib/App/Ack/Filter/IsPath.pm cp ConfigLoader.pm blib\lib/App/Ack/ConfigLoader.pm cp Resource.pm blib\lib/App/Ack/Resource.pm cp Resources.pm blib\lib/App/Ack/Resources.pm cp Is.pm blib\lib/App/Ack/Filter/Is.pm cp ConfigDefault.pm blib\lib/App/Ack/ConfigDefault.pm cp IsGroup.pm blib\lib/App/Ack/Filter/IsGroup.pm cp Default.pm blib\lib/App/Ack/Filter/Default.pm cp Collection.pm blib\lib/App/Ack/Filter/Collection.pm cp MatchGroup.pm blib\lib/App/Ack/Filter/MatchGroup.pm cp Inverse.pm blib\lib/App/Ack/Filter/Inverse.pm cp Ack.pm blib\lib/App/Ack.pm cp FirstLineMatch.pm blib\lib/App/Ack/Filter/FirstLineMatch.pm "C:\Strawberry\perl\bin\perl.exe" -MExtUtils::Command -e cp -- ack blib\script\ack pl2bat.bat blib\script\ack "C:\Strawberry\perl\bin\perl.exe" t/runtests.pl 0 0 "blib\lib" "blib\arch" t/.t t/lib/.t Running tests on blib/script/ack t/00-load.t .................. # Testing ack version 2.19_01 under Perl 5.026001, C:\Strawberry\perl\bin\perl.exe t/00-load.t .................. 1/1 # Using File::Next 1.16 # Using File::Spec 3.67 # Using Getopt::Long 2.5 # Using Pod::Usage 1.69 # Using Test::Harness 3.39 # Using Test::More 1.302096 t/00-load.t .................. ok t/ack-1.t .................... ok t/ack-c.t .................... ok t/ack-color.t ................ ok t/ack-column.t ............... ok t/ack-create-ackrc.t ......... ok t/ack-dump.t ................. ok t/ack-f.t .................... ok t/ack-files-from.t ........... ok t/ack-filetypes.t ............ ok t/ack-g.t .................... ok t/ack-group.t ................ ok t/ack-h.t .................... ok t/ack-help-types.t ........... ok t/ack-help.t ................. ok t/ack-i.t .................... ok t/ack-ignore-dir.t ........... ok t/ack-ignore-file.t .......... skipped: Not yet implemented t/ack-interactive.t .......... skipped: You need to install IO::Pty to run this test t/ack-invalid-ackrc.t ........ skipped: Don't yet have a reliable way to ignore the Unicode complaints from Pod::Perldoct/ack-k.t .................... ok t/ack-known-types.t .......... ok t/ack-line.t ................. skipped: You need to install IO::Pty to run this test t/ack-m.t .................... ok t/ack-match.t ................ ok t/ack-n.t .................... ok t/ack-named-pipes.t .......... skipped: POSIX::mkfifo not implemented on this architecture at t/ack-named-pipes.t line 21. t/ack-o.t .................... ok t/ack-output.t ............... ok t/ack-pager.t ................ skipped: You need to install IO::Pty to run this test t/ack-passthru.t ............. ok t/ack-print0.t ............... ok t/ack-removed-options.t ...... ok t/ack-s.t .................... ok t/ack-show-types.t ........... ok t/ack-type-del.t ............. ok t/ack-type.t ................. ok t/ack-v.t .................... ok t/ack-w.t .................... ok t/ack-x.t .................... ok t/anchored.t ................. ok t/asp-net-ext.t .............. ok t/bad-ackrc-opt.t ............ ok t/basic.t .................... ok t/command-line-files.t ....... ok t/config-backwards-compat.t .. ok t/config-finder.t ............ ok t/config-loader.t ............ ok t/context.t .................. ok t/default-filter.t ........... ok t/exit-code.t ................ ok t/ext-filter.t ............... ok t/file-permission.t .......... skipped: Can't be checked under Win32 t/filetypes.t ................ ok t/filter.t ................... ok t/firstlinematch-filter.t .... ok t/highlighting.t ............. ok t/illegal-regex.t ............ ok t/incomplete-last-line.t ..... ok t/inverted-file-filter.t ..... ok t/is-filter.t ................ ok t/issue244.t ................. ok t/issue276.t ................. ok t/issue491.t ................. ok t/issue522.t ................. ok t/issue562.t ................. ok t/issue571.t ................. ok t/lib/00-coverage.t .......... ok t/lib/Ack.t .................. ok t/lib/Collection.t ........... ok t/lib/ConfigDefault.t ........ ok t/lib/ConfigFinder.t ......... ok t/lib/ConfigLoader.t ......... ok t/lib/Default.t .............. ok t/lib/Extension.t ............ ok t/lib/ExtensionGroup.t ....... ok t/lib/Filter.t ............... ok t/lib/FirstLineMatch.t ....... ok t/lib/Inverse.t .............. ok t/lib/Is.t ................... ok t/lib/IsGroup.t .............. ok t/lib/IsPath.t ............... ok t/lib/IsPathGroup.t .......... ok t/lib/Match.t ................ ok t/lib/MatchGroup.t ........... ok t/lib/Resource.t ............. ok t/lib/Resources.t ............ ok t/longopts.t ................. ok t/lua-shebang.t .............. ok t/match-filter.t ............. ok t/mutex-options.t ............ ok t/noackrc.t .................. ok t/noenv.t .................... ok t/process-substitution.t ..... skipped: Test unreliable on Windows. t/r-lang-ext.t ............... ok t/resource-iterator.t ........ ok t/zero.t ..................... ok All tests successful. Files=97, Tests=997, 130 wallclock secs ( 0.52 usr + 0.25 sys = 0.77 CPU) Result: PASS "C:\Strawberry\perl\bin\perl.exe" squash ack Ack.pm Resource.pm Resources.pm ConfigDefault.pm ConfigFinder.pm ConfigLoader.pm Filter.pm Extension.pm FirstLineMatch.pm Is.pm Match.pm Default.pm Inverse.pm Collection.pm IsGroup.pm ExtensionGroup.pm MatchGroup.pm IsPath.pm IsPathGroup.pm File::Next > ack-standalone Reading ack Reading Ack.pm Reading Resource.pm Reading Resources.pm Reading ConfigDefault.pm Reading ConfigFinder.pm Reading ConfigLoader.pm Reading Filter.pm Reading Extension.pm Reading FirstLineMatch.pm Reading Is.pm Reading Match.pm Reading Default.pm Reading Inverse.pm Reading Collection.pm Reading IsGroup.pm Reading ExtensionGroup.pm Reading MatchGroup.pm Reading IsPath.pm Reading IsPathGroup.pm Reading C:/Strawberry/perl/site/lib/File/Next.pm pl2bat.bat ack-standalone "C:\Strawberry\perl\bin\perl.exe" -c ack-standalone ack-standalone syntax OK "C:\Strawberry\perl\bin\perl.exe" t/runtests.pl 1 0 "blib\lib" "blib\arch" t/.t t/lib/.t Running tests on ack-standalone t/00-load.t .................. 1/1 # Testing ack version 2.19_01 under Perl 5.026001, C:\Strawberry\perl\bin\perl.exe # Using File::Next 1.16 # Using File::Spec 3.67 # Using Getopt::Long 2.5 # Using Pod::Usage 1.69 # Using Test::Harness 3.39 # Using Test::More 1.302096 t/00-load.t .................. ok t/ack-1.t .................... ok t/ack-c.t .................... ok t/ack-color.t ................ ok t/ack-column.t ............... ok t/ack-create-ackrc.t ......... ok t/ack-dump.t ................. ok t/ack-f.t .................... ok t/ack-files-from.t ........... ok t/ack-filetypes.t ............ ok t/ack-g.t .................... ok t/ack-group.t ................ ok t/ack-h.t .................... ok t/ack-help-types.t ........... ok t/ack-help.t ................. ok t/ack-i.t .................... ok t/ack-ignore-dir.t ........... ok t/ack-ignore-file.t .......... skipped: Not yet implemented t/ack-interactive.t .......... skipped: You need to install IO::Pty to run this test t/ack-invalid-ackrc.t ........ skipped: Don't yet have a reliable way to ignore the Unicode complaints from Pod::Perldoct/ack-k.t .................... ok t/ack-known-types.t .......... ok t/ack-line.t ................. skipped: You need to install IO::Pty to run this test t/ack-m.t .................... ok t/ack-match.t ................ ok t/ack-n.t .................... ok t/ack-named-pipes.t .......... skipped: POSIX::mkfifo not implemented on this architecture at t/ack-named-pipes.t line 21. t/ack-o.t .................... ok t/ack-output.t ............... ok t/ack-pager.t ................ skipped: You need to install IO::Pty to run this test t/ack-passthru.t ............. ok t/ack-print0.t ............... ok t/ack-removed-options.t ...... ok t/ack-s.t .................... ok t/ack-show-types.t ........... ok t/ack-type-del.t ............. ok t/ack-type.t ................. ok t/ack-v.t .................... ok t/ack-w.t .................... ok t/ack-x.t .................... ok t/anchored.t ................. ok t/asp-net-ext.t .............. ok t/bad-ackrc-opt.t ............ ok t/basic.t .................... ok t/command-line-files.t ....... ok t/config-backwards-compat.t .. ok t/config-finder.t ............ ok t/config-loader.t ............ ok t/context.t .................. ok t/default-filter.t ........... ok t/exit-code.t ................ ok t/ext-filter.t ............... ok t/file-permission.t .......... skipped: Can't be checked under Win32 t/filetypes.t ................ ok t/filter.t ................... ok t/firstlinematch-filter.t .... ok t/highlighting.t ............. ok t/illegal-regex.t ............ ok t/incomplete-last-line.t ..... ok t/inverted-file-filter.t ..... ok t/is-filter.t ................ ok t/issue244.t ................. ok t/issue276.t ................. ok t/issue491.t ................. ok t/issue522.t ................. ok t/issue562.t ................. ok t/issue571.t ................. ok t/lib/00-coverage.t .......... ok t/lib/Ack.t .................. ok t/lib/Collection.t ........... ok t/lib/ConfigDefault.t ........ ok t/lib/ConfigFinder.t ......... ok t/lib/ConfigLoader.t ......... ok t/lib/Default.t .............. ok t/lib/Extension.t ............ ok t/lib/ExtensionGroup.t ....... ok t/lib/Filter.t ............... ok t/lib/FirstLineMatch.t ....... ok t/lib/Inverse.t .............. ok t/lib/Is.t ................... ok t/lib/IsGroup.t .............. ok t/lib/IsPath.t ............... ok t/lib/IsPathGroup.t .......... ok t/lib/Match.t ................ ok t/lib/MatchGroup.t ........... ok t/lib/Resource.t ............. ok t/lib/Resources.t ............ ok t/longopts.t ................. ok t/lua-shebang.t .............. ok t/match-filter.t ............. ok t/mutex-options.t ............ ok t/noackrc.t .................. ok t/noenv.t .................... ok t/process-substitution.t ..... skipped: Test unreliable on Windows. t/r-lang-ext.t ............... ok t/resource-iterator.t ........ ok t/zero.t ..................... ok All tests successful. Files=97, Tests=997, 124 wallclock secs ( 0.59 usr + 0.31 sys = 0.91 CPU) Result: PASS

gmake install

Installing C:\STRAWB\~1\perl\site\lib\App\Ack.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\ConfigDefault.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\ConfigFinder.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\ConfigLoader.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Resource.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Resources.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\Collection.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\Default.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\Extension.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\ExtensionGroup.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\FirstLineMatch.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\Inverse.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\Is.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\IsGroup.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\IsPath.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\IsPathGroup.pm Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\Match.pm` Installing C:\STRAWB\~1\perl\site\lib\App\Ack\Filter\MatchGroup.pm Installing C:\STRAWB\~1\perl\site\bin\ack Installing C:\STRAWB\~1\perl\site\bin\ack.bat Appending installation info to C:\STRAWB\~1\perl\lib/perllocal.pod

pp to EXE

  1. install CPAN modules, Then install PAR::Packer for compiling the Perl script. cpan -i App::cpanminus cpanm -n PAR::Packer
  2. goto Path cd C:\Strawberry\perl\site\bin
  3. pp -o ack.exe ack
petdance commented 6 years ago

Are you saying that if I switch to gmake in my AppVeyor config everything will just work?

ZurrTum commented 6 years ago

The gmake in C:\Strawberry\c\bin\gmake. So there's no problem with the use.

petdance commented 6 years ago

I'm not understanding.

What changes should I make to get the tests to pass under AppVeyor?

ZurrTum commented 6 years ago

It's a Strawberry problem, and you have to compile it with gmake.

petdance commented 6 years ago

So I'm not going to be able to get this fixed?

ZurrTum commented 6 years ago

############################################################# ### ### ### DMAKE WARNING ### ### ### ### Do not use dmake.exe utility as it is no longer ### ### part of Strawberry Perl, use gmake.exe instead! ### ### ### ### If you have troubles with CPAN client delete: ### ### %USERPROFILE%\AppData\Local.cpan\CPAN\MyConfig.pm ### ### ### #############################################################

Strawberry doesn't use dmake anymore, even though it's still there.

No need to change anything, just need to remind the need to use gmake.

And Strawberry already has gmake in it.

petdance commented 6 years ago

So what should I do to get the tests to do pass?

On Nov 11, 2017, at 2:45 PM, ZurrTum notifications@github.com wrote:

#############################################################

DMAKE WARNING

Do not use dmake.exe utility as it is no longer

part of Strawberry Perl, use gmake.exe instead!

If you have troubles with CPAN client delete:

%USERPROFILE%\AppData\Local.cpan\CPAN\MyConfig.pm

#############################################################

Strawberry doesn't use dmake anymore, even though it's still there.

No need to change anything, just need to remind the need to use gmake.

And Strawberry already has gmake in it.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

ZurrTum commented 6 years ago

This you appveyor, Try to change "dmake" to "gmake".

Build started git clone -q https://github.com/petdance/ack2.git C:\projects\ack2 git fetch -q origin +refs/pull/644/merge: git checkout -qf FETCH_HEAD Running Install scripts if not exist "C:\strawberry" cinst strawberryperl Chocolatey v0.10.7 Installing the following packages: strawberryperl By installing you accept licenses for the packages. Progress: Downloading StrawberryPerl 5.26.0.1... 100% StrawberryPerl v5.26.0.1 [Approved] strawberryperl package files install completed. Performing other installation steps. Downloading strawberryperl 64 bit from 'http://strawberryperl.com/download/5.26.0.1/strawberry-perl-5.26.0.1-64bit.msi' Progress: 100% - Completed download of C:\Users\appveyor\AppData\Local\Temp\1\chocolatey\StrawberryPerl\5.26.0.1\strawberry-perl-5.26.0.1-64bit.msi (94.32 MB). Download of strawberry-perl-5.26.0.1-64bit.msi (94.32 MB) completed. Hashes match. Installing strawberryperl... strawberryperl has been installed. strawberryperl may be able to be automatically uninstalled. Environment Vars (like PATH) have changed. Close/reopen your shell to see the changes (or in powershell/cmd.exe just type refreshenv). The install of strawberryperl was successful. Software installed to 'C:\Strawberry\' Chocolatey installed 1/1 packages. See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log). set PATH=C:\strawberry\perl\bin;C:\strawberry\perl\site\bin;C:\strawberry\c\bin;%PATH% cd C:\projects\%APPVEYOR_PROJECT_NAME% cpanm File::Next --> Working on File::Next Fetching http://www.cpan.org/authors/id/P/PE/PETDANCE/File-Next-1.16.tar.gz ... OK Configuring File-Next-1.16 ... OK Building and testing File-Next-1.16 ... OK Successfully installed File-Next-1.16 1 distribution installed perl Makefile.PL Checking if your kit is complete... Looks good Generating a gmake-style Makefile Writing Makefile for ack Writing MYMETA.yml and MYMETA.json

~dmake~ gmake test

############################################################# ### ### ### DMAKE WARNING ### ### ### ### Do not use dmake.exe utility as it is no longer ### ### part of Strawberry Perl, use gmake.exe instead! ### ### ### ### If you have troubles with CPAN client delete: ### ### %USERPROFILE%\AppData\Local.cpan\CPAN\MyConfig.pm ### ### ### #############################################################

ZurrTum commented 6 years ago

This is the file I compiled. ack.zip

petdance commented 6 years ago

Now appveyor runs. Thanks, @ZurrTum .

Now we're back to the failures we had before. https://ci.appveyor.com/project/petdance/ack2/build/1.0.6

ZurrTum commented 6 years ago

Can the files I build be used properly? I just changed the dmake to

It seems that the problem is not just this.

petdance commented 6 years ago

I changed the dmake to gmake. That lets the tests run under AppVeyor. There are now different errors being reported under AppVeyor.