Day4 Test initial commit

Testing initial commit. On p5-app-adventcalendar.

$ pwd
/home/sane/work/p5-app-adventcalendar

$ git checkout d858b14

$ git log
commit d858b145740ad71beaf44bcfc20076f8e22baffb
initial commit

First I google Test::More. Some article said:

$ prove t/*.t

I try:

$ perl prove t/00_compile.t
Can’t open perl script “prove”: そのようなファイルやディレクトリはありません

Next try:

$ perl t/00_compile.t
1..1
not ok 1 – use App::AdventCalendar;
# Failed test ‘use App::AdventCalendar;’
# at t/00_compile.t line 4.
# Tried to use ‘App::AdventCalendar’.
# Error: Can’t locate App/AdventCalendar.pm in @INC (@INC
contains: /home/sane/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux /home/sane/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/sane/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux /home/sane/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2 .) at (eval 4) line 2.
# BEGIN failed–compilation aborted at (eval 4) line 2.
# Looks like you failed 1 test of 1.

I want option like ruby’s -r.

$ perl –help

Trial and error:

$ perl -Ilib/App/AdventCalendar.pm t/*
Fail
$ perl -Ilib/App t/*.t
Fail
$ perl -Ilib t/*.t
1..1
ok 1 – use App::AdventCalendar;

w00t!

Next:

$ perl -Ilib xt/*.t
1..0 # SKIP Test::Spelling is not installed.
$ cpanm Test::Spelling

$ perl -Ilib xt/*.t
1..1
sh: spell: command not found
Died at /home/sane/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/Test/S pelling.pm line 54.
# Looks like your test exited with 127 before it could output anything.

What is spell? I postpone it.

$ perl -Ilib xt/01_podspell.t
1..1
sh: spell: command not found
Died at /home/sane/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/Test/Spelling.pm line 54.
# Looks like your test exited with 127 before it could output anything.

$ perl -Ilib xt/02_perlcritic.t
1..0 # SKIP Test::Perl::Critic is not installed.

$ cpanm Test::Perl::Critic

$ perl -Ilib xt/02_perlcritic.t
1..1
ok 1 – Test::Perl::Critic for “lib/App/AdventCalendar.pm”

yeah!

$ perl -Ilib xt/03_pod.t
1..0 # SKIP Test::Pod 1.00 required for testing POD
$ cpanm Test::Pod

$ perl -Ilib xt/03_pod.t
1..1
ok 1 – POD test for lib/App/AdventCalendar.pm

I return xt/01.
I google “sh: spell: command not found”.
Yacafiの01_podspell.tのテストが一部とおるようにしてみた – コードで気楽な日々を

This case is macports, and I seem same problem (Fedora13).

$ sudo yum list \*spell\*

I don’t know ‘spell’ nor ‘aspell’, but perhaps it is correct.

$ sudo yum install aspell

Spell does not work in my environment, but command is installed.

$ spell –help
Error: No word lists can be found for the language “ja_JP”.

I try:

$ perl -Ilib xt/01_podspell.t
1..1
Error: No word lists can be found for the language “en_US”.
ok 1 – POD spelling for lib/App/AdventCalendar.pm

Error and ok. Ummm. Next:

$ sudo yum install aspell-en

$ perl -Ilib xt/01_podspell.t
1..1
ok 1 – POD spelling for lib/App/AdventCalendar.pm

w00t!

$ perl -Ilib t/00_compile.t
1..1
ok 1 – use App::AdventCalendar;
$ perl -Ilib xt/01_podspell.t
1..1
ok 1 – POD spelling for lib/App/AdventCalendar.pm
$ perl -Ilib xt/02_perlcritic.t
1..1
ok 1 – Test::Perl::Critic for “lib/App/AdventCalendar.pm”
$ perl -Ilib xt/03_pod.t
1..1
ok 1 – POD test for lib/App/AdventCalendar.pm

All green!

* Unclear point
– How to testing like ‘perl t/*.t’ and ‘perl xt/*.t’ ? perl t/*.t do first file and then finished.
– aspell-ja is not exist.

広告

Day4 Test initial commit」への4件のフィードバック

  1. I found the article belatedly.

    “prove” is independent Perl script, so you should not execute it through perl.

    I recommend following commands.

    $ cd /your/working/directory
    $ prove -lvr

    and you can get more information.

    $ prove –help
    $ man prove

    xt/ contains author’s test scripts. of course you can run these tets, but in general it is not necessary.

    enjoy.

  2. ピンバック: Days7 prove « 實松アウトプット

  3. ピンバック: Summary of My 2010 Advent Calendar « 實松アウトプット

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中