Reason for revert:
Breaks webrtc.linux
Original issue's description:
> Add Jpeg frame writer for test support.
>
> Also, use it to save worst psnr frame in video quality tests. It is indented that these saved frames from perfbots will be uploaded to the cloud and will be available in chrome perf dashboard. Because of that size of the saved frame is somewhat an issue. Also, y4m is not convenient to view.
>
> BUG=webrtc:8030
>
> Review-Url: https://codereview.webrtc.org/2990563002
> Cr-Commit-Position: refs/heads/master@{#19414}
> Committed: 26e5cbd6bb
TBR=stefan@webrtc.org,pbos@webrtc.org,sprang@webrtc.org,ilnik@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:8030
Review-Url: https://codereview.webrtc.org/2998133002
Cr-Commit-Position: refs/heads/master@{#19419}
62 lines
1.9 KiB
C++
62 lines
1.9 KiB
C++
/*
|
|
* Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#include "webrtc/test/testsupport/test_output.h"
|
|
|
|
#include <string.h>
|
|
|
|
#include <string>
|
|
|
|
#include "gflags/gflags.h"
|
|
#include "webrtc/rtc_base/file.h"
|
|
#include "webrtc/rtc_base/pathutils.h"
|
|
#include "webrtc/rtc_base/platform_file.h"
|
|
#include "webrtc/test/gtest.h"
|
|
|
|
DECLARE_string(test_output_dir);
|
|
|
|
namespace webrtc {
|
|
namespace test {
|
|
|
|
TEST(IsolatedOutputTest, ShouldRejectInvalidIsolatedOutDir) {
|
|
std::string backup = FLAGS_test_output_dir;
|
|
FLAGS_test_output_dir = "";
|
|
ASSERT_FALSE(WriteToTestOutput("a-file", "some-contents"));
|
|
FLAGS_test_output_dir = backup;
|
|
}
|
|
|
|
TEST(IsolatedOutputTest, ShouldRejectInvalidFileName) {
|
|
ASSERT_FALSE(WriteToTestOutput(nullptr, "some-contents"));
|
|
ASSERT_FALSE(WriteToTestOutput("", "some-contents"));
|
|
}
|
|
|
|
// Sets isolated_out_dir=<a-writable-path> to execute this test.
|
|
TEST(IsolatedOutputTest, ShouldBeAbleToWriteContent) {
|
|
const char* filename = "a-file";
|
|
const char* content = "some-contents";
|
|
if (WriteToTestOutput(filename, content)) {
|
|
rtc::Pathname out_file(FLAGS_test_output_dir, filename);
|
|
rtc::File input = rtc::File::Open(out_file);
|
|
EXPECT_TRUE(input.IsOpen());
|
|
EXPECT_TRUE(input.Seek(0));
|
|
uint8_t buffer[32];
|
|
EXPECT_EQ(input.Read(buffer, strlen(content)), strlen(content));
|
|
buffer[strlen(content)] = 0;
|
|
EXPECT_EQ(std::string(content),
|
|
std::string(reinterpret_cast<char*>(buffer)));
|
|
input.Close();
|
|
|
|
EXPECT_TRUE(rtc::File::Remove(out_file));
|
|
}
|
|
}
|
|
|
|
} // namespace test
|
|
} // namespace webrtc
|