cwl.go
is just a parser of CWL file and input files based on CWL, for example 1st-tool.yaml and echo-job.yml.
Fully documented here!
package main
import (
"fmt"
"os"
cwl "github.com/otiai10/cwl.go"
)
func main() {
file, _ := os.Open("hello.cwl")
doc := cwl.NewCWL()
doc.Decode(file)
fmt.Printf("%+v\n", doc)
}
xtest.sh
requires Go package github.com/otiai10/mint
To install it.
go get -u github.com/otiai10/mint
Because there are both array and dictionary in CWL specification, and as you know Golang can't keep order of map keys, the test fails sometimes by order problem. Therefore, ./xtest.sh
tries testing each case several times eagerly unless it passes.
For all cases,
./xtest.sh
For only 1 case which matches _wf3
,
./xtest.sh _wf3
Or if you want to execute single test for just 1 time (NOT eagerly),
go test ./tests -run _wf3