aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/StreamTest.cpp
diff options
context:
space:
mode:
authorGravatar Hal Canary <halcanary@google.com>2017-12-11 14:42:58 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-12 18:22:39 +0000
commit925e31e749fc369ebd2ebd7994693b767e674e97 (patch)
tree1c667218a5d94e0b2a8d3d35c209a8def119ebec /tests/StreamTest.cpp
parentc896eddc1cf77ffaaa0d0cb68caac7e251cdb727 (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.cpp21
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()) {