Documentation ¶
Overview ¶
* Copyright 2021 Comcast Cable Communications Management, LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * SPDX-License-Identifier: Apache-2.0
Index ¶
Constants ¶
const (
PluginName = "report"
)
Variables ¶
var HandshakeConfig = plugin.HandshakeConfig{
ProtocolVersion: 1,
MagicCookieKey: "REPORT_PLUGIN",
MagicCookieValue: "generator",
}
handshakeConfigs are used to just do a basic handshake between a plugin and host. If the handshake fails, a user friendly error is shown. This prevents users from executing bad plugins or executing a plugin directory. It is a UX feature, not a security feature.
var PluginMap = map[string]plugin.Plugin{ PluginName: &ReportPlugin{}, }
pluginMap is the map of plugins we can dispense.
Functions ¶
This section is empty.
Types ¶
type Generator ¶
type Generator interface { Config([]byte) error Generate(*TestReport) error }
Generate interface for the report plugin
func NewGenerator ¶
type ReportPlugin ¶
type ReportPlugin struct { // Concrete implementation, written in Go. This is only used for plugins // that are written in Go. Impl Generator }
ReportPlugin is the implementation of plugin.Plugin so we can serve/consume this.
type ReportRPCClient ¶
type ReportRPCClient struct {
// contains filtered or unexported fields
}
Here is an implementation that talks over RPC
func (*ReportRPCClient) Config ¶
func (m *ReportRPCClient) Config(cfgb []byte) error
func (*ReportRPCClient) Generate ¶
func (m *ReportRPCClient) Generate(tr *TestReport) error
type ReportRPCServer ¶
type ReportRPCServer struct { // This is the real implementation Impl Generator }
Here is the RPC server that GenerateRPC talks to, conforming to the requirements of net/rpc
func (*ReportRPCServer) Config ¶
func (m *ReportRPCServer) Config(cfgb []byte, resp *interface{}) error
func (*ReportRPCServer) Generate ¶
func (m *ReportRPCServer) Generate(trb []byte, resp *interface{}) error
type TestReport ¶
type TestReport struct { XMLName xml.Name `xml:"testreport" json:"-"` Name string `xml:"name,attr,omitempty" json:"name,omitempty"` Version string `xml:"version,attr,omitempty" json:"version,omitempty"` TestSuite []*junit.TestSuite `xml:"testsuite" json:"testsuite"` Total int `xml:"tests,attr" json:"tests"` Passed int `xml:"passed,attr" json:"passed"` Skipped int `xml:"skipped,attr" json:"skipped"` Failures int `xml:"failures,attr" json:"failures"` Errors int `xml:"errors,attr" json:"errors"` Started time.Time `xml:"started,attr" json:"timestamp"` Time time.Duration `xml:"time,attr" json:"time"` }
TestReport is the toplevel object for the plaxrun test report
func (*TestReport) Generate ¶
func (tr *TestReport) Generate(name string, cfgb []byte) error
Generate the TestReport
func (*TestReport) HasError ¶
func (tr *TestReport) HasError() bool
HasError determines if test report has any errors