File Coverage

blib/lib/Test/OpenTracing/Interface/Span.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod 1 1 100.0
total 26 26 100.0


line stmt bran cond sub pod time code
1             package Test::OpenTracing::Interface::Span;
2              
3             =head1 NAME
4              
5             Test::OpenTracing::Interface::Span - compliance testing
6              
7             =head1 SYNOPSIS
8              
9             use Test::OpenTracing::Interface::Span qw/:all/;
10            
11             can_all_ok 'MyImplementation::Span',
12             "MyImplementation class does have all subs defined, well done!";
13            
14             my $test_thing = MyImplementation::Span->new ( ... );
15            
16             can_all_ok( $test_thing,
17             "An object constructed by 'new' has all required subs defined"
18             );
19              
20             =cut
21              
22 3     3   311302 use strict;
  3         30  
  3         76  
23 3     3   13 use warnings;
  3         6  
  3         110  
24              
25             our $VERSION = 'v0.23.0';
26              
27              
28 3     3   1038 use Test::OpenTracing::Interface;
  3         12  
  3         123  
29              
30 3     3   26 use Exporter qw/import/;
  3         6  
  3         168  
31              
32             our @EXPORT_OK = qw/can_all_ok/;
33             our %EXPORT_TAGS = ( all => [qw/can_all_ok/] );
34              
35 3     3   1208 use syntax qw/maybe/;
  3         56230  
  3         11  
36              
37              
38              
39             =head1 DESCRIPTION
40              
41             This package will provide the tests as described in
42             L.
43              
44              
45              
46             =head1 EXPORTED SUBROUTINES
47              
48             =cut
49              
50              
51              
52             =head2 C
53              
54             Test that all methods mentioned in L
55             are defined.
56              
57             =cut
58              
59             sub can_all_ok {
60 3     3 1 7464 my $thing = shift;
61 3         5 my $message = shift;
62            
63 3         51 my $Test = Test::OpenTracing::Interface::CanAll->new(
64             test_this => $thing,
65             interface_name => 'Span',
66             interface_methods => [
67             'add_baggage_item',
68             'add_baggage_items',
69             'add_tag',
70             'add_tags',
71             'finish',
72             'get_baggage_item',
73             'get_baggage_items',
74             'get_context',
75             'get_tags',
76             'log_data',
77             'overwrite_operation_name',
78             ],
79             maybe
80             message => $message,
81             );
82            
83 3         2693 return $Test->run_tests;
84             }
85              
86              
87              
88             =head1 SEE ALSO
89              
90             =over
91              
92             =item L
93              
94             Test OpenTracing::Interface compliance.
95              
96             =item L
97              
98             Defines the ContextReference.
99              
100             =back
101              
102              
103              
104             =head1 AUTHOR
105              
106             Theo van Hoesel
107              
108              
109              
110             =head1 COPYRIGHT AND LICENSE
111              
112             'Test OpenTracing' is Copyright (C) 2020, Perceptyx Inc
113              
114             This library is free software; you can redistribute it and/or modify it under
115             the terms of the Artistic License 2.0.
116              
117             This library is distributed in the hope that it will be useful, but it is
118             provided "as is" and without any express or implied warranties.
119              
120             For details, see the full text of the license in the file LICENSE.
121              
122              
123              
124             =cut
125              
126             1;