| Index: src/trusted/validator/x86/nc_remaining_memory_tests.cc
|
| diff --git a/src/trusted/validator/x86/nc_remaining_memory_tests.cc b/src/trusted/validator/x86/nc_remaining_memory_tests.cc
|
| deleted file mode 100644
|
| index 397b17dc192ebc331e48cc7d82a773b3fa2252fb..0000000000000000000000000000000000000000
|
| --- a/src/trusted/validator/x86/nc_remaining_memory_tests.cc
|
| +++ /dev/null
|
| @@ -1,192 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2011 The Native Client Authors. All rights reserved.
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -/*
|
| - * Unit tests for struct NCRemainingMemory in ncinstbuffer.{h,cc}.
|
| - */
|
| -
|
| -#ifndef NACL_TRUSTED_BUT_NOT_TCB
|
| -#error("This file is not meant for use in the TCB")
|
| -#endif
|
| -
|
| -#include <stdio.h>
|
| -
|
| -#include "gtest/gtest.h"
|
| -
|
| -#include "native_client/src/trusted/validator/x86/ncinstbuffer.h"
|
| -
|
| -namespace {
|
| -
|
| -/* Constant defining maximum buffer size for memory. */
|
| -const size_t kMaxBufferSize = 30;
|
| -
|
| -/* Test harness for class NCRemainingMemory. */
|
| -class NCRemainingMemoryTests : public ::testing::Test {
|
| - protected:
|
| - void SetUp();
|
| - NCRemainingMemoryTests();
|
| - NCRemainingMemory _memory; /* Memory being tested. */
|
| - uint8_t _buffer[kMaxBufferSize]; /* Memory buffer to use. */
|
| - const size_t _buffer_size; /* Actually size of test data. */
|
| - static const char* kTestData; /* Data put into memory for testing. */
|
| -};
|
| -
|
| -/* Simnple sample size for testing. */
|
| -const size_t kSampleSize = 10;
|
| -
|
| -const char* NCRemainingMemoryTests::kTestData = "Test data";
|
| -
|
| -NCRemainingMemoryTests::NCRemainingMemoryTests()
|
| - : _buffer_size(strlen(kTestData)) {
|
| - /* Fill buffer with bad test data, so that we know if bad accesses occur
|
| - * past the end of the buffer.
|
| - */
|
| - for (size_t i = 0; i < kMaxBufferSize; ++i) {
|
| - _buffer[i] = 'X';
|
| - }
|
| - /* Now fill in the good test data. */
|
| - for (size_t i = 0; i < _buffer_size; ++i) {
|
| - _buffer[i] = (uint8_t) kTestData[i];
|
| - }
|
| -}
|
| -
|
| -void NCRemainingMemoryTests::SetUp() {
|
| - NCRemainingMemoryInit(_buffer, _buffer_size, &_memory);
|
| -}
|
| -
|
| -/* Test (macro) NCRemainingMemoryGetNext, and see if it properly
|
| - * sees the data in the memory buffer.
|
| - */
|
| -TEST_F(NCRemainingMemoryTests, GetNextGetsData) {
|
| - /* First verify that we get text as defined in the test data. */
|
| - for (size_t i = 0; i < _buffer_size; ++i) {
|
| - EXPECT_EQ(NCRemainingMemoryGetNext(&_memory), (uint8_t) kTestData[i])
|
| - << "testing GetNext(" << i << ")";
|
| - NCRemainingMemoryRead(&_memory);
|
| - }
|
| - /* Now verify that if we look at the next (i.e. peek), we get 0. */
|
| - EXPECT_EQ(0, NCRemainingMemoryGetNext(&_memory)) << "testing GetNext(eof).";
|
| -}
|
| -
|
| -/* Test function NCRemainingMemoryLookahead, and see if it properly
|
| - * sees the data in the memory buffer.
|
| - */
|
| -TEST_F(NCRemainingMemoryTests, LookaheadGetsData) {
|
| - size_t chars_read = 0;
|
| - /* Try looking ahead from each possible position in the buffer. */
|
| - for (size_t chars_left = _buffer_size; chars_left > 0; --chars_left) {
|
| - /* First verify that for the characters left, lookahead matches. */
|
| - for (size_t i = 0; i < chars_left; ++i) {
|
| - EXPECT_EQ(NCRemainingMemoryLookahead(&_memory, i),
|
| - (uint8_t) kTestData[chars_read + i])
|
| - << "testing Lookahed(" << i << " after " << chars_read
|
| - << " chars read.";
|
| - }
|
| - /* Verify that any further lookahead returns 0. */
|
| - EXPECT_EQ(0, NCRemainingMemoryLookahead(&_memory, chars_left));
|
| - EXPECT_EQ(0, NCRemainingMemoryLookahead(&_memory, chars_left+1));
|
| - EXPECT_EQ(0, NCRemainingMemoryLookahead(&_memory, chars_left+10));
|
| - EXPECT_EQ(0, NCRemainingMemoryLookahead(&_memory, chars_left+111));
|
| - NCRemainingMemoryRead(&_memory);
|
| - ++chars_read;
|
| - }
|
| -}
|
| -
|
| -/* Test function NCRemainingMemoryRead, and see if it properly reads
|
| - * data from the memory buffer.
|
| - */
|
| -TEST_F(NCRemainingMemoryTests, ReadGetsData) {
|
| - /* First verify that we get text as defined in the test data. */
|
| - for (size_t i = 0; i < _buffer_size; ++i) {
|
| - EXPECT_EQ(NCRemainingMemoryRead(&_memory), (uint8_t) kTestData[i])
|
| - << "after reading " << i << " characters.";
|
| - }
|
| - /* Now verify that zero is returned for any additional reads. */
|
| - EXPECT_EQ(0, NCRemainingMemoryRead(&_memory))
|
| - << "after reading all characters.";
|
| - EXPECT_EQ(0, NCRemainingMemoryRead(&_memory))
|
| - << "after reading too far past characters";
|
| -}
|
| -
|
| -/* Test if the field read_length is properly updated by the read function. */
|
| -TEST_F(NCRemainingMemoryTests, ReadLengthTests) {
|
| - /* Verify that read count is initially zero. */
|
| - EXPECT_EQ(0, _memory.read_length) << "should be initially zero read lenght";
|
| - /* Verify that we update the read length while there is real data. */
|
| - for (size_t i = 0; i < _buffer_size; ++i) {
|
| - EXPECT_EQ(i, _memory.read_length);
|
| - NCRemainingMemoryRead(&_memory);
|
| - }
|
| - /* Verify that no matter how many more reads we do, the read length
|
| - * doesn't increase.
|
| - */
|
| - NCRemainingMemoryRead(&_memory);
|
| - EXPECT_EQ(_buffer_size, (size_t)_memory.read_length);
|
| - NCRemainingMemoryRead(&_memory);
|
| - EXPECT_EQ(_buffer_size, (size_t)_memory.read_length);
|
| -}
|
| -
|
| -/* Test if the field overflow_count is properly updated by the read function. */
|
| -TEST_F(NCRemainingMemoryTests, OverflowCountTests) {
|
| - /* Verify that the overflow count stays zero while there is still data
|
| - * in the buffer.
|
| - */
|
| - for (size_t i = 0; i < _buffer_size; ++i) {
|
| - EXPECT_EQ(0, _memory.overflow_count);
|
| - NCRemainingMemoryRead(&_memory);
|
| - }
|
| - /* Verify that any further reading causes the overflow counter to
|
| - * be bumped.
|
| - */
|
| - for (size_t i = 0; i < kSampleSize; ++i) {
|
| - EXPECT_EQ(i, _memory.overflow_count);
|
| - NCRemainingMemoryRead(&_memory);
|
| - }
|
| -}
|
| -
|
| -/* Test if function NCRemainingMemoryReset works. */
|
| -TEST_F(NCRemainingMemoryTests, ResetDataTests) {
|
| - /* Try reseting on possible buffer positions. */
|
| - for (size_t i = 0; i < _buffer_size; ++i) {
|
| - /* Try different read lengths before reseting. */
|
| - for (size_t read_size = 0; read_size < _buffer_size + kSampleSize;
|
| - ++read_size) {
|
| - for (size_t k = 0; k < read_size; k++) {
|
| - NCRemainingMemoryRead(&_memory);
|
| - }
|
| - NCRemainingMemoryReset(&_memory);
|
| - EXPECT_EQ(0, _memory.read_length);
|
| - EXPECT_EQ(0, _memory.overflow_count);
|
| - EXPECT_EQ(NCRemainingMemoryGetNext(&_memory),
|
| - (uint8_t) kTestData[i]);
|
| - }
|
| - NCRemainingMemoryRead(&_memory);
|
| - NCRemainingMemoryAdvance(&_memory);
|
| - }
|
| -}
|
| -
|
| -/* Test if function NCRemainingMemoryAdvance works. */
|
| -TEST_F(NCRemainingMemoryTests, AdvanceDataTests) {
|
| - /* Try advancing from various locations within the memory. */
|
| - for (size_t i = 0; i < _buffer_size; ++i) {
|
| - SetUp();
|
| - for (size_t j = 0; j < i; ++j) {
|
| - NCRemainingMemoryRead(&_memory);
|
| - }
|
| - NCRemainingMemoryAdvance(&_memory);
|
| - EXPECT_EQ(0, _memory.read_length);
|
| - EXPECT_EQ(0, _memory.overflow_count);
|
| - EXPECT_EQ(NCRemainingMemoryGetNext(&_memory),
|
| - (uint8_t) kTestData[i]);
|
| - }
|
| -}
|
| -
|
| -}; // anonymous namespace
|
| -
|
| -int main(int argc, char *argv[]) {
|
| - testing::InitGoogleTest(&argc, argv);
|
| - return RUN_ALL_TESTS();
|
| -}
|
|
|