File: exec.go

package info (click to toggle)
apptainer 1.4.5-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 12,780 kB
  • sloc: sh: 3,329; ansic: 1,706; awk: 414; python: 103; makefile: 54
file content (37 lines) | stat: -rw-r--r-- 916 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Copyright (c) Contributors to the Apptainer project, established as
//   Apptainer a Series of LF Projects LLC.
//   For website terms of use, trademark policy, privacy policy and other
//   project policies see https://lfprojects.org/policies
// Copyright (c) 2019, Sylabs Inc. All rights reserved.
// This software is licensed under a 3-clause BSD license. Please consult the
// LICENSE.md file distributed with the sources of this project regarding your
// rights to use or distribute this software.

package exec

import (
	"testing"

	"gotest.tools/v3/icmd"
)

type Cmd struct {
	path string
	args []string
}

type Result struct {
	*icmd.Result
}

func Command(path string, args ...string) *Cmd {
	return &Cmd{path: path, args: args}
}

func (c *Cmd) Run(t *testing.T) *Result {
	t.Logf("Running cmd %q with args %q", c.path, c.args)

	result := icmd.RunCommand(c.path, c.args...)

	return &Result{result}
}