60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
| package libpod
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/containers/podman/v4/libpod/define"
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| )
 | |
| 
 | |
| func Test_statToPercent(t *testing.T) {
 | |
| 	type args struct {
 | |
| 		in0 []string
 | |
| 	}
 | |
| 	tests := []struct {
 | |
| 		name    string
 | |
| 		args    args
 | |
| 		want    *define.CPUUsage
 | |
| 		wantErr assert.ErrorAssertionFunc
 | |
| 	}{
 | |
| 		{
 | |
| 			name: "GoodParse",
 | |
| 			args: args{in0: []string{"cpu", "33628064", "27537", "9696996", "1314806705", "588142", "4775073", "2789228", "0", "598711", "0"}},
 | |
| 			want: &define.CPUUsage{
 | |
| 				UserPercent:   2.48,
 | |
| 				SystemPercent: 0.71,
 | |
| 				IdlePercent:   96.81,
 | |
| 			},
 | |
| 			wantErr: assert.NoError,
 | |
| 		},
 | |
| 		{
 | |
| 			name:    "BadUserValue",
 | |
| 			args:    args{in0: []string{"cpu", "k", "27537", "9696996", "1314806705", "588142", "4775073", "2789228", "0", "598711", "0"}},
 | |
| 			want:    nil,
 | |
| 			wantErr: assert.Error,
 | |
| 		},
 | |
| 		{
 | |
| 			name:    "BadSystemValue",
 | |
| 			args:    args{in0: []string{"cpu", "33628064", "27537", "k", "1314806705", "588142", "4775073", "2789228", "0", "598711", "0"}},
 | |
| 			want:    nil,
 | |
| 			wantErr: assert.Error,
 | |
| 		},
 | |
| 		{
 | |
| 			name:    "BadIdleValue",
 | |
| 			args:    args{in0: []string{"cpu", "33628064", "27537", "9696996", "k", "588142", "4775073", "2789228", "0", "598711", "0"}},
 | |
| 			want:    nil,
 | |
| 			wantErr: assert.Error,
 | |
| 		},
 | |
| 	}
 | |
| 	for _, tt := range tests {
 | |
| 		t.Run(tt.name, func(t *testing.T) {
 | |
| 			got, err := statToPercent(tt.args.in0)
 | |
| 			if !tt.wantErr(t, err, fmt.Sprintf("statToPercent(%v)", tt.args.in0)) {
 | |
| 				return
 | |
| 			}
 | |
| 			assert.Equalf(t, tt.want, got, "statToPercent(%v)", tt.args.in0)
 | |
| 		})
 | |
| 	}
 | |
| }
 |