github.com/getgauge/gauge@v1.6.9/execution/execute_test.go (about)

     1  /*----------------------------------------------------------------
     2   *  Copyright (c) ThoughtWorks, Inc.
     3   *  Licensed under the Apache License, Version 2.0
     4   *  See LICENSE in the project root for license information.
     5   *----------------------------------------------------------------*/
     6  
     7  package execution
     8  
     9  import (
    10  	"fmt"
    11  
    12  	"github.com/getgauge/gauge/gauge"
    13  
    14  	. "gopkg.in/check.v1"
    15  )
    16  
    17  func (s *MySuite) TestFunctionsOfTypeSpecList(c *C) {
    18  	mySpecs := gauge.NewSpecCollection(createSpecsList(4), false)
    19  	c.Assert(mySpecs.Next()[0].FileName, Equals, "spec0")
    20  	c.Assert(mySpecs.Next()[0].FileName, Equals, "spec1")
    21  	c.Assert(mySpecs.HasNext(), Equals, true)
    22  	c.Assert(mySpecs.Size(), Equals, 4)
    23  	c.Assert(mySpecs.Next()[0].FileName, Equals, "spec2")
    24  	c.Assert(mySpecs.Next()[0].FileName, Equals, "spec3")
    25  	c.Assert(mySpecs.HasNext(), Equals, false)
    26  }
    27  
    28  func createSpecsList(number int) []*gauge.Specification {
    29  	var specs []*gauge.Specification
    30  	for i := 0; i < number; i++ {
    31  		specs = append(specs, &gauge.Specification{FileName: fmt.Sprint("spec", i)})
    32  	}
    33  	return specs
    34  }
    35  
    36  func (s *MySuite) TestValidateFlagsIfNotParallel(c *C) {
    37  	InParallel = false
    38  	err := validateFlags()
    39  	c.Assert(err, Equals, nil)
    40  }
    41  
    42  func (s *MySuite) TestValidateFlagsWithStartegyEager(c *C) {
    43  	InParallel = true
    44  	Strategy = "eager"
    45  	NumberOfExecutionStreams = 1
    46  	err := validateFlags()
    47  	c.Assert(err, Equals, nil)
    48  }
    49  
    50  func (s *MySuite) TestValidateFlagsWithStartegyLazy(c *C) {
    51  	InParallel = true
    52  	Strategy = "lazy"
    53  	NumberOfExecutionStreams = 1
    54  	err := validateFlags()
    55  	c.Assert(err, Equals, nil)
    56  }
    57  
    58  func (s *MySuite) TestValidateFlagsWithInvalidStrategy(c *C) {
    59  	InParallel = true
    60  	Strategy = "sdf"
    61  	NumberOfExecutionStreams = 1
    62  	err := validateFlags()
    63  	c.Assert(err.Error(), Equals, "invalid input(sdf) to --strategy flag")
    64  }
    65  
    66  func (s *MySuite) TestValidateFlagsWithInvalidStream(c *C) {
    67  	InParallel = true
    68  	NumberOfExecutionStreams = -1
    69  	err := validateFlags()
    70  	c.Assert(err.Error(), Equals, "invalid input(-1) to --n flag")
    71  }