Help language development. Donate to The Perl Foundation
Test::SourceFiles - A basic compilation checker
use Test; use Test::SourceFiles; use-libs-ok; done-testing
Test::SourceFiles is a simple way to check the compilation of all files in your projects
lib/ directory. I found myself rewriting this a couple of times so time to make a module.
The simple way is to call the
use-libs-ok function which calls
Test::use-ok on each module name returned from the collecting function,
collect-sources. Alternately you can call
collect-sources and do something fancy with it's
Pair's where the key is a
:: formatted name and the value is the
IO::Path where it was found. For example:
say collect-sources.perl # prints ("Test::SourceFiles" => IO::Path.new("lib/Test/SourceFiles.pm6", ...),).Seq
Both functions have the following options and defaults:
Str :$root-path = 'lib' - Where to search for source files
List :$extensions = list 'pm6' - Which file extensions to include
Bool :$verbose = False - Provide more detailed feedback on the search process
I find this module particularly useful when I'm starting a project, a time where I'm creating a lot of files while stubbing functions and roles. This module weeds out syntax errors from this sketching stage, allowing for a smoother transition into the implementation stage of the development process. As a module matures and it's test suite fills in this module begins to become less useful and so can likely removed later in a module's life.
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.