in reply to Path to prove

assuming you are in the . directory, your tests are the default t/*.t , and your module lives as lib/AI/Embedding.pm , then prove -l lib

If you have XS binaries (I haven't looked at AI::Embedding, so I don't know), then you may need to build it first (which puts modules in blib/lib ), and then use prove -b blib

prove describes all of these options, and more.

And if you're using a standard build system, then the standard incantation

perl Makefile.PL make make test
(or your build system's equivalent incantation) will also make use of your in-progress copy rather than a previously installed.


edit 1: standard incantation

edit 2: remove ambiguous sentence full-stop in first paragraph, because it looked like part of the prove command, when it wasn't intended to

edit 3: strike out lib and blib : per Re^3: Path to prove and Re^4: Path to prove, -l and -b options do not take arguments; use the -I path argument if you need to specify a specific directory.

Replies are listed 'Best First'.
Re^2: Path to prove
by Bod (Parson) on Dec 19, 2023 at 00:59 UTC
    then prove -l lib

    I was clearly having a senior moment... I tried the -l switch but added lib\AI

    Thank you

      FYI the default value for -l is lib/ so the value doesn't have to be specified if that's where your libs live. -l is like -Ilib.

      Hope this helps!


      The way forward always starts with a minimal test.
        Hope this helps!

        Immensely thank you...

        AI::Embedding now has a new version and I was able to test to thanks to this little nugget 🙂

        You are, of course, right. In fact, re-reading OPTIONS, neither -l nor -b take an option at all, so the syntax I showed won't work. (That's what I get for going by memory after a long day of work.) I will correct my post to prevent further dissemination of bad information.