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  }