.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Test::MinimumVersion 3" .TH Test::MinimumVersion 3 2024-09-01 "perl v5.40.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Test::MinimumVersion \- does your code require newer perl than you think? .SH VERSION .IX Header "VERSION" version 0.101083 .SH SYNOPSIS .IX Header "SYNOPSIS" Example \fIminimum\-perl.t\fR: .PP .Vb 3 \& #!perl \& use Test::MinimumVersion; \& all_minimum_version_ok(\*(Aq5.008\*(Aq); .Ve .SH "PERL VERSION" .IX Header "PERL VERSION" This library should run on perls released even an extremely long time ago. It should work on any version of perl released in the last ten years. .PP Although it may work on older versions of perl, no guarantee is made that the minimum required version will not be increased. The version may be increased for any reason, and there is no promise that patches will be accepted to lower the minimum required perl. .SH FUNCTIONS .IX Header "FUNCTIONS" .SS minimum_version_ok .IX Subsection "minimum_version_ok" .Vb 1 \& minimum_version_ok($file, $version); .Ve .PP This test passes if the given file does not seem to require any version of perl newer than \f(CW$version\fR, which may be given as a version string or a version object. .SS all_minimum_version_ok .IX Subsection "all_minimum_version_ok" .Vb 1 \& all_minimum_version_ok($version, \e%arg); .Ve .PP Given either a version string or a version object, this routine produces a test plan (if there is no plan) and tests each relevant file with \&\f(CW\*(C`minimum_version_ok\*(C'\fR. .PP Relevant files are found by File::Find::Rule::Perl. .PP \&\f(CW\*(C`\e%arg\*(C'\fR is optional. Valid arguments are: .PP .Vb 7 \& paths \- in what paths to look for files; defaults to (bin, script, t, lib, \& xt/smoke, and any .pm or .PL files in the current working \& directory) if it contains files, they will be checked \& no_plan \- do not plan the tests about to be run \& skip \- files to skip; this can be useful in weird cases like gigantic \& files, files falsely detected as Perl, or code that uses \& a source filter; this should be an arrayref of filenames .Ve .SS all_minimum_version_from_metayml_ok .IX Subsection "all_minimum_version_from_metayml_ok" .Vb 1 \& all_minimum_version_from_metayml_ok(\e%arg); .Ve .PP This routine checks \fIMETA.yml\fR for an entry in \fIrequires\fR for \fIperl\fR. If no META.yml file or no perl version is found, all tests are skipped. If a version is found, the test proceeds as if \f(CW\*(C`all_minimum_version_ok\*(C'\fR had been called with that version. .SS all_minimum_version_from_metajson_ok .IX Subsection "all_minimum_version_from_metajson_ok" .Vb 1 \& all_minimum_version_from_metajson_ok(\e%arg); .Ve .PP This routine checks \fIMETA.json\fR for an entry in \fIrequires\fR for \fIperl\fR. If no META.json file or no perl version is found, all tests are skipped. If a version is found, the test proceeds as if \f(CW\*(C`all_minimum_version_ok\*(C'\fR had been called with that version. .SS all_minimum_version_from_mymetayml_ok .IX Subsection "all_minimum_version_from_mymetayml_ok" .Vb 1 \& all_minimum_version_from_mymetayml_ok(\e%arg); .Ve .PP This routine checks \fIMYMETA.yml\fR for an entry in \fIrequires\fR for \fIperl\fR. If no MYMETA.yml file or no perl version is found, all tests are skipped. If a version is found, the test proceeds as if \f(CW\*(C`all_minimum_version_ok\*(C'\fR had been called with that version. .SS all_minimum_version_from_mymetajson_ok .IX Subsection "all_minimum_version_from_mymetajson_ok" .Vb 1 \& all_minimum_version_from_mymetajson_ok(\e%arg); .Ve .PP This routine checks \fIMYMETA.json\fR for an entry in \fIrequires\fR for \fIperl\fR. If no MYMETA.json file or no perl version is found, all tests are skipped. If a version is found, the test proceeds as if \f(CW\*(C`all_minimum_version_ok\*(C'\fR had been called with that version. .SH AUTHOR .IX Header "AUTHOR" Ricardo Signes .SH CONTRIBUTORS .IX Header "CONTRIBUTORS" .IP \(bu 4 Ricardo SIGNES .IP \(bu 4 Ricardo Signes .IP \(bu 4 Steve Hay .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2007 by Ricardo Signes. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.