| // Copyright 2016 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| package fake |
| |
| import ( |
| "math/rand" |
| "testing" |
| "time" |
| |
| "go.fuchsia.dev/fuchsia/src/lib/thinfs/block/blocktest" |
| ) |
| |
| const ( |
| numBlocks = 5493 |
| devSize = numBlocks * blockSize |
| ) |
| |
| func setUp(t *testing.T) ([]byte, *rand.Rand) { |
| seed := time.Now().UTC().UnixNano() |
| t.Log("Seed is", seed) |
| r := rand.New(rand.NewSource(seed)) |
| |
| buf := make([]byte, devSize) |
| r.Read(buf) |
| |
| return buf, r |
| } |
| |
| func TestReadAt(t *testing.T) { |
| buf, r := setUp(t) |
| |
| dev := Device(make([]byte, devSize)) |
| copy(dev, buf) |
| |
| blocktest.ReadAt(t, dev, r, buf) |
| } |
| |
| func TestWriteAt(t *testing.T) { |
| buf, r := setUp(t) |
| |
| dev := Device(make([]byte, devSize)) |
| copy(dev, buf) |
| |
| blocktest.ReadAt(t, dev, r, buf) |
| } |
| |
| func TestErrorPaths(t *testing.T) { |
| dev := Device(make([]byte, devSize)) |
| |
| blocktest.ErrorPaths(t, dev) |
| } |