Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(673)

Unified Diff: content/browser/accessibility/dump_accessibility_browsertest_base.cc

Issue 1505903002: Don't require expectations file for DumpAccessibility tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Suppress lsan Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/accessibility/dump_accessibility_browsertest_base.h ('k') | content/content_tests.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/accessibility/dump_accessibility_browsertest_base.cc
diff --git a/content/browser/accessibility/dump_accessibility_browsertest_base.cc b/content/browser/accessibility/dump_accessibility_browsertest_base.cc
index 60c5af63a0c9026b35f48f939bab2a17eebf1f1f..43087faa9d0bb3aecf05cbbc3a24fa8f90b69a12 100644
--- a/content/browser/accessibility/dump_accessibility_browsertest_base.cc
+++ b/content/browser/accessibility/dump_accessibility_browsertest_base.cc
@@ -8,10 +8,12 @@
#include <string>
#include <vector>
+#include "base/command_line.h"
#include "base/path_service.h"
#include "base/strings/string16.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
+#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "content/browser/accessibility/accessibility_tree_formatter.h"
#include "content/browser/accessibility/browser_accessibility.h"
@@ -20,6 +22,7 @@
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_paths.h"
+#include "content/public/common/content_switches.h"
#include "content/public/common/url_constants.h"
#include "content/public/test/content_browser_test.h"
#include "content/public/test/content_browser_test_utils.h"
@@ -132,7 +135,7 @@ void DumpAccessibilityTestBase::RunTest(
// Output the test path to help anyone who encounters a failure and needs
// to know where to look.
- printf("Testing: %s\n", file_path.MaybeAsASCII().c_str());
+ LOG(INFO) << "Testing: " << file_path.LossyDisplayName();
std::string html_contents;
base::ReadFileToString(file_path, &html_contents);
@@ -140,8 +143,18 @@ void DumpAccessibilityTestBase::RunTest(
// Read the expected file.
std::string expected_contents_raw;
base::FilePath expected_file =
- base::FilePath(file_path.RemoveExtension().value() +
- AccessibilityTreeFormatter::GetExpectedFileSuffix());
+ base::FilePath(file_path.RemoveExtension().value() +
+ AccessibilityTreeFormatter::GetExpectedFileSuffix());
+ if (!base::PathExists(expected_file)) {
+ LOG(INFO) << "File not found: " << expected_file.LossyDisplayName();
+ LOG(INFO) << "No expectation file present, ignoring test on this platform."
+ << " To run this test anyway, create "
+ << expected_file.LossyDisplayName()
+ << " (it can be empty) and then run content_browsertests "
+ << "with the switch: --"
+ << switches::kGenerateAccessibilityTestExpectations;
+ return;
+ }
base::ReadFileToString(expected_file, &expected_contents_raw);
// Tolerate Windows-style line endings (\r\n) in the expected file:
@@ -150,7 +163,7 @@ void DumpAccessibilityTestBase::RunTest(
base::RemoveChars(expected_contents_raw, "\r", &expected_contents);
if (!expected_contents.compare(0, strlen(kMarkSkipFile), kMarkSkipFile)) {
- printf("Skipping this test on this platform.\n");
+ LOG(INFO) << "Skipping this test on this platform.";
return;
}
@@ -211,9 +224,11 @@ void DumpAccessibilityTestBase::RunTest(
if (is_different) {
OnDiffFailed();
+ std::string diff;
+
// Mark the expected lines which did not match actual output with a *.
- printf("* Line Expected\n");
- printf("- ---- --------\n");
+ diff += "* Line Expected\n";
+ diff += "- ---- --------\n";
for (int line = 0, diff_index = 0;
line < static_cast<int>(expected_lines.size());
++line) {
@@ -223,25 +238,22 @@ void DumpAccessibilityTestBase::RunTest(
is_diff = true;
++diff_index;
}
- printf("%1s %4d %s\n", is_diff? kSignalDiff : "", line + 1,
+ diff += base::StringPrintf(
+ "%1s %4d %s\n", is_diff? kSignalDiff : "", line + 1,
expected_lines[line].c_str());
}
- printf("\nActual\n");
- printf("------\n");
- printf("%s\n", actual_contents.c_str());
- }
-
- if (!base::PathExists(expected_file)) {
- base::FilePath actual_file =
- base::FilePath(file_path.RemoveExtension().value() +
- AccessibilityTreeFormatter::GetActualFileSuffix());
-
- EXPECT_TRUE(base::WriteFile(
- actual_file, actual_contents.c_str(), actual_contents.size()));
-
- ADD_FAILURE() << "No expectation found. Create it by doing:\n"
- << "mv " << actual_file.LossyDisplayName() << " "
- << expected_file.LossyDisplayName();
+ diff += "\nActual\n";
+ diff += "------\n";
+ diff += actual_contents;
+ LOG(ERROR) << "Diff:\n" << diff;
+
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kGenerateAccessibilityTestExpectations)) {
+ CHECK(base::WriteFile(
+ expected_file, actual_contents.c_str(), actual_contents.size()));
+ LOG(ERROR) << "Wrote expectations to: "
+ << expected_file.LossyDisplayName();
+ }
}
}
« no previous file with comments | « content/browser/accessibility/dump_accessibility_browsertest_base.h ('k') | content/content_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698