| // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/test/image_decoder_test.h" |
| #include "third_party/WebKit/public/web/WebImageDecoder.h" |
| |
| class BMPImageDecoderTest : public ImageDecoderTest { |
| public: |
| BMPImageDecoderTest() : ImageDecoderTest("bmp") { } |
| |
| protected: |
| virtual blink::WebImageDecoder* CreateWebKitImageDecoder() const OVERRIDE { |
| return new blink::WebImageDecoder(blink::WebImageDecoder::TypeBMP); |
| } |
| |
| // The BMPImageDecoderTest tests are really slow under Valgrind. |
| // Thus it is split into fast and slow versions. The threshold is |
| // set to 10KB because the fast test can finish under Valgrind in |
| // less than 30 seconds. |
| static const int64 kThresholdSize = 10240; |
| }; |
| |
| TEST_F(BMPImageDecoderTest, DecodingFast) { |
| TestDecoding(TEST_SMALLER, kThresholdSize); |
| } |
| |
| #if defined(THREAD_SANITIZER) |
| // BMPImageDecoderTest.DecodingSlow always times out under ThreadSanitizer v2. |
| #define MAYBE_DecodingSlow DISABLED_DecodingSlow |
| #else |
| #define MAYBE_DecodingSlow DecodingSlow |
| #endif |
| TEST_F(BMPImageDecoderTest, MAYBE_DecodingSlow) { |
| TestDecoding(TEST_BIGGER, kThresholdSize); |
| } |