github.com/xyproto/u-root@v6.0.1-0.20200302025726-5528e0c77a3c+incompatible/pkg/storage/blockdev_test.go (about) 1 // Copyright 2017-2019 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 package storage 6 7 import ( 8 "testing" 9 10 "github.com/stretchr/testify/require" 11 ) 12 13 // TestFindMountPointNotExists checks that non existent 14 // entry is checked and nil returned 15 func TestFindMountPointNotExists(t *testing.T) { 16 LinuxMountsPath = "testdata/mounts" 17 _, err := GetMountpointByDevice("/dev/mapper/sys-oldxxxxxx") 18 require.Error(t, err) 19 } 20 21 // TestFindMountPointValid check for valid output of 22 // test mountpoint. 23 func TestFindMountPointValid(t *testing.T) { 24 LinuxMountsPath = "testdata/mounts" 25 mountpoint, err := GetMountpointByDevice("/dev/mapper/sys-old") 26 require.NoError(t, err) 27 require.Equal(t, *mountpoint, "/media/usb") 28 } 29 30 func TestBlockStatFromBytes15Fields(t *testing.T) { 31 // dummy values, don't judge me 32 input := []byte(" 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14\n") 33 bs, err := BlockStatFromBytes(input) 34 require.NoError(t, err) 35 require.Equal(t, uint64(5), bs.WriteMerges) 36 require.Equal(t, uint64(14), bs.DiscardTicks) 37 } 38 39 func TestBlockStatFromBytes11Fields(t *testing.T) { 40 // dummy values, don't judge me 41 input := []byte(" 0 1 2 3 4 5 6 7 8 9 10\n") 42 bs, err := BlockStatFromBytes(input) 43 require.NoError(t, err) 44 require.Equal(t, uint64(5), bs.WriteMerges) 45 require.Equal(t, uint64(0), bs.DiscardTicks) 46 } 47 48 func TestBlockStatFromBytesNotEnoughFields(t *testing.T) { 49 // dummy values, don't judge me 50 input := []byte(" 0 1 2 3 4 5 6 7 8\n") 51 _, err := BlockStatFromBytes(input) 52 require.Error(t, err) 53 }