Giter Site home page Giter Site logo

scriptkitties / perl6-app-assixt Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 1.0 241 KB

Development of this module has been moved to GitLab

Home Page: https://gitlab.com/tyil/perl6-app-assixt/

License: GNU General Public License v3.0

Perl 6 100.00%
perl6 perl6-module cli

perl6-app-assixt's People

Contributors

tyil avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

jj

perl6-app-assixt's Issues

Output of `assixt test` is LTA when there are failing tests.

As reported by @sylints over IRC:

18:21 <Herby__> Hey. Do you know why "assixt test" would run tests but always end with a "The spawn command 'prove' exited unsuccessfully (exit code: 1)  ?
18:22 <Herby__> however if I run:  prove -e "perl6 -Ilib": t     then it exits gracefully and I don't get that final message
21:13 <tyil> hmm
21:14 <tyil> can you give me the repo so I can try it at home?
22:53 <Herby__> Its something I've been working on, I don't have it posted anywhere at the moment
22:53 <Herby__> but when I do I'll send you the repo
22:53 <tyil> alright :>
22:53 <tyil> fwiw, `zef test` would probably work, and is shorter to boot :>
22:54 <tyil> I made assixt test mostly so I dont have to trouble users of my tutorial with remembering which app does what
22:56 <Herby__> its definitely handy, i just didnt know if there error was something that was expected
22:56 <Herby__> i'm new to testing in general
22:56 <tyil> ah
22:56 <tyil> I think its a bug, but I cant tell for sure unless I can reproduce it
22:57 <tyil> maybe I messed something up when reordering all the code to make it run faster
23:00 <Herby__> here is the error, if it helps at all: https://gist.github.com/sylints/9934729aa0ef638ca64c4174cd08a20f
23:01 <tyil> i just ran `assixt test` on the App::Assixt repo and it works as expected
23:01 <tyil> from the output it seems that your tests are actually failing
23:01 <tyil> which is why its reported that prove failed
23:01 <tyil> (because it exits with non-zero if there are failing tests)
23:01 <tyil> the error message is still very LTA
23:02 <tyil> and should be changed

Example of the issue:

Test Summary Report
-------------------
t/basic.t (Wstat: 4096 Tests: 360 Failed: 16)
  Failed tests:  73, 148, 168, 217, 221-224, 302, 311, 314-315
                317, 321-322, 355
  Non-zero exit status: 16
Files=1, Tests=360,  0 wallclock secs ( 0.03 usr  0.00 sys +  0.35 cusr  0.18 csys =  0.56 CPU)
Result: FAIL
The spawned command 'prove' exited unsuccessfully (exit code: 1)
  in sub MAIN at /home/herby/.perl6/sources/78CCAC1B6B576D49136E4017F2DD2566E61B4232 (App::Assixt::Main) line 41
  in block <unit> at /home/herby/.perl6/resources/BEBACB3F8D2EDD81EF743350B08A7F4F36DEC630 line 5
  in sub MAIN at /home/herby/rakudo/install/share/perl6/site/bin/assixt line 2
in block <unit> at /home/herby/rakudo/install/share/perl6/site/bin/assixt line 2

This output should be changed so that failing tests won't confuse the user when confronted with this.

Variables in « » split on spaces in their values, breaking paths with spaces

08:18 <Zoffix> .tell tyil you have several bugs in your Appsixt module. Variables inside «» gets split on spaces within their values so, say, spaces in paths will break the path into separate args (`my $source = 'bar ber'.IO; dd «foo {$source.IO.path}»;`): https://gist.github.com/Whateverable/576bc17fe1eb2c081819a4e13e4a7f26

As pointed out by @zoffix, the variables used inside « » will be split on spaces, hence it can break on paths with spaces in them. Adding quotes in the right place seems to fix the issue:

> my $source = 'bar ber'.IO; dd «foo {$source.IO.path}»;
("foo", "bar", "ber")
> my $source = 'bar ber'.IO; dd «foo "{$source.IO.path}"»;
("foo", "bar ber")

Add a `qa` command

This command would run various quality assurance checks on a module source to report what a module could use to improve its release. To be implemented in scriptkitties/perl6-dist-helper#37.

In addition to a stand alone command, this could also be ran implicitly in the early stage of dist (and by extension, push). This behaviour should be able to be disabled using a configuration option.

Test and thus installation fails for weird reasons

$ perl6 -Ilib t/command-bump.t
Usage:
  t/command-bump.t [--output-dir=<Str>] [--force] [--verbose] dist <path> 
  t/command-bump.t [--output-dir=<Str>] [--force] [--verbose] dist 
  t/command-bump.t [--output-dir=<Str>] [--force] [--verbose] dist <paths> 

This makes zef install fail. In fact, the error seems to be somewhere in Bump.pm6 but I can't figure it out.

Unable to install App::Assixt

Running Ubuntu 16.04

herby@VB:~/projects/dicerTutorial$ zef install --force-resolve App::Assixt
===> Searching for: App::Assixt
===> Searching for missing dependencies: Config::Parser::toml:ver<1.0.1+>, Config:ver<1.3.3+>, Dist::Helper:ver<0.19.2+>, Terminal::Getpass:ver<0.0.5+>
===> Searching for missing dependencies: Hash::Merge, Config::TOML, JSON::Fast:ver<0.9.11+>, SemVer:ver<0.1.3+>, Term::termios:authgithub:krunen
===> Searching for missing dependencies: Crane
===> Building: Term::termios:authgithub:krunen
===> Building [OK] for Term::termios:authgithub:krunen
===> Testing: Hash::Merge:ver<0.2.0>:authgithub:scriptkitties
Cannot merge an undefined Hash!
in method merge at /home/herby/.zef/store/Hash-Merge-0.2.0.tar.gz/Hash-Merge-0.2.0/lib/Hash/Merge.pm6 line 22
Cannot merge an undefined Hash!
in method merge at /home/herby/.zef/store/Hash-Merge-0.2.0.tar.gz/Hash-Merge-0.2.0/lib/Hash/Merge.pm6 line 22
===> Testing [OK] for Hash::Merge:ver<0.2.0>:authgithub:scriptkitties
===> Testing: Config:ver<1.3.3>:authgithub:scriptkitties
${:a("b"), :c(${:d("e")})}
===> Testing [FAIL]: Config:ver<1.3.3>:authgithub:scriptkitties
Aborting due to test failure: Config:ver<1.3.3>:authgithub:scriptkitties (use --force-test to override)
in code at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/sources/9062A39D0256C0BD797016C3FE93D839191AFE2B (Zef::Client) line 385
in method test at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/sources/9062A39D0256C0BD797016C3FE93D839191AFE2B (Zef::Client) line 363
in code at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/sources/9062A39D0256C0BD797016C3FE93D839191AFE2B (Zef::Client) line 540
in sub at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/sources/9062A39D0256C0BD797016C3FE93D839191AFE2B (Zef::Client) line 537
in method install at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/sources/9062A39D0256C0BD797016C3FE93D839191AFE2B (Zef::Client) line 643
in sub MAIN at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/sources/9E04C517E18C976DC9F459E2CE31A87142034020 (Zef::CLI) line 152
in block at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/resources/25ADD3DE4D08C272AC81C82BCB2DBE07D909E768 line 3
in sub MAIN at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/bin/zef line 2
in block at /home/herby/rakudo/rakudo-star-2018.01/install/share/perl6/site/bin/zef line 2

herby@VB:~/projects/dicerTutorial$ perl6 --version
This is Rakudo Star version 2018.01 built on MoarVM version 2018.01
implementing Perl 6.c.

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.