github.com/mvdan/u-root-coreutils@v0.0.0-20230122170626-c2eef2898555/cmds/core/df/df_test.go (about) 1 // Copyright 2015-2017 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build !plan9 && !windows 6 7 package main 8 9 import ( 10 "bytes" 11 "errors" 12 "os" 13 "testing" 14 ) 15 16 func TestRunDF(t *testing.T) { 17 for _, tt := range []struct { 18 name string 19 args []string 20 fargs flags 21 wantErr error 22 }{ 23 { 24 name: "No-such-file-or-directory", 25 args: []string{""}, 26 }, 27 { 28 name: "NoArgs-NoFlags", 29 }, 30 { 31 name: "NoArgs-M-Flag", 32 fargs: flags{ 33 m: true, 34 }, 35 }, 36 { 37 name: "NoArgs-K-Flag", 38 fargs: flags{ 39 k: true, 40 }, 41 }, 42 { 43 name: "NoArgs-KM-Flag", 44 fargs: flags{ 45 k: true, 46 m: true, 47 }, 48 wantErr: errKMExclusiv, 49 }, 50 { 51 name: "Dir as argument", 52 args: []string{os.TempDir()}, 53 }, 54 } { 55 t.Run(tt.name, func(t *testing.T) { 56 var buf bytes.Buffer 57 if err := df(&buf, tt.fargs, tt.args); !errors.Is(err, tt.wantErr) { 58 t.Errorf("df(%v, %v, buf)=%q, want %q", tt.args, tt.fargs, err, tt.wantErr) 59 } 60 }) 61 } 62 }