Build Status GoDoc

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 (

    cwl ""

func main() {
    file, _ := os.Open("hello.cwl")
    doc := cwl.NewCWL()
    fmt.Printf("%+v\n", doc)


Prerequisite requires Go package

To install it.

go get -u

Why and How to do test with it.

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, ./ tries testing each case several times eagerly unless it passes.

For all cases,


For only 1 case which matches _wf3,

./ _wf3

Or if you want to execute single test for just 1 time (NOT eagerly),

go test ./tests -run _wf3


CWL (and input file) parser for Golang, used by

Cwl.go Info

⭐ Stars 20
🔗 Homepage
🔗 Source Code
🕒 Last Update 6 months ago
🕒 Created 5 years ago
🐞 Open Issues 1
➗ Star-Issue Ratio 20
😎 Author otiai10