github.com/mvdan/u-root-coreutils@v0.0.0-20230122170626-c2eef2898555/pkg/boot/image/image_test.go (about)

     1  // Copyright 2022 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 image
     6  
     7  import (
     8  	"os"
     9  	"reflect"
    10  	"testing"
    11  )
    12  
    13  func TestParseFromBytes(t *testing.T) {
    14  	imgBytes, err := os.ReadFile("testdata/Image")
    15  	if err != nil {
    16  		t.Fatal(err)
    17  	}
    18  
    19  	wantImage := Image{
    20  		Header: Arm64Header{
    21  			Code0:      0xfa405a4d,
    22  			Code1:      0x141cbfff,
    23  			TextOffset: 0x0,
    24  			ImageSize:  0x940000,
    25  			Flags:      0xa,
    26  			Res2:       0x0,
    27  			Res3:       0x0,
    28  			Res4:       0x0,
    29  			Magic:      0x644D5241,
    30  			Res5:       0x40,
    31  		},
    32  		Data: imgBytes,
    33  	}
    34  
    35  	// 1. Success parsing.
    36  	got, err := ParseFromBytes(imgBytes)
    37  	if err != nil {
    38  		t.Errorf("ParseFromBytes(imgBytes) returned error %v, want no error", err)
    39  	}
    40  	if !reflect.DeepEqual(wantImage.Header, got.Header) {
    41  		t.Errorf("got %+v, want %+v", got.Header, wantImage.Header)
    42  	}
    43  }