NAME

Test::Against::Dev::ProcessPSV - Process monthly and master PSV files

SYNOPSIS

use Test::Against::Dev::ProcessPSV;

my $ppsv = Test::Against::Dev::ProcessPSV( {
    verbose =>1,
} );

my $columns_seen = $ppsv->read_one_psv( {
    psvfile => '/path/to/psvfile',
} );

my $master_columns_ref = [
  "dist",
  "perl-5.29.0.author",
  "perl-5.29.0.distname",
  "perl-5.29.0.distversion",
  "perl-5.29.0.grade",
  "perl-5.29.1.author",
  "perl-5.29.1.distname",
  "perl-5.29.1.distversion",
  "perl-5.29.1.grade",
  ...
];

my $rv = $ppsv->write_master_psv( {
    master_columns  => $master_columns_ref,
    master_psvfile  => '/path/to/master_psvfile',
);

DESCRIPTION

This module provides methods for processing data stored in PSV (.psv) files generated by the Test::Against::Dev and Test::Against::Commit packages included in this CPAN distribution.

METHODS

new()

  • Purpose

    Test::Against::Dev::ProcessPSV constructor.

  • Arguments

    my $ppsv = Test::Against::Dev::ProcessPSV( { verbose =>1 } );

    Hash reference. Currently optional, as only element currently possible in that hash is verbose, which is off by default.

  • Return Value

    Test::Against::Dev::ProcessPSV object.

read_one_psv()

  • Purpose

    Create or augment a data structure holding the results of one or more test-against-dev processes.

  • Arguments

    my $columns_seen = $ppsv->read_one_psv( {
        psvfile => '/path/to/psvfile',
    } );

    Hash reference. Element psvfile is required; must be absolute path to a PSV file generated by a test-against-dev process. The columns in that file must look like this:

    "dist",
    "perl-5.29.0.author",
    "perl-5.29.0.distname",
    "perl-5.29.0.distversion",
    "perl-5.29.0.grade",
    "perl-5.29.1.author",
    "perl-5.29.1.distname",
    "perl-5.29.1.distversion",
    "perl-5.29.1.grade",
    ...

    The entries in the dist column will be the names of CPAN distributions being tested in the test-against-dev process.

    dist|perl-5.29.0.author|perl-5.29.0.distname|perl-5.29.0.distversion|perl-5.29.0.grade
    AAAA-Crypt-DH|BINGOS|AAAA-Crypt-DH-0.06|0.06|PASS
    ARGV-Struct|JLMARTIN|ARGV-Struct-0.03|0.03|PASS
    AWS-Signature4|LDS|AWS-Signature4-1.02|1.02|PASS
    Acme-Damn|IBB|Acme-Damn-0.08|0.08|PASS
    ...
  • Return Value

    Array reference holding a list of the columns detected within the PSV file. The number of columns must be at least 5.

  • Comment

    The method reads data from the PSV file and stores it within the object.

write_master_psv()

  • Purpose

  • Arguments

    my $master_columns_ref = [
      "dist",
      "perl-5.29.0.author",
      "perl-5.29.0.distname",
      "perl-5.29.0.distversion",
      "perl-5.29.0.grade",
      "perl-5.29.1.author",
      "perl-5.29.1.distname",
      "perl-5.29.1.distversion",
      "perl-5.29.1.grade",
      ...
    ];
    my $rv = $ppsv->write_master_psv( {
        master_columns  => $master_columns_ref,
        master_psvfile  => '/path/to/master_psvfile',
    );

    Hash reference, currently with 2 possible elements:

    • master_columns

      Array reference holding list of column names to be written to master PSV file.

    • 3 master_psvfile

      String holding absolute path to the new master PSV file to be populated with data in object.

  • Return Value

    Returns Perl-true value; dies otherwise.

  • Comment

    Writes the pipe-separated-values file specified in the third argument.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 204:

Expected '=item *'