.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" 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::Lintian::Templates 3" .TH Test::Lintian::Templates 3 2024-02-05 "Lintian v2.117.0" "Debian Package Checker" .\" 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::Lintian::Templates \-\- Helper routines dealing with templates .SH SYNOPSIS .IX Header "SYNOPSIS" use Test::Lintian::Templates qw(fill_template); .PP my \f(CW$data\fR = { 'placeholder' => 'value' }; my \f(CW$file\fR = '/path/to/generated/file'; .PP fill_template("$file.in", \f(CW$file\fR, \f(CW$data\fR); .SH DESCRIPTION .IX Header "DESCRIPTION" Routines for dealing with templates in Lintian test specifications. .SH FUNCTIONS .IX Header "FUNCTIONS" .IP "copy_skeleton_template_sets(INSTRUCTIONS, RUN_PATH, SUITE, TEST_SET)" 4 .IX Item "copy_skeleton_template_sets(INSTRUCTIONS, RUN_PATH, SUITE, TEST_SET)" Copies template sets belonging to SUITE into the test working directory RUN_PATH according to INSTRUCTIONS. The INSTRUCTIONS are the target directory relative to RUN_PATH followed by the name of the template set in parentheses. Multiple such instructions must be separated by commas. .IP "remove_surplus_templates(SRC_DIR, TARGET_DIR)" 4 .IX Item "remove_surplus_templates(SRC_DIR, TARGET_DIR)" Removes from TARGET_DIR any templates that have corresponding originals in SRC_DIR. .IP "fill_skeleton_templates(INSTRUCTIONS, HASH, EPOCH, RUN_PATH, TEST_SET)" 4 .IX Item "fill_skeleton_templates(INSTRUCTIONS, HASH, EPOCH, RUN_PATH, TEST_SET)" Fills the templates specified in INSTRUCTIONS using the data in HASH. Only fills templates when the generated files are not present or are older than either the file modification time of the template or the age of the data as evidenced by EPOCH. The INSTRUCTIONS are the target directory relative to RUN_PATH followed by the name of the whitelist in parentheses. Multiple instructions must be separated by commas. .IP "fill_whitelisted_templates(DIR, WHITE_LIST, HASH, HASH_EPOCH)" 4 .IX Item "fill_whitelisted_templates(DIR, WHITE_LIST, HASH, HASH_EPOCH)" Generates all files in array WHITE_LIST relative to DIR from their templates, which are assumed to have the same file name but with extension '.in', using data provided in HASH. The optional argument HASH_EPOCH can be used to preserve files when no generation is necessary. .IP "fill_all_templates(HASH, DIR)" 4 .IX Item "fill_all_templates(HASH, DIR)" Fills all templates in DIR with data from HASH. .IP "fill_template(TEMPLATE, GENERATED, HASH, HASH_EPOCH, DELIMITERS)" 4 .IX Item "fill_template(TEMPLATE, GENERATED, HASH, HASH_EPOCH, DELIMITERS)" Fills template TEMPLATE with data from HASH and places the result in file GENERATED. When given HASH_EPOCH, will evaluate beforehand if a substitution is necessary based on file modification times. The optional parameter DELIMITERS can be used to change the standard delimiters.