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

Side by Side Diff: chrome/test/data/nacl/manifest_file/pm_manifest_file_test.cc

Issue 133033002: Port manifest query tests from nacl_integration to browser_tests. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 6 years, 11 months 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 * Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 // 7 //
8 // Post-message based test for simple rpc based access to name services. 8 // Post-message based test for simple rpc based access to name services.
9 // 9 //
10 10
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 "files/test_file", O_RDONLY, 543 "files/test_file", O_RDONLY,
544 &status, &desc)) { 544 &status, &desc)) {
545 sb->Printf("manifest lookup RPC failed\n"); 545 sb->Printf("manifest lookup RPC failed\n");
546 NaClSrpcDtor(&manifest_channel); 546 NaClSrpcDtor(&manifest_channel);
547 return; 547 return;
548 } 548 }
549 549
550 sb->DiscardOutput(); 550 sb->DiscardOutput();
551 sb->Printf("File Contents:\n"); 551 sb->Printf("File Contents:\n");
552 552
553 FILE *iob = fdopen(desc, "r");
554 char buffer[4096]; 553 char buffer[4096];
555 while (fgets(buffer, sizeof buffer, iob) != NULL) { 554 int len;
555 while ((len = read(desc, buffer, sizeof buffer - 1)) > 0) {
556 // NB: fgets does not discard the newline nor any carriage return 556 // NB: fgets does not discard the newline nor any carriage return
557 // character before that. 557 // character before that.
558 // 558 //
559 // Note that CR LF is the default end-of-line style for Windows. 559 // Note that CR LF is the default end-of-line style for Windows.
560 // Furthermore, when the test_file (input data, which happens to 560 // Furthermore, when the test_file (input data, which happens to
561 // be the nmf file) is initially created in a change list, the 561 // be the nmf file) is initially created in a change list, the
562 // patch is sent to our try bots as text. This means that when 562 // patch is sent to our try bots as text. This means that when
563 // the file arrives, it has CR LF endings instead of the original 563 // the file arrives, it has CR LF endings instead of the original
564 // LF line endings. Since the expected or golden data is 564 // LF line endings. Since the expected or golden data is
565 // (manually) encoded in the HTML file's JavaScript, there will be 565 // (manually) encoded in the HTML file's JavaScript, there will be
566 // a mismatch. After submission, the svn property svn:eol-style 566 // a mismatch. After submission, the svn property svn:eol-style
567 // will be set to LF, so a clean check out should have LF and not 567 // will be set to LF, so a clean check out should have LF and not
568 // CR LF endings, and the tests will pass without CR removal. 568 // CR LF endings, and the tests will pass without CR removal.
569 // However -- and there's always a however in long discourses -- 569 // However -- and there's always a however in long discourses --
570 // if the nmf file is edited, say, because the test is being 570 // if the nmf file is edited, say, because the test is being
571 // modified, and the modification is being done on a Windows 571 // modified, and the modification is being done on a Windows
572 // machine, then it is likely that the editor used by the 572 // machine, then it is likely that the editor used by the
573 // programmer will convert the file to CR LF endings. Which, 573 // programmer will convert the file to CR LF endings. Which,
574 // unfortunatly, implies that the test will mysteriously fail 574 // unfortunatly, implies that the test will mysteriously fail
575 // again. 575 // again.
576 // 576 //
577 // To defend against such nonsense, we weaken the test slighty, 577 // To defend against such nonsense, we weaken the test slighty,
578 // and just strip the CR if it is present. 578 // and just strip the CR if it is present.
579 int len = strlen(buffer);
580 if (len >= 2 && buffer[len-1] == '\n' && buffer[len-2] == '\r') { 579 if (len >= 2 && buffer[len-1] == '\n' && buffer[len-2] == '\r') {
581 buffer[len-2] = '\n'; 580 buffer[len-2] = '\n';
582 buffer[len-1] = '\0'; 581 buffer[len-1] = '\0';
583 } 582 }
583 // Null terminate.
584 buffer[len] = 0;
584 sb->Printf("%s", buffer); 585 sb->Printf("%s", buffer);
585 } 586 }
586 fclose(iob); // closed desc
587 NaClSrpcDtor(&manifest_channel); 587 NaClSrpcDtor(&manifest_channel);
588 return; 588 return;
589 } 589 }
590 590
591 // HandleMessage gets invoked when postMessage is called on the DOM 591 // HandleMessage gets invoked when postMessage is called on the DOM
592 // element associated with this plugin instance. In this case, if we 592 // element associated with this plugin instance. In this case, if we
593 // are given a string, we'll post a message back to JavaScript with a 593 // are given a string, we'll post a message back to JavaScript with a
594 // reply -- essentially treating this as a string-based RPC. 594 // reply -- essentially treating this as a string-based RPC.
595 void MyInstance::HandleMessage(const pp::Var& message) { 595 void MyInstance::HandleMessage(const pp::Var& message) {
596 if (message.is_string()) { 596 if (message.is_string()) {
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 660
661 namespace pp { 661 namespace pp {
662 662
663 // Factory function for your specialization of the Module object. 663 // Factory function for your specialization of the Module object.
664 Module* CreateModule() { 664 Module* CreateModule() {
665 fprintf(stderr, "CreateModule invoked\n"); fflush(NULL); 665 fprintf(stderr, "CreateModule invoked\n"); fflush(NULL);
666 return new MyModule(); 666 return new MyModule();
667 } 667 }
668 668
669 } // namespace pp 669 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698