[chromium] change DRT's "DRT" output to match the other ports
authordpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Apr 2012 01:03:53 +0000 (01:03 +0000)
committerdpranke@chromium.org <dpranke@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 26 Apr 2012 01:03:53 +0000 (01:03 +0000)
https://bugs.webkit.org/show_bug.cgi?id=84904

Reviewed by Kent Tamura.

Since we run Chromium's DRT in --test-shell mode, the
non-test-shell output has never been really beaten on to make
sure it's right. This fixes a few issues and will be tested
with upcoming NRWT changes that'll land in a separate patch.
In particular we should never output framing text like "\n"
or "#EOF" outside of something outside of TestEventPrinter,
and we weren't handling audio output properly at all.

* DumpRenderTree/chromium/TestEventPrinter.cpp:
(DRTPrinter):
(TestShellPrinter):
(DRTPrinter::handleTextFooter):
(DRTPrinter::handleAudioFooter):
(DRTPrinter::handleTestFooter):
(TestShellPrinter::handleAudioFooter):
* DumpRenderTree/chromium/TestEventPrinter.h:
(TestEventPrinter):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::dump):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@115268 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/DumpRenderTree/chromium/TestEventPrinter.cpp
Tools/DumpRenderTree/chromium/TestEventPrinter.h
Tools/DumpRenderTree/chromium/TestShell.cpp

index f38b2b8..a35ef6d 100644 (file)
@@ -1,3 +1,31 @@
+2012-04-25  Dirk Pranke  <dpranke@chromium.org>
+
+        [chromium] change DRT's "DRT" output to match the other ports
+        https://bugs.webkit.org/show_bug.cgi?id=84904
+
+        Reviewed by Kent Tamura.
+
+        Since we run Chromium's DRT in --test-shell mode, the
+        non-test-shell output has never been really beaten on to make
+        sure it's right. This fixes a few issues and will be tested
+        with upcoming NRWT changes that'll land in a separate patch.
+        In particular we should never output framing text like "\n"
+        or "#EOF" outside of something outside of TestEventPrinter,
+        and we weren't handling audio output properly at all.
+
+        * DumpRenderTree/chromium/TestEventPrinter.cpp:
+        (DRTPrinter):
+        (TestShellPrinter):
+        (DRTPrinter::handleTextFooter):
+        (DRTPrinter::handleAudioFooter):
+        (DRTPrinter::handleTestFooter):
+        (TestShellPrinter::handleAudioFooter):
+        * DumpRenderTree/chromium/TestEventPrinter.h:
+        (TestEventPrinter):
+        * DumpRenderTree/chromium/TestShell.cpp:
+        (TestShell::TestShell):
+        (TestShell::dump):
+
 2012-04-25  Joshua Bell  <jsbell@chromium.org>
 
         Unreviewed: Adding Alec Flett as a contributor (non-committer).
index 8246c09..730d76b 100644 (file)
@@ -43,6 +43,7 @@ public:
     void handleTextHeader() const;
     void handleTextFooter() const;
     void handleAudioHeader() const;
+    void handleAudioFooter() const;
     void handleImage(const char* actualHash, const char* expectedHash, const unsigned char* imageData, size_t imageSize, const char* fileName) const;
     void handleImageFooter() const;
     void handleTestFooter(bool dumpedAnything) const;
@@ -56,6 +57,7 @@ public:
     void handleTextHeader() const;
     void handleTextFooter() const;
     void handleAudioHeader() const;
+    void handleAudioFooter() const;
     void handleImage(const char* actualHash, const char* expectedHash, const unsigned char* imageData, size_t imageSize, const char* fileName) const;
     void handleImageFooter() const;
     void handleTestFooter(bool dumpedAnything) const;
@@ -95,6 +97,7 @@ void DRTPrinter::handleTextHeader() const
 void DRTPrinter::handleTextFooter() const
 {
     printf("#EOF\n");
+    fprintf(stderr, "#EOF\n");
 }
 
 void DRTPrinter::handleAudioHeader() const
@@ -102,6 +105,12 @@ void DRTPrinter::handleAudioHeader() const
     printf("Content-Type: audio/wav\n");
 }
 
+void DRTPrinter::handleAudioFooter() const
+{
+    printf("#EOF\n");
+    fprintf(stderr, "#EOF\n");
+}
+
 void DRTPrinter::handleImage(const char* actualHash, const char* expectedHash, const unsigned char* imageData, size_t imageSize, const char*) const
 {
     ASSERT(actualHash);
@@ -119,13 +128,9 @@ void DRTPrinter::handleImage(const char* actualHash, const char* expectedHash, c
     }
 }
 
-void DRTPrinter::handleImageFooter() const
-{
-    printf("#EOF\n");
-}
-
 void DRTPrinter::handleTestFooter(bool) const
 {
+    printf("#EOF\n");
 }
 
 // ----------------------------------------------------------------
@@ -153,6 +158,11 @@ void TestShellPrinter::handleAudioHeader() const
     printf("Content-Type: audio/wav\n");
 }
 
+void TestShellPrinter::handleAudioFooter() const
+{
+    printf("\n");
+}
+
 void TestShellPrinter::handleImage(const char* actualHash, const char*, const unsigned char* imageData, size_t imageSize, const char* fileName) const
 {
     ASSERT(actualHash);
@@ -173,10 +183,6 @@ void TestShellPrinter::handleImage(const char* actualHash, const char*, const un
     printf("#MD5:%s\n", actualHash);
 }
 
-void TestShellPrinter::handleImageFooter() const
-{
-}
-
 void TestShellPrinter::handleTestFooter(bool dumpedAnything) const
 {
     if (dumpedAnything)
index f69523c..374827e 100644 (file)
@@ -44,8 +44,8 @@ public:
     virtual void handleTextHeader() const = 0;
     virtual void handleTextFooter() const = 0;
     virtual void handleAudioHeader() const = 0;
+    virtual void handleAudioFooter() const = 0;
     virtual void handleImage(const char* actualHash, const char* expectedHash, const unsigned char* imageData, size_t imageSize, const char* fileName) const = 0;
-    virtual void handleImageFooter() const = 0;
     virtual void handleTestFooter(bool dumpedAnything) const = 0;
 };
 
index 393a3b8..2e036f1 100644 (file)
@@ -127,7 +127,7 @@ TestShell::TestShell()
     WebRuntimeFeatures::enableEncryptedMedia(true);
     WebRuntimeFeatures::enableMediaStream(true);
     WebRuntimeFeatures::enablePeerConnection(true);
-    WebRuntimeFeatures::enableWebAudio(true); 
+    WebRuntimeFeatures::enableWebAudio(true);
     WebRuntimeFeatures::enableVideoTrack(true);
     WebRuntimeFeatures::enableGamepad(true);
     WebRuntimeFeatures::enableShadowDOM(true);
@@ -556,8 +556,7 @@ void TestShell::dump()
 
         if (fwrite(webArrayBufferView.baseAddress(), 1, webArrayBufferView.byteLength(), stdout) != webArrayBufferView.byteLength())
             FATAL("Short write to stdout, disk full?\n");
-        printf("\n");
-
+        m_printer->handleAudioFooter();
         m_printer->handleTestFooter(true);
 
         fflush(stdout);
@@ -642,7 +641,6 @@ void TestShell::dump()
 
         dumpImage(m_webViewHost->canvas());
     }
-    m_printer->handleImageFooter();
     m_printer->handleTestFooter(dumpedAnything);
     fflush(stdout);
     fflush(stderr);