blob: bae6b1ec09c882b4d2824273d4ecafcd5dfa2f9d [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
import (
"fmt"
"path/filepath"
"testing"
"v.io/x/lib/gosh"
)
func TestWhich(t *testing.T) {
sh := gosh.NewShell(t)
sh.PropagateChildOutput = true
defer sh.Cleanup()
jiriBinary := gosh.BuildGoPkg(sh, sh.MakeTempDir(), "v.io/jiri/cmd/jiri")
stdout, stderr := sh.Cmd(jiriBinary, []string{"which"}...).StdoutStderr()
if got, want := stdout, fmt.Sprintf("# binary\n%s\n", jiriBinary); got != want {
t.Errorf("stdout got %q, want %q", got, want)
}
if got, want := stderr, ""; got != want {
t.Errorf("stderr got %q, want %q", got, want)
}
}
// TestWhichScript tests the behavior of "jiri which" for the shim script.
func TestWhichScript(t *testing.T) {
sh := gosh.NewShell(t)
sh.PropagateChildOutput = true
defer sh.Cleanup()
jiriScript, err := filepath.Abs("../../scripts/jiri")
if err != nil {
t.Fatalf("couldn't determine absolute path to jiri script")
}
stdout, stderr := sh.Cmd(jiriScript, "which").StdoutStderr()
if got, want := stdout, fmt.Sprintf("# script\n%s\n", jiriScript); got != want {
t.Errorf("stdout got %q, want %q", got, want)
}
if got, want := stderr, ""; got != want {
t.Errorf("stderr got %q, want %q", got, want)
}
}