aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/platform/env_test.cc
blob: be15c4a5cb13637e05a59803beaa4e7465cf188a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "tensorflow/core/public/env.h"

#include "tensorflow/core/lib/io/path.h"
#include "tensorflow/core/lib/strings/strcat.h"
#include "tensorflow/core/platform/test.h"
#include <gtest/gtest.h>

namespace tensorflow {

struct EnvTest {};

TEST(EnvTest, ReadFileToString) {
  Env* env = Env::Default();
  const string dir = testing::TmpDir();
  for (const int length : {0, 1, 1212, 2553, 4928, 8196, 9000}) {
    const string filename = io::JoinPath(dir, strings::StrCat("file", length));

    // Write a file with the given length
    string input(length, 0);
    for (int i = 0; i < length; i++) input[i] = i;
    WriteStringToFile(env, filename, input);

    // Read the file back and check equality
    string output;
    TF_CHECK_OK(ReadFileToString(env, filename, &output));
    CHECK_EQ(length, output.size());
    CHECK_EQ(input, output);
  }
}

}  // namespace tensorflow