Bug 144416

Summary: http/tests/cache/main-resource-304-reload.html failing on Windows
Product: WebKit Reporter: Jon Honeycutt <jhoneycutt>
Component: Page LoadingAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: koivisto
Priority: P2 Keywords: LayoutTestFailure, PlatformOnly
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=144386

Description Jon Honeycutt 2015-04-29 15:58:13 PDT
http/tests/cache/main-resource-304-reload.html is failing on Windows.

<https://build.webkit.org/results/Apple%20Win%207%20Release%20(Tests)/r183568%20(51454)/results.html>

<https://build.webkit.org/results/Apple%20Win%207%20Release%20(Tests)/r183572%20(51455)/http/tests/cache/main-resource-304-reload-pretty-diff.html>

It's not clear to me from the test whether this is an error that can be fixed by modifying the PHP script to use array_key_exists() or whether this is an Apache configuration issue.
Comment 1 Alexey Proskuryakov 2015-04-29 19:52:08 PDT
I'm pretty sure that isset would do the trick:

if (isset($_SERVER["HTTP_IF_MODIFIED_SINCE"])) {

>     header("HTTP/1.0 304 Not Modified");

Why 1.0? Really weird to mix that with Cache-Control and ETags.
Comment 2 Antti Koivisto 2015-04-30 00:33:53 PDT
I just copied and lightly modified the script from LayoutTests/http/tests/cache/resources/iframe304.php. That is indeed silly.
Comment 3 Antti Koivisto 2015-04-30 00:43:40 PDT
Switched both scripts to say HTTP/1.1 in https://trac.webkit.org/r183623. No idea if that fixes anything. This test was already marked failing on Windows in http://trac.webkit.org/changeset/183573
Comment 4 Alexey Proskuryakov 2015-05-01 22:12:38 PDT
To fix the test, please see the first part of my comment, and use the isset() function.