onents(
"InflateColumn::DateTime",
"InflateColumn::Serializer",
"InflateColumn::Serializer::JSON",
);
__PACKAGE__->table("reporting");
__PACKAGE__->add_columns(
"reporting_id",
{ data_type =
onents(
"InflateColumn::DateTime",
"InflateColumn::Serializer",
"InflateColumn::Serializer::JSON",
);
__PACKAGE__->table("email_verification_codes");
__PACKAGE__->add_columns(
"evcode",
{ da
onents(
"InflateColumn::DateTime",
"InflateColumn::Serializer",
"InflateColumn::Serializer::JSON",
);
__PACKAGE__->table("source_subs");
__PACKAGE__->add_columns(
"source_sub_id",
{ data_typ
onents(
"InflateColumn::DateTime",
"InflateColumn::Serializer",
"InflateColumn::Serializer::JSON",
);
__PACKAGE__->table("job_tries");
__PACKAGE__->add_columns(
"job_try_uuid",
{ data_type =
lue => \"null",
is_nullable => 1,
size => [14, 4],
},
"parameters",
{ data_type => "json", default_value => \"null", is_nullable => 1 },
"stdout",
{ data_type => "text", default_valu
onents(
"InflateColumn::DateTime",
"InflateColumn::Serializer",
"InflateColumn::Serializer::JSON",
);
__PACKAGE__->table("api_keys");
__PACKAGE__->add_columns(
"api_key_id",
{ data_type => "
onents(
"InflateColumn::DateTime",
"InflateColumn::Serializer",
"InflateColumn::Serializer::JSON",
);
__PACKAGE__->table("job_try_fields");
__PACKAGE__->add_columns(
"event_uuid",
{ data_typ
onents(
"InflateColumn::DateTime",
"InflateColumn::Serializer",
"InflateColumn::Serializer::JSON",
);
__PACKAGE__->table("permissions");
__PACKAGE__->add_columns(
"permission_id",
{ data_typ
onents(
"InflateColumn::DateTime",
"InflateColumn::Serializer",
"InflateColumn::Serializer::JSON",
);
__PACKAGE__->table("projects");
__PACKAGE__->add_columns(
"project_id",
{ data_type => "
unless @fields;
$run->send_event(facet_data => {harness_run_fields => \@fields});
}
sub TO_JSON { ref($_[0]) }
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
App::Yath::Plugin::SysInfo - Plu
E DATA
The data is attached to the 'run' entry in the log file. This can be seen
directly in the json data, database, or server.
The data will include the long sha, short sha, branch name, and a bri
;
use Test2::Harness::Util qw/clean_path mod2file fqmod/;
use Test2::Harness::Util::JSON qw/encode_json stream_json_l/;
use Test2::Util::UUID qw/gen_uuid/;
use parent 'App::Yath::Plugin';
use Test2:
alize => \&clean_path,
long_examples => ['', '=coverage.jsonl', '=coverage.json'],
description => "Create a json or jsonl file of all coverage data seen during the run (This implies --
cover-files).",
autofill => sub { clean_path("coverage.jsonl") },
);
option aggregator => (
type => 'Scalar',
alt => ['agg'],
long_examples => [' ByTest', ' B
alize { }
sub instance_setup { }
sub instance_teardown { }
sub instance_finalize { }
sub TO_JSON { ref($_[0]) || "$_[0]" }
sub redirect_io { Carp::confess("redirect_io() is deprecated") }
sub s
enames, and will be used as
the output tag (best to limit it to 8 characters).
=item $plugin->TO_JSON
This is here as a bare minimum serialization method. It returns the plugin
class name.
=back
=
ponse qw/resp error/;
use App::Yath::Util qw/share_dir/;
use Test2::Harness::Util::JSON qw/encode_json decode_json/;
use Test2::Harness::Util::HashBase qw{
<schema_config
<single_run
<s
, failed => 1});
$router->connect('/failed/:source/json' => {controller => 'App::Yath::Server::Controller::Files', failed => 1, json => 1});
$router->connect('/failed/:project/:id'
roller::Files', failed => 1, json => 1});
$router->connect('/failed/:project/:username/:id' => {controller => 'App::Yath::Server::Controller::Files', failed => 1, json => 1});
$router->connec
000004';
use Carp();
use Getopt::Yath::Settings::Group;
use Test2::Harness::Util::JSON qw/decode_json decode_json_file/;
sub new {
my $class = shift;
my $self = @_ == 1 ? $_[0] : { @_ };
OM_JSON_FILE {
my $class = shift;
my ($file, %params) = @_;
my $data = decode_json_file($file, %params);
$class->new($data);
}
sub FROM_JSON {
my $class = shift;
my ($json) =
@_;
my $data = decode_json($json);
$class->new($data);
}
sub TO_JSON {
my $self = shift;
return {%$self};
}
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Getopt::Yath::Settings
p qw/confess/;
use List::Util qw/min/;
use Time::HiRes qw/time/;
use Test2::Harness::Util::JSON qw/encode_json/;
use Importer 'Test2::Util::Facets2Legacy' => ':ALL';
BEGIN {
require Test2::Event
<facet_data
<stream_id
<event_id
<run_id
<job_id
<job_try
<stamp
+json
processed
};
sub trace { $_[0]->{+FACET_DATA}->{trace} }
sub set_trace { confess "'trace
= $v1 // $v2 // $v3;
}
delete $data->{facet_data};
}
sub as_json { $_[0]->{+JSON} //= encode_json($_[0]) }
sub TO_JSON {
my $out = {%{$_[0]}};
$out->{+FACET_DATA} = { %{$out->{+FA
e DBI;
use DateTime;
use Scope::Guard;
use Carp qw/croak/;
use Test2::Harness::Util::JSON qw/encode_json decode_json/;
use Test2::Util::UUID qw/gen_uuid/;
our $VERSION = '2.000004';
use Test2::Harne
$subcount++;
my ($key) = keys(%$item);
my $line = encode_json($item);
print $wh $line, "\n";
}
}
$counter++;
;
my $last_run_uuid;
my $broken;
while (my $line = <$rh>) {
my $data = decode_json($line);
my ($type, @bad) = keys %$data;
die "Invalid data!" if @bad;
$s
:IPC::Util qw/ipc_warn/;
use Test2::Util::UUID qw/gen_uuid/;
use Test2::Harness::Util::JSON qw/encode_pretty_json/;
use Test2::Harness::Util::HashBase qw{
+stop
runner
single_run
<re
t) {
warn "Job '$job_id' took too long to start, timing it out: " . encode_pretty_json($job_data->{job});
my $info = delete $job_data->{run}->running->{$job_id};
est2::Harness::Util qw/clean_path file2mod open_file/;
use Test2::Harness::Util::JSON qw/encode_json encode_pretty_json/;
our $VERSION = '2.000004';
BEGIN {
local $@;
my $inotify = eval { re
return (0, reason => $err) unless $ok;
return (0, reason => "Got warnings: " . encode_pretty_json(\@warnings)) if @warnings;
return (1);
}
sub find_churn {
my $self = shift;
my ($fil
uid/;
our $VERSION = '2.000004';
my @NO_JSON;
BEGIN {
@NO_JSON = qw{
ipc
connect
send_event_cb
};
sub no_json { @NO_JSON }
}
use Test2::Harness::Util::HashBase(
<jobs
<job_lookup
<test_settings
<settings
},
(map { "+$_" } @NO_JSON),
);
sub init {
my $self = shift;
croak "'run_id' is a required attribute" unless $self
e $data{$_} for $self->no_json, qw/jobs job_lookup/;
return \%data;
}
sub TO_JSON {
my $self = shift;
my %data = %$self;
delete $data{$_} for $self->no_json;
return \%data;
}
2file/;
use Test2::Harness::IPC::Util qw/ipc_warn ipc_loop/;
use Test2::Harness::Util::JSON qw/encode_pretty_json/;
use Test2::Harness::Instance::Message;
use Test2::Harness::Instance::Request;
use T