diff options
author | Hal Canary <halcanary@google.com> | 2017-12-11 14:42:58 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-12-12 18:22:39 +0000 |
commit | 925e31e749fc369ebd2ebd7994693b767e674e97 (patch) | |
tree | 1c667218a5d94e0b2a8d3d35c209a8def119ebec /tests/StreamTest.cpp | |
parent | c896eddc1cf77ffaaa0d0cb68caac7e251cdb727 (diff) |
dm: require tmpDir, reasonable defaults
Change-Id: I9d84ce1ebbe417160a29ca2221b1df04901238e3
Reviewed-on: https://skia-review.googlesource.com/83541
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Diffstat (limited to 'tests/StreamTest.cpp')
-rw-r--r-- | tests/StreamTest.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/tests/StreamTest.cpp b/tests/StreamTest.cpp index 24e74c64b7..01967b70b0 100644 --- a/tests/StreamTest.cpp +++ b/tests/StreamTest.cpp @@ -287,12 +287,25 @@ DEF_TEST(StreamPeek, reporter) { test_fully_peekable_stream(reporter, &memStream, memStream.getLength()); // Test an arbitrary file stream. file streams do not support peeking. - constexpr char filename[] = "images/baby_tux.webp"; - SkString path = GetResourcePath(filename); - if (!sk_exists(path.c_str())) { - ERRORF(reporter, "file missing: %s\n", filename); + auto tmpdir = skiatest::GetTmpDir(); + if (tmpdir.isEmpty()) { + ERRORF(reporter, "no tmp dir!"); return; } + auto path = SkOSPath::Join(tmpdir.c_str(), "file"); + { + SkFILEWStream wStream(path.c_str()); + constexpr char filename[] = "images/baby_tux.webp"; + auto data = GetResourceAsData(filename); + if (!data || data->size() == 0) { + ERRORF(reporter, "resource missing: %s\n", filename); + return; + } + if (!wStream.isValid() || !wStream.write(data->data(), data->size())) { + ERRORF(reporter, "error wrtiting to file %s", path.c_str()); + return; + } + } SkFILEStream fileStream(path.c_str()); REPORTER_ASSERT(reporter, fileStream.isValid()); if (!fileStream.isValid()) { |