github.com/xyproto/u-root@v6.0.1-0.20200302025726-5528e0c77a3c+incompatible/pkg/scuzz/ata_test.go (about) 1 // Copyright 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 scuzz 6 7 import ( 8 "testing" 9 ) 10 11 func TestAtaString(t *testing.T) { 12 const want = "Copyright 2019 the u" 13 var ts = ataString{ 14 'o'<<8 | 'C', 15 'y'<<8 | 'p', 16 'i'<<8 | 'r', 17 'h'<<8 | 'g', 18 ' '<<8 | 't', 19 '0'<<8 | '2', 20 '9'<<8 | '1', 21 't'<<8 | ' ', 22 'e'<<8 | 'h', 23 'u'<<8 | ' ', 24 } 25 26 got := ts.String() 27 if got != want { 28 t.Fatalf("Got %v, want %v", got, want) 29 } 30 } 31 32 func TestMustLBA(t *testing.T) { 33 var data dataBlock 34 35 w, err := data.toWordBlock() 36 if err != nil { 37 t.Fatalf("toWordBlock: got %v, want nil", err) 38 } 39 40 if err := w.mustLBA(); err == nil { 41 t.Errorf("bad mustLBA: got nil, want x") 42 } 43 44 data[0], data[49*2], data[83*2], data[86*2] = 0x80, 0x2, 0x40, 0x4 45 46 w, err = data.toWordBlock() 47 if err != nil { 48 t.Fatalf("toWordBlock: got %v, want nil", err) 49 } 50 51 if err := w.mustLBA(); err != nil { 52 t.Errorf("good mustLBA: got %v, want nil", err) 53 } 54 }