Re-enable EndToEndTest.PictureIdStateRetainedAfterReinitingVp8 on tsan.

Race has been fixed in libvpx.

BUG=webrtc:7663

Review-Url: https://codereview.webrtc.org/2913343004
Cr-Commit-Position: refs/heads/master@{#18373}
This commit is contained in:
brandtr 2017-06-01 04:10:37 -07:00 committed by Commit Bot
parent db5bb404b0
commit 06875307e6

View File

@ -4126,25 +4126,41 @@ void EndToEndTest::TestPictureIdStatePreservation(VideoEncoder* encoder) {
DestroyStreams();
}
// These tests exposed a race in libvpx, see
// https://bugs.chromium.org/p/webrtc/issues/detail?id=7663. Disabling the tests
// on tsan until the race has been fixed.
#if defined(THREAD_SANITIZER)
#define MAYBE_PictureIdStateRetainedAfterReinitingVp8 \
DISABLED_PictureIdStateRetainedAfterReinitingVp8
#define MAYBE_PictureIdStateRetainedAfterReinitingSimulcastEncoderAdapter \
DISABLED_PictureIdStateRetainedAfterReinitingSimulcastEncoderAdapter
#else
#define MAYBE_PictureIdStateRetainedAfterReinitingVp8 \
PictureIdStateRetainedAfterReinitingVp8
#define MAYBE_PictureIdStateRetainedAfterReinitingSimulcastEncoderAdapter \
PictureIdStateRetainedAfterReinitingSimulcastEncoderAdapter
#endif
TEST_F(EndToEndTest, MAYBE_PictureIdStateRetainedAfterReinitingVp8) {
TEST_F(EndToEndTest, PictureIdStateRetainedAfterReinitingVp8) {
std::unique_ptr<VideoEncoder> encoder(VP8Encoder::Create());
TestPictureIdStatePreservation(encoder.get());
}
TEST_F(EndToEndTest,
PictureIdStateRetainedAfterReinitingSimulcastEncoderAdapter) {
class VideoEncoderFactoryAdapter : public webrtc::VideoEncoderFactory {
public:
explicit VideoEncoderFactoryAdapter(
cricket::WebRtcVideoEncoderFactory* factory)
: factory_(factory) {}
virtual ~VideoEncoderFactoryAdapter() {}
// Implements webrtc::VideoEncoderFactory.
webrtc::VideoEncoder* Create() override {
return factory_->CreateVideoEncoder(
cricket::VideoCodec(cricket::kVp8CodecName));
}
void Destroy(webrtc::VideoEncoder* encoder) override {
return factory_->DestroyVideoEncoder(encoder);
}
private:
cricket::WebRtcVideoEncoderFactory* const factory_;
};
cricket::InternalEncoderFactory internal_encoder_factory;
SimulcastEncoderAdapter simulcast_encoder_adapter(
new VideoEncoderFactoryAdapter(&internal_encoder_factory));
TestPictureIdStatePreservation(&simulcast_encoder_adapter);
}
// This test is flaky on linux_memcheck. Disable on all linux bots until
// flakyness has been fixed.
// https://bugs.chromium.org/p/webrtc/issues/detail?id=7737
@ -4313,36 +4329,6 @@ TEST_F(EndToEndTest, MAYBE_TestFlexfecRtpStatePreservation) {
DestroyStreams();
}
TEST_F(EndToEndTest,
MAYBE_PictureIdStateRetainedAfterReinitingSimulcastEncoderAdapter) {
class VideoEncoderFactoryAdapter : public webrtc::VideoEncoderFactory {
public:
explicit VideoEncoderFactoryAdapter(
cricket::WebRtcVideoEncoderFactory* factory)
: factory_(factory) {}
virtual ~VideoEncoderFactoryAdapter() {}
// Implements webrtc::VideoEncoderFactory.
webrtc::VideoEncoder* Create() override {
return factory_->CreateVideoEncoder(
cricket::VideoCodec(cricket::kVp8CodecName));
}
void Destroy(webrtc::VideoEncoder* encoder) override {
return factory_->DestroyVideoEncoder(encoder);
}
private:
cricket::WebRtcVideoEncoderFactory* const factory_;
};
cricket::InternalEncoderFactory internal_encoder_factory;
SimulcastEncoderAdapter simulcast_encoder_adapter(
new VideoEncoderFactoryAdapter(&internal_encoder_factory));
TestPictureIdStatePreservation(&simulcast_encoder_adapter);
}
TEST_F(EndToEndTest, RespectsNetworkState) {
// TODO(pbos): Remove accepted downtime packets etc. when signaling network
// down blocks until no more packets will be sent.