You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2021/03/12 10:39:12 UTC
[plc4x] branch develop updated: plc4go: added parameter parsing to
DriverTestRunner.go
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 6681ae1 plc4go: added parameter parsing to DriverTestRunner.go
6681ae1 is described below
commit 6681ae1087e2d48d670db221cdd0f986237dca33
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Fri Mar 12 11:38:32 2021 +0100
plc4go: added parameter parsing to DriverTestRunner.go
---
.../plc4go/spi/testutils/DriverTestRunner.go | 29 +++++++++++++++++-----
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/plc4go/internal/plc4go/spi/testutils/DriverTestRunner.go b/plc4go/internal/plc4go/spi/testutils/DriverTestRunner.go
index 002ed40..00835ff 100644
--- a/plc4go/internal/plc4go/spi/testutils/DriverTestRunner.go
+++ b/plc4go/internal/plc4go/spi/testutils/DriverTestRunner.go
@@ -400,6 +400,7 @@ func ParseDriverTestsuite(node xmldom.Node) (*DriverTestsuite, error) {
}
var testsuiteName string
var driverName string
+ driverParameters := make(map[string]string)
var setupSteps []TestStep
var teardownSteps []TestStep
var testcases []Testcase
@@ -409,6 +410,21 @@ func ParseDriverTestsuite(node xmldom.Node) (*DriverTestsuite, error) {
testsuiteName = child.Text
} else if child.Name == "driver-name" {
driverName = child.Text
+ } else if child.Name == "driver-parameters" {
+ parameterList := child.FindByName("parameter")
+ for _, parameter := range parameterList {
+ nameElement := parameter.FindOneByName("name")
+ valueElement := parameter.FindOneByName("value")
+ if nameElement == nil || valueElement == nil {
+ return nil, errors.New("invalid parameter found: no present")
+ }
+ name := nameElement.Text
+ value := valueElement.Text
+ if name == "" || value == "" {
+ return nil, errors.New("invalid parameter found: empty")
+ }
+ driverParameters[name] = value
+ }
} else if child.Name == "setup" {
steps, err := ParseDriverTestsuiteSteps(child)
if err != nil {
@@ -434,16 +450,17 @@ func ParseDriverTestsuite(node xmldom.Node) (*DriverTestsuite, error) {
}
testcases = append(testcases, testcase)
} else {
- return nil, errors.New("invalid document structure")
+ return nil, errors.New("invalid document structure. Unhandled element " + child.Name)
}
}
return &DriverTestsuite{
- name: testsuiteName,
- driverName: driverName,
- setupSteps: setupSteps,
- teardownSteps: teardownSteps,
- testcases: testcases,
+ name: testsuiteName,
+ driverName: driverName,
+ driverParameters: driverParameters,
+ setupSteps: setupSteps,
+ teardownSteps: teardownSteps,
+ testcases: testcases,
}, nil
}