On 16 January 2012 15:56, Benoit Chesneau wrote: > On Sun, Jan 15, 2012 at 2:45 PM,   wrote: >> Updated Branches: >>  refs/heads/1.2.x e8688ac20 -> 8d83b39a0 >> >> >> Use non-compressed Content-Type in attachments test suites >> >> MD5-Digests of attachments are calculated on the compressed data if the >> attachment MIME type is compressible, as defined in default.ini >> [attachments] compressible_types >> >> Windows uses a different gzip implementation, and therefore generates >> different MD5-Digests than other platforms. Using binary Content-Type >> resolves this. >> >> >> Project: http://git-wip-us.apache.org/repos/asf/couchdb/repo >> Commit: http://git-wip-us.apache.org/repos/asf/couchdb/commit/8d83b39a >> Tree: http://git-wip-us.apache.org/repos/asf/couchdb/tree/8d83b39a >> Diff: http://git-wip-us.apache.org/repos/asf/couchdb/diff/8d83b39a >> >> Branch: refs/heads/1.2.x >> Commit: 8d83b39a061eb12956aa9574b27044a423bbcb93 >> Parents: e8688ac >> Author: Dave Cottlehuber >> Authored: Sun Jan 15 23:38:13 2012 +0100 >> Committer: Dave Cottlehuber >> Committed: Sun Jan 15 23:38:13 2012 +0100 >> >> ---------------------------------------------------------------------- >>  share/www/script/test/attachment_names.js |    6 +++--- >>  share/www/script/test/attachments.js      |   10 +++++++--- >>  2 files changed, 10 insertions(+), 6 deletions(-) >> ---------------------------------------------------------------------- >> >> >> http://git-wip-us.apache.org/repos/asf/couchdb/blob/8d83b39a/share/www/script/test/attachment_names.js >> ---------------------------------------------------------------------- >> diff --git a/share/www/script/test/attachment_names.js b/share/www/script/test/attachment_names.js >> index 78c95de..334350c 100644 >> --- a/share/www/script/test/attachment_names.js >> +++ b/share/www/script/test/attachment_names.js >> @@ -20,7 +20,7 @@ couchTests.attachment_names = function(debug) { >>     _id: "good_doc", >>     _attachments: { >>       "Колян.txt": { >> -       content_type:"text/plain", >> +       content_type:"application/octet-stream", >>        data: "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHRleHQ=" >>       } >>     } >> @@ -31,8 +31,8 @@ couchTests.attachment_names = function(debug) { >> >>   var xhr = CouchDB.request("GET", "/test_suite_db/good_doc/Колян.txt"); >>   T(xhr.responseText == "This is a base64 encoded text"); >> -  T(xhr.getResponseHeader("Content-Type") == "text/plain"); >> -  TEquals("\"qUUYqS41RhwF0TrCsTAxFg==\"", xhr.getResponseHeader("Etag")); >> +  T(xhr.getResponseHeader("Content-Type") == "application/octet-stream"); >> +  TEquals("\"aEI7pOYCRBLTRQvvqYrrJQ==\"", xhr.getResponseHeader("Etag")); >> >>   var binAttDoc = { >>     _id: "bin_doc", >> >> http://git-wip-us.apache.org/repos/asf/couchdb/blob/8d83b39a/share/www/script/test/attachments.js >> ---------------------------------------------------------------------- >> diff --git a/share/www/script/test/attachments.js b/share/www/script/test/attachments.js >> index a409f82..db4524a 100644 >> --- a/share/www/script/test/attachments.js >> +++ b/share/www/script/test/attachments.js >> @@ -16,11 +16,15 @@ couchTests.attachments= function(debug) { >>   db.createDb(); >>   if (debug) debugger; >> >> + >> +  // MD5 Digests of compressible attachments and therefore Etags >> +  // will vary depending on platform gzip implementation. >> +  // These MIME types are defined in [attachments] compressible_types >>   var binAttDoc = { >>     _id: "bin_doc", >>     _attachments:{ >>       "foo.txt": { >> -        content_type:"text/plain", >> +        content_type:"application/octet-stream", >>         data: "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHRleHQ=" >>       } >>     } >> @@ -31,8 +35,8 @@ couchTests.attachments= function(debug) { >> >>   var xhr = CouchDB.request("GET", "/test_suite_db/bin_doc/foo.txt"); >>   T(xhr.responseText == "This is a base64 encoded text"); >> -  T(xhr.getResponseHeader("Content-Type") == "text/plain"); >> -  TEquals("\"qUUYqS41RhwF0TrCsTAxFg==\"", xhr.getResponseHeader("Etag")); >> +  T(xhr.getResponseHeader("Content-Type") == "application/octet-stream"); >> +  TEquals("\"aEI7pOYCRBLTRQvvqYrrJQ==\"", xhr.getResponseHeader("Etag")); >> >>   // empty attachment >>   var binAttDoc2 = { >> > > Hum tests are fixed but what about general usage? Should people always > use binary ct ? > > - benoît Hi Benoît, I'm adding a JIRA to check that we do actually generate a different MD5 if the underlying data is changed. I don't see a way from the browser side to confirm if the digest is sensible, effectively client side this will be seen as an opaque value. A+ Dave