github.com/dctrud/umoci@v0.4.3-0.20191016193643-05a1d37de015/cmd/umoci/main_test.go (about)

     1  /*
     2   * umoci: Umoci Modifies Open Containers' Images
     3   * Copyright (C) 2016, 2017, 2018 SUSE LLC.
     4   *
     5   * Licensed under the Apache License, Version 2.0 (the "License");
     6   * you may not use this file except in compliance with the License.
     7   * You may obtain a copy of the License at
     8   *
     9   *    http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   * Unless required by applicable law or agreed to in writing, software
    12   * distributed under the License is distributed on an "AS IS" BASIS,
    13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   * See the License for the specific language governing permissions and
    15   * limitations under the License.
    16   */
    17  
    18  package main
    19  
    20  import (
    21  	"os"
    22  	"strings"
    23  	"testing"
    24  )
    25  
    26  // Build:
    27  //  $ go test -c -covermode=count -o umoci \
    28  //            -cover -coverpkg=github.com/openSUSE/umoci/... \
    29  //            github.com/openSUSE/umoci/cmd/umoci
    30  // Run:
    31  //  $ ./umoci __DEVEL--i-heard-you-like-tests -test.coverprofile [file] [args]...
    32  
    33  // TestUmoci is a hack that allows us to figure out what the coverage is during
    34  // integration tests. I would not recommend that you use a binary built using
    35  // this hack outside of a test suite.
    36  func TestUmoci(t *testing.T) {
    37  	var (
    38  		args []string
    39  		run  bool
    40  	)
    41  
    42  	for _, arg := range os.Args {
    43  		switch {
    44  		case arg == "__DEVEL--i-heard-you-like-tests":
    45  			run = true
    46  		case strings.HasPrefix(arg, "-test"):
    47  		case strings.HasPrefix(arg, "__DEVEL"):
    48  		default:
    49  			args = append(args, arg)
    50  		}
    51  	}
    52  	os.Args = args
    53  
    54  	if run {
    55  		main()
    56  	}
    57  }