aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/CodecTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/CodecTest.cpp')
-rw-r--r--tests/CodecTest.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/tests/CodecTest.cpp b/tests/CodecTest.cpp
index 64232712d7..265b51e886 100644
--- a/tests/CodecTest.cpp
+++ b/tests/CodecTest.cpp
@@ -17,6 +17,7 @@
#include "SkFrontBufferedStream.h"
#include "SkImageEncoder.h"
#include "SkMD5.h"
+#include "SkOSPath.h"
#include "SkPngChunkReader.h"
#include "SkRandom.h"
#include "SkStream.h"
@@ -1466,19 +1467,19 @@ DEF_TEST(Codec_InvalidImages, r) {
}
DEF_TEST(Codec_InvalidBmp, r) {
- // This file reports a header size that crashes when we try to read this
- // much directly from a file using SkFILEStream.
- SkString path = GetResourcePath("invalid_images/b33651913.bmp");
- std::unique_ptr<SkFILEStream> stream(new SkFILEStream(path.c_str()));
- if (!stream->isValid()) {
- ERRORF(r, "no stream");
- return;
- }
+ // These files report values that have caused problems with SkFILEStreams.
+ // They are invalid, and should not create SkCodecs.
+ for (auto* bmp : { "b33651913.bmp", "b34778578.bmp" } ) {
+ SkString path = SkOSPath::Join("invalid_images", bmp);
+ path = GetResourcePath(path.c_str());
+ std::unique_ptr<SkFILEStream> stream(new SkFILEStream(path.c_str()));
+ if (!stream->isValid()) {
+ return;
+ }
- std::unique_ptr<SkCodec> codec(SkCodec::NewFromStream(stream.release()));
- // This file is invalid, but more importantly, we did not crash before
- // reaching here.
- REPORTER_ASSERT(r, !codec);
+ std::unique_ptr<SkCodec> codec(SkCodec::NewFromStream(stream.release()));
+ REPORTER_ASSERT(r, !codec);
+ }
}
DEF_TEST(Codec_InvalidRLEBmp, r) {