aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/StreamTest.cpp
diff options
context:
space:
mode:
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()) {