OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.net; | 5 package org.chromium.net; |
6 | 6 |
7 import android.content.Context; | |
8 import android.content.ContextWrapper; | 7 import android.content.ContextWrapper; |
9 import android.os.ConditionVariable; | 8 import android.os.ConditionVariable; |
10 import android.os.Handler; | 9 import android.os.Handler; |
11 import android.os.Looper; | 10 import android.os.Looper; |
12 import android.os.StrictMode; | 11 import android.os.StrictMode; |
13 import android.test.suitebuilder.annotation.SmallTest; | 12 import android.test.suitebuilder.annotation.SmallTest; |
14 | 13 |
15 import org.chromium.base.FileUtils; | 14 import org.chromium.base.FileUtils; |
16 import org.chromium.base.PathUtils; | 15 import org.chromium.base.PathUtils; |
17 import org.chromium.base.annotations.JNINamespace; | 16 import org.chromium.base.annotations.JNINamespace; |
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
529 callback.waitForNextStep(); | 528 callback.waitForNextStep(); |
530 assertEquals(ResponseStep.ON_RESPONSE_STARTED, callback.mResponseStep); | 529 assertEquals(ResponseStep.ON_RESPONSE_STARTED, callback.mResponseStep); |
531 urlRequest.cancel(); | 530 urlRequest.cancel(); |
532 testFramework.mCronetEngine.shutdown(); | 531 testFramework.mCronetEngine.shutdown(); |
533 } | 532 } |
534 | 533 |
535 @SmallTest | 534 @SmallTest |
536 @Feature({"Cronet"}) | 535 @Feature({"Cronet"}) |
537 @OnlyRunNativeCronet // No netlogs for pure java impl | 536 @OnlyRunNativeCronet // No netlogs for pure java impl |
538 public void testNetLog() throws Exception { | 537 public void testNetLog() throws Exception { |
539 Context context = getContext(); | 538 File directory = new File(PathUtils.getDataDirectory()); |
540 File directory = new File(PathUtils.getDataDirectory(context)); | |
541 File file = File.createTempFile("cronet", "json", directory); | 539 File file = File.createTempFile("cronet", "json", directory); |
542 CronetEngine cronetEngine = new CronetUrlRequestContext( | 540 CronetEngine cronetEngine = new CronetUrlRequestContext( |
543 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 541 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
544 // Start NetLog immediately after the request context is created to make | 542 // Start NetLog immediately after the request context is created to make |
545 // sure that the call won't crash the app even when the native request | 543 // sure that the call won't crash the app even when the native request |
546 // context is not fully initialized. See crbug.com/470196. | 544 // context is not fully initialized. See crbug.com/470196. |
547 cronetEngine.startNetLogToFile(file.getPath(), false); | 545 cronetEngine.startNetLogToFile(file.getPath(), false); |
548 | 546 |
549 // Start a request. | 547 // Start a request. |
550 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 548 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
551 UrlRequest.Builder urlRequestBuilder = | 549 UrlRequest.Builder urlRequestBuilder = |
552 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); | 550 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); |
553 urlRequestBuilder.build().start(); | 551 urlRequestBuilder.build().start(); |
554 callback.blockForDone(); | 552 callback.blockForDone(); |
555 cronetEngine.stopNetLog(); | 553 cronetEngine.stopNetLog(); |
556 assertTrue(file.exists()); | 554 assertTrue(file.exists()); |
557 assertTrue(file.length() != 0); | 555 assertTrue(file.length() != 0); |
558 assertFalse(hasBytesInNetLog(file)); | 556 assertFalse(hasBytesInNetLog(file)); |
559 assertTrue(file.delete()); | 557 assertTrue(file.delete()); |
560 assertTrue(!file.exists()); | 558 assertTrue(!file.exists()); |
561 } | 559 } |
562 | 560 |
563 @SmallTest | 561 @SmallTest |
564 @Feature({"Cronet"}) | 562 @Feature({"Cronet"}) |
565 @OnlyRunNativeCronet // No netlogs for pure java impl | 563 @OnlyRunNativeCronet // No netlogs for pure java impl |
566 public void testBoundedFileNetLog() throws Exception { | 564 public void testBoundedFileNetLog() throws Exception { |
567 Context context = getContext(); | 565 File directory = new File(PathUtils.getDataDirectory()); |
568 File directory = new File(PathUtils.getDataDirectory(context)); | |
569 File netLogDir = new File(directory, "NetLog"); | 566 File netLogDir = new File(directory, "NetLog"); |
570 assertFalse(netLogDir.exists()); | 567 assertFalse(netLogDir.exists()); |
571 assertTrue(netLogDir.mkdir()); | 568 assertTrue(netLogDir.mkdir()); |
572 File eventFile = new File(netLogDir, "event_file_0.json"); | 569 File eventFile = new File(netLogDir, "event_file_0.json"); |
573 CronetEngine cronetEngine = new CronetUrlRequestContext( | 570 CronetEngine cronetEngine = new CronetUrlRequestContext( |
574 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 571 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
575 // Start NetLog immediately after the request context is created to make | 572 // Start NetLog immediately after the request context is created to make |
576 // sure that the call won't crash the app even when the native request | 573 // sure that the call won't crash the app even when the native request |
577 // context is not fully initialized. See crbug.com/470196. | 574 // context is not fully initialized. See crbug.com/470196. |
578 cronetEngine.startNetLogToDisk(netLogDir.getPath(), false, MAX_FILE_SIZE
); | 575 cronetEngine.startNetLogToDisk(netLogDir.getPath(), false, MAX_FILE_SIZE
); |
579 | 576 |
580 // Start a request. | 577 // Start a request. |
581 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 578 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
582 UrlRequest.Builder urlRequestBuilder = | 579 UrlRequest.Builder urlRequestBuilder = |
583 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); | 580 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); |
584 urlRequestBuilder.build().start(); | 581 urlRequestBuilder.build().start(); |
585 callback.blockForDone(); | 582 callback.blockForDone(); |
586 cronetEngine.stopNetLog(); | 583 cronetEngine.stopNetLog(); |
587 assertTrue(eventFile.exists()); | 584 assertTrue(eventFile.exists()); |
588 assertTrue(eventFile.length() != 0); | 585 assertTrue(eventFile.length() != 0); |
589 assertFalse(hasBytesInNetLog(eventFile)); | 586 assertFalse(hasBytesInNetLog(eventFile)); |
590 FileUtils.recursivelyDeleteFile(netLogDir); | 587 FileUtils.recursivelyDeleteFile(netLogDir); |
591 assertFalse(netLogDir.exists()); | 588 assertFalse(netLogDir.exists()); |
592 } | 589 } |
593 | 590 |
594 @SmallTest | 591 @SmallTest |
595 @Feature({"Cronet"}) | 592 @Feature({"Cronet"}) |
596 @OnlyRunNativeCronet // No netlogs for pure java impl | 593 @OnlyRunNativeCronet // No netlogs for pure java impl |
597 // Tests that if stopNetLog is not explicity called, CronetEngine.shutdown() | 594 // Tests that if stopNetLog is not explicity called, CronetEngine.shutdown() |
598 // will take care of it. crbug.com/623701. | 595 // will take care of it. crbug.com/623701. |
599 public void testNoStopNetLog() throws Exception { | 596 public void testNoStopNetLog() throws Exception { |
600 Context context = getContext(); | 597 File directory = new File(PathUtils.getDataDirectory()); |
601 File directory = new File(PathUtils.getDataDirectory(context)); | |
602 File file = File.createTempFile("cronet", "json", directory); | 598 File file = File.createTempFile("cronet", "json", directory); |
603 CronetEngine cronetEngine = new CronetUrlRequestContext( | 599 CronetEngine cronetEngine = new CronetUrlRequestContext( |
604 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 600 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
605 cronetEngine.startNetLogToFile(file.getPath(), false); | 601 cronetEngine.startNetLogToFile(file.getPath(), false); |
606 | 602 |
607 // Start a request. | 603 // Start a request. |
608 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 604 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
609 UrlRequest.Builder urlRequestBuilder = | 605 UrlRequest.Builder urlRequestBuilder = |
610 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); | 606 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); |
611 urlRequestBuilder.build().start(); | 607 urlRequestBuilder.build().start(); |
612 callback.blockForDone(); | 608 callback.blockForDone(); |
613 // Shut down the engine without calling stopNetLog. | 609 // Shut down the engine without calling stopNetLog. |
614 cronetEngine.shutdown(); | 610 cronetEngine.shutdown(); |
615 assertTrue(file.exists()); | 611 assertTrue(file.exists()); |
616 assertTrue(file.length() != 0); | 612 assertTrue(file.length() != 0); |
617 assertFalse(hasBytesInNetLog(file)); | 613 assertFalse(hasBytesInNetLog(file)); |
618 assertTrue(file.delete()); | 614 assertTrue(file.delete()); |
619 assertTrue(!file.exists()); | 615 assertTrue(!file.exists()); |
620 } | 616 } |
621 | 617 |
622 @SmallTest | 618 @SmallTest |
623 @Feature({"Cronet"}) | 619 @Feature({"Cronet"}) |
624 @OnlyRunNativeCronet // No netlogs for pure java impl | 620 @OnlyRunNativeCronet // No netlogs for pure java impl |
625 // Tests that if stopNetLog is not explicity called, CronetEngine.shutdown() | 621 // Tests that if stopNetLog is not explicity called, CronetEngine.shutdown() |
626 // will take care of it. crbug.com/623701. | 622 // will take care of it. crbug.com/623701. |
627 public void testNoStopBoundedFileNetLog() throws Exception { | 623 public void testNoStopBoundedFileNetLog() throws Exception { |
628 Context context = getContext(); | 624 File directory = new File(PathUtils.getDataDirectory()); |
629 File directory = new File(PathUtils.getDataDirectory(context)); | |
630 File netLogDir = new File(directory, "NetLog"); | 625 File netLogDir = new File(directory, "NetLog"); |
631 assertFalse(netLogDir.exists()); | 626 assertFalse(netLogDir.exists()); |
632 assertTrue(netLogDir.mkdir()); | 627 assertTrue(netLogDir.mkdir()); |
633 File eventFile = new File(netLogDir, "event_file_0.json"); | 628 File eventFile = new File(netLogDir, "event_file_0.json"); |
634 CronetEngine cronetEngine = new CronetUrlRequestContext( | 629 CronetEngine cronetEngine = new CronetUrlRequestContext( |
635 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 630 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
636 cronetEngine.startNetLogToDisk(netLogDir.getPath(), false, MAX_FILE_SIZE
); | 631 cronetEngine.startNetLogToDisk(netLogDir.getPath(), false, MAX_FILE_SIZE
); |
637 | 632 |
638 // Start a request. | 633 // Start a request. |
639 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 634 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
640 UrlRequest.Builder urlRequestBuilder = | 635 UrlRequest.Builder urlRequestBuilder = |
641 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); | 636 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); |
642 urlRequestBuilder.build().start(); | 637 urlRequestBuilder.build().start(); |
643 callback.blockForDone(); | 638 callback.blockForDone(); |
644 // Shut down the engine without calling stopNetLog. | 639 // Shut down the engine without calling stopNetLog. |
645 cronetEngine.shutdown(); | 640 cronetEngine.shutdown(); |
646 assertTrue(eventFile.exists()); | 641 assertTrue(eventFile.exists()); |
647 assertTrue(eventFile.length() != 0); | 642 assertTrue(eventFile.length() != 0); |
648 | 643 |
649 FileUtils.recursivelyDeleteFile(netLogDir); | 644 FileUtils.recursivelyDeleteFile(netLogDir); |
650 assertFalse(netLogDir.exists()); | 645 assertFalse(netLogDir.exists()); |
651 } | 646 } |
652 | 647 |
653 @SmallTest | 648 @SmallTest |
654 @Feature({"Cronet"}) | 649 @Feature({"Cronet"}) |
655 @OnlyRunNativeCronet | 650 @OnlyRunNativeCronet |
656 // Tests that NetLog contains events emitted by all live CronetEngines. | 651 // Tests that NetLog contains events emitted by all live CronetEngines. |
657 public void testNetLogContainEventsFromAllLiveEngines() throws Exception { | 652 public void testNetLogContainEventsFromAllLiveEngines() throws Exception { |
658 Context context = getContext(); | 653 File directory = new File(PathUtils.getDataDirectory()); |
659 File directory = new File(PathUtils.getDataDirectory(context)); | |
660 File file1 = File.createTempFile("cronet1", "json", directory); | 654 File file1 = File.createTempFile("cronet1", "json", directory); |
661 File file2 = File.createTempFile("cronet2", "json", directory); | 655 File file2 = File.createTempFile("cronet2", "json", directory); |
662 CronetEngine cronetEngine1 = new CronetUrlRequestContext( | 656 CronetEngine cronetEngine1 = new CronetUrlRequestContext( |
663 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 657 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
664 CronetEngine cronetEngine2 = new CronetUrlRequestContext( | 658 CronetEngine cronetEngine2 = new CronetUrlRequestContext( |
665 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 659 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
666 | 660 |
667 cronetEngine1.startNetLogToFile(file1.getPath(), false); | 661 cronetEngine1.startNetLogToFile(file1.getPath(), false); |
668 cronetEngine2.startNetLogToFile(file2.getPath(), false); | 662 cronetEngine2.startNetLogToFile(file2.getPath(), false); |
669 | 663 |
670 // Warm CronetEngine and make sure both CronetUrlRequestContexts are | 664 // Warm CronetEngine and make sure both CronetUrlRequestContexts are |
671 // initialized before testing the logs. | 665 // initialized before testing the logs. |
672 makeRequestAndCheckStatus(cronetEngine1, mUrl, 200); | 666 makeRequestAndCheckStatus(cronetEngine1, mUrl, 200); |
673 makeRequestAndCheckStatus(cronetEngine2, mUrl, 200); | 667 makeRequestAndCheckStatus(cronetEngine2, mUrl, 200); |
674 | 668 |
675 // Use cronetEngine1 to make a request to mUrl404. | 669 // Use cronetEngine1 to make a request to mUrl404. |
(...skipping 14 matching lines...) Expand all Loading... |
690 assertTrue(containsStringInNetLog(file2, mUrl500)); | 684 assertTrue(containsStringInNetLog(file2, mUrl500)); |
691 assertTrue(file1.delete()); | 685 assertTrue(file1.delete()); |
692 assertTrue(file2.delete()); | 686 assertTrue(file2.delete()); |
693 } | 687 } |
694 | 688 |
695 @SmallTest | 689 @SmallTest |
696 @Feature({"Cronet"}) | 690 @Feature({"Cronet"}) |
697 @OnlyRunNativeCronet | 691 @OnlyRunNativeCronet |
698 // Tests that NetLog contains events emitted by all live CronetEngines. | 692 // Tests that NetLog contains events emitted by all live CronetEngines. |
699 public void testBoundedFileNetLogContainEventsFromAllLiveEngines() throws Ex
ception { | 693 public void testBoundedFileNetLogContainEventsFromAllLiveEngines() throws Ex
ception { |
700 Context context = getContext(); | 694 File directory = new File(PathUtils.getDataDirectory()); |
701 File directory = new File(PathUtils.getDataDirectory(context)); | |
702 File netLogDir1 = new File(directory, "NetLog1"); | 695 File netLogDir1 = new File(directory, "NetLog1"); |
703 assertFalse(netLogDir1.exists()); | 696 assertFalse(netLogDir1.exists()); |
704 assertTrue(netLogDir1.mkdir()); | 697 assertTrue(netLogDir1.mkdir()); |
705 File netLogDir2 = new File(directory, "NetLog2"); | 698 File netLogDir2 = new File(directory, "NetLog2"); |
706 assertFalse(netLogDir2.exists()); | 699 assertFalse(netLogDir2.exists()); |
707 assertTrue(netLogDir2.mkdir()); | 700 assertTrue(netLogDir2.mkdir()); |
708 File eventFile1 = new File(netLogDir1, "event_file_0.json"); | 701 File eventFile1 = new File(netLogDir1, "event_file_0.json"); |
709 File eventFile2 = new File(netLogDir2, "event_file_0.json"); | 702 File eventFile2 = new File(netLogDir2, "event_file_0.json"); |
710 | 703 |
711 CronetUrlRequestContext cronetEngine1 = new CronetUrlRequestContext( | 704 CronetUrlRequestContext cronetEngine1 = new CronetUrlRequestContext( |
712 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 705 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
713 CronetUrlRequestContext cronetEngine2 = new CronetUrlRequestContext( | 706 CronetUrlRequestContext cronetEngine2 = new CronetUrlRequestContext( |
714 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 707 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
715 | 708 |
716 cronetEngine1.startNetLogToDisk(netLogDir1.getPath(), false, MAX_FILE_SI
ZE); | 709 cronetEngine1.startNetLogToDisk(netLogDir1.getPath(), false, MAX_FILE_SI
ZE); |
717 cronetEngine2.startNetLogToDisk(netLogDir2.getPath(), false, MAX_FILE_SI
ZE); | 710 cronetEngine2.startNetLogToDisk(netLogDir2.getPath(), false, MAX_FILE_SI
ZE); |
718 | 711 |
719 // Warm CronetEngine and make sure both CronetUrlRequestContexts are | 712 // Warm CronetEngine and make sure both CronetUrlRequestContexts are |
720 // initialized before testing the logs. | 713 // initialized before testing the logs. |
721 makeRequestAndCheckStatus(cronetEngine1, mUrl, 200); | 714 makeRequestAndCheckStatus(cronetEngine1, mUrl, 200); |
722 makeRequestAndCheckStatus(cronetEngine2, mUrl, 200); | 715 makeRequestAndCheckStatus(cronetEngine2, mUrl, 200); |
723 | 716 |
724 // Use cronetEngine1 to make a request to mUrl404. | 717 // Use cronetEngine1 to make a request to mUrl404. |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
799 @OnlyRunNativeCronet | 792 @OnlyRunNativeCronet |
800 public void testNetLogAfterShutdown() throws Exception { | 793 public void testNetLogAfterShutdown() throws Exception { |
801 final CronetTestFramework testFramework = startCronetTestFramework(); | 794 final CronetTestFramework testFramework = startCronetTestFramework(); |
802 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 795 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
803 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 796 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
804 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); | 797 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); |
805 urlRequestBuilder.build().start(); | 798 urlRequestBuilder.build().start(); |
806 callback.blockForDone(); | 799 callback.blockForDone(); |
807 testFramework.mCronetEngine.shutdown(); | 800 testFramework.mCronetEngine.shutdown(); |
808 | 801 |
809 File directory = new File(PathUtils.getDataDirectory(getContext())); | 802 File directory = new File(PathUtils.getDataDirectory()); |
810 File file = File.createTempFile("cronet", "json", directory); | 803 File file = File.createTempFile("cronet", "json", directory); |
811 try { | 804 try { |
812 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false)
; | 805 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false)
; |
813 fail("Should throw an exception."); | 806 fail("Should throw an exception."); |
814 } catch (Exception e) { | 807 } catch (Exception e) { |
815 assertEquals("Engine is shut down.", e.getMessage()); | 808 assertEquals("Engine is shut down.", e.getMessage()); |
816 } | 809 } |
817 assertFalse(hasBytesInNetLog(file)); | 810 assertFalse(hasBytesInNetLog(file)); |
818 assertTrue(file.delete()); | 811 assertTrue(file.delete()); |
819 assertTrue(!file.exists()); | 812 assertTrue(!file.exists()); |
820 } | 813 } |
821 | 814 |
822 @SmallTest | 815 @SmallTest |
823 @Feature({"Cronet"}) | 816 @Feature({"Cronet"}) |
824 @OnlyRunNativeCronet | 817 @OnlyRunNativeCronet |
825 public void testBoundedFileNetLogAfterShutdown() throws Exception { | 818 public void testBoundedFileNetLogAfterShutdown() throws Exception { |
826 final CronetTestFramework testFramework = startCronetTestFramework(); | 819 final CronetTestFramework testFramework = startCronetTestFramework(); |
827 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 820 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
828 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 821 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
829 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); | 822 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); |
830 urlRequestBuilder.build().start(); | 823 urlRequestBuilder.build().start(); |
831 callback.blockForDone(); | 824 callback.blockForDone(); |
832 testFramework.mCronetEngine.shutdown(); | 825 testFramework.mCronetEngine.shutdown(); |
833 | 826 |
834 File directory = new File(PathUtils.getDataDirectory(getContext())); | 827 File directory = new File(PathUtils.getDataDirectory()); |
835 File netLogDir = new File(directory, "NetLog"); | 828 File netLogDir = new File(directory, "NetLog"); |
836 assertFalse(netLogDir.exists()); | 829 assertFalse(netLogDir.exists()); |
837 assertTrue(netLogDir.mkdir()); | 830 assertTrue(netLogDir.mkdir()); |
838 File constantsFile = new File(netLogDir, "constants.json"); | 831 File constantsFile = new File(netLogDir, "constants.json"); |
839 try { | 832 try { |
840 testFramework.mCronetEngine.startNetLogToDisk( | 833 testFramework.mCronetEngine.startNetLogToDisk( |
841 netLogDir.getPath(), false, MAX_FILE_SIZE); | 834 netLogDir.getPath(), false, MAX_FILE_SIZE); |
842 fail("Should throw an exception."); | 835 fail("Should throw an exception."); |
843 } catch (Exception e) { | 836 } catch (Exception e) { |
844 assertEquals("Engine is shut down.", e.getMessage()); | 837 assertEquals("Engine is shut down.", e.getMessage()); |
845 } | 838 } |
846 assertFalse(constantsFile.exists()); | 839 assertFalse(constantsFile.exists()); |
847 FileUtils.recursivelyDeleteFile(netLogDir); | 840 FileUtils.recursivelyDeleteFile(netLogDir); |
848 assertFalse(netLogDir.exists()); | 841 assertFalse(netLogDir.exists()); |
849 } | 842 } |
850 | 843 |
851 @SmallTest | 844 @SmallTest |
852 @Feature({"Cronet"}) | 845 @Feature({"Cronet"}) |
853 public void testNetLogStartMultipleTimes() throws Exception { | 846 public void testNetLogStartMultipleTimes() throws Exception { |
854 final CronetTestFramework testFramework = startCronetTestFramework(); | 847 final CronetTestFramework testFramework = startCronetTestFramework(); |
855 File directory = new File(PathUtils.getDataDirectory(getContext())); | 848 File directory = new File(PathUtils.getDataDirectory()); |
856 File file = File.createTempFile("cronet", "json", directory); | 849 File file = File.createTempFile("cronet", "json", directory); |
857 // Start NetLog multiple times. | 850 // Start NetLog multiple times. |
858 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); | 851 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); |
859 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); | 852 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); |
860 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); | 853 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); |
861 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); | 854 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); |
862 // Start a request. | 855 // Start a request. |
863 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 856 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
864 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 857 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
865 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); | 858 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); |
866 urlRequestBuilder.build().start(); | 859 urlRequestBuilder.build().start(); |
867 callback.blockForDone(); | 860 callback.blockForDone(); |
868 testFramework.mCronetEngine.stopNetLog(); | 861 testFramework.mCronetEngine.stopNetLog(); |
869 assertTrue(file.exists()); | 862 assertTrue(file.exists()); |
870 assertTrue(file.length() != 0); | 863 assertTrue(file.length() != 0); |
871 assertFalse(hasBytesInNetLog(file)); | 864 assertFalse(hasBytesInNetLog(file)); |
872 assertTrue(file.delete()); | 865 assertTrue(file.delete()); |
873 assertTrue(!file.exists()); | 866 assertTrue(!file.exists()); |
874 } | 867 } |
875 | 868 |
876 @SmallTest | 869 @SmallTest |
877 @Feature({"Cronet"}) | 870 @Feature({"Cronet"}) |
878 public void testBoundedFileNetLogStartMultipleTimes() throws Exception { | 871 public void testBoundedFileNetLogStartMultipleTimes() throws Exception { |
879 final CronetTestFramework testFramework = startCronetTestFramework(); | 872 final CronetTestFramework testFramework = startCronetTestFramework(); |
880 File directory = new File(PathUtils.getDataDirectory(getContext())); | 873 File directory = new File(PathUtils.getDataDirectory()); |
881 File netLogDir = new File(directory, "NetLog"); | 874 File netLogDir = new File(directory, "NetLog"); |
882 assertFalse(netLogDir.exists()); | 875 assertFalse(netLogDir.exists()); |
883 assertTrue(netLogDir.mkdir()); | 876 assertTrue(netLogDir.mkdir()); |
884 File eventFile = new File(netLogDir, "event_file_0.json"); | 877 File eventFile = new File(netLogDir, "event_file_0.json"); |
885 // Start NetLog multiple times. This should be equivalent to starting Ne
tLog | 878 // Start NetLog multiple times. This should be equivalent to starting Ne
tLog |
886 // once. Each subsequent start (without calling stopNetLog) should be a
no-op. | 879 // once. Each subsequent start (without calling stopNetLog) should be a
no-op. |
887 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); | 880 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); |
888 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); | 881 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); |
889 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); | 882 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); |
890 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); | 883 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); |
891 // Start a request. | 884 // Start a request. |
892 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 885 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
893 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 886 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
894 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); | 887 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); |
895 urlRequestBuilder.build().start(); | 888 urlRequestBuilder.build().start(); |
896 callback.blockForDone(); | 889 callback.blockForDone(); |
897 testFramework.mCronetEngine.stopNetLog(); | 890 testFramework.mCronetEngine.stopNetLog(); |
898 assertTrue(eventFile.exists()); | 891 assertTrue(eventFile.exists()); |
899 assertTrue(eventFile.length() != 0); | 892 assertTrue(eventFile.length() != 0); |
900 assertFalse(hasBytesInNetLog(eventFile)); | 893 assertFalse(hasBytesInNetLog(eventFile)); |
901 FileUtils.recursivelyDeleteFile(netLogDir); | 894 FileUtils.recursivelyDeleteFile(netLogDir); |
902 assertFalse(netLogDir.exists()); | 895 assertFalse(netLogDir.exists()); |
903 } | 896 } |
904 | 897 |
905 @SmallTest | 898 @SmallTest |
906 @Feature({"Cronet"}) | 899 @Feature({"Cronet"}) |
907 public void testNetLogStopMultipleTimes() throws Exception { | 900 public void testNetLogStopMultipleTimes() throws Exception { |
908 final CronetTestFramework testFramework = startCronetTestFramework(); | 901 final CronetTestFramework testFramework = startCronetTestFramework(); |
909 File directory = new File(PathUtils.getDataDirectory(getContext())); | 902 File directory = new File(PathUtils.getDataDirectory()); |
910 File file = File.createTempFile("cronet", "json", directory); | 903 File file = File.createTempFile("cronet", "json", directory); |
911 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); | 904 testFramework.mCronetEngine.startNetLogToFile(file.getPath(), false); |
912 // Start a request. | 905 // Start a request. |
913 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 906 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
914 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 907 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
915 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); | 908 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); |
916 urlRequestBuilder.build().start(); | 909 urlRequestBuilder.build().start(); |
917 callback.blockForDone(); | 910 callback.blockForDone(); |
918 // Stop NetLog multiple times. | 911 // Stop NetLog multiple times. |
919 testFramework.mCronetEngine.stopNetLog(); | 912 testFramework.mCronetEngine.stopNetLog(); |
920 testFramework.mCronetEngine.stopNetLog(); | 913 testFramework.mCronetEngine.stopNetLog(); |
921 testFramework.mCronetEngine.stopNetLog(); | 914 testFramework.mCronetEngine.stopNetLog(); |
922 testFramework.mCronetEngine.stopNetLog(); | 915 testFramework.mCronetEngine.stopNetLog(); |
923 testFramework.mCronetEngine.stopNetLog(); | 916 testFramework.mCronetEngine.stopNetLog(); |
924 assertTrue(file.exists()); | 917 assertTrue(file.exists()); |
925 assertTrue(file.length() != 0); | 918 assertTrue(file.length() != 0); |
926 assertFalse(hasBytesInNetLog(file)); | 919 assertFalse(hasBytesInNetLog(file)); |
927 assertTrue(file.delete()); | 920 assertTrue(file.delete()); |
928 assertTrue(!file.exists()); | 921 assertTrue(!file.exists()); |
929 } | 922 } |
930 | 923 |
931 @SmallTest | 924 @SmallTest |
932 @Feature({"Cronet"}) | 925 @Feature({"Cronet"}) |
933 public void testBoundedFileNetLogStopMultipleTimes() throws Exception { | 926 public void testBoundedFileNetLogStopMultipleTimes() throws Exception { |
934 final CronetTestFramework testFramework = startCronetTestFramework(); | 927 final CronetTestFramework testFramework = startCronetTestFramework(); |
935 File directory = new File(PathUtils.getDataDirectory(getContext())); | 928 File directory = new File(PathUtils.getDataDirectory()); |
936 File netLogDir = new File(directory, "NetLog"); | 929 File netLogDir = new File(directory, "NetLog"); |
937 assertFalse(netLogDir.exists()); | 930 assertFalse(netLogDir.exists()); |
938 assertTrue(netLogDir.mkdir()); | 931 assertTrue(netLogDir.mkdir()); |
939 File eventFile = new File(netLogDir, "event_file_0.json"); | 932 File eventFile = new File(netLogDir, "event_file_0.json"); |
940 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); | 933 testFramework.mCronetEngine.startNetLogToDisk(netLogDir.getPath(), false
, MAX_FILE_SIZE); |
941 // Start a request. | 934 // Start a request. |
942 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 935 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
943 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( | 936 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder( |
944 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); | 937 mUrl, callback, callback.getExecutor(), testFramework.mCronetEng
ine); |
945 urlRequestBuilder.build().start(); | 938 urlRequestBuilder.build().start(); |
946 callback.blockForDone(); | 939 callback.blockForDone(); |
947 // Stop NetLog multiple times. This should be equivalent to stopping Net
Log once. | 940 // Stop NetLog multiple times. This should be equivalent to stopping Net
Log once. |
948 // Each subsequent stop (without calling startNetLogToDisk first) should
be a no-op. | 941 // Each subsequent stop (without calling startNetLogToDisk first) should
be a no-op. |
949 testFramework.mCronetEngine.stopNetLog(); | 942 testFramework.mCronetEngine.stopNetLog(); |
950 testFramework.mCronetEngine.stopNetLog(); | 943 testFramework.mCronetEngine.stopNetLog(); |
951 testFramework.mCronetEngine.stopNetLog(); | 944 testFramework.mCronetEngine.stopNetLog(); |
952 testFramework.mCronetEngine.stopNetLog(); | 945 testFramework.mCronetEngine.stopNetLog(); |
953 testFramework.mCronetEngine.stopNetLog(); | 946 testFramework.mCronetEngine.stopNetLog(); |
954 assertTrue(eventFile.exists()); | 947 assertTrue(eventFile.exists()); |
955 assertTrue(eventFile.length() != 0); | 948 assertTrue(eventFile.length() != 0); |
956 assertFalse(hasBytesInNetLog(eventFile)); | 949 assertFalse(hasBytesInNetLog(eventFile)); |
957 FileUtils.recursivelyDeleteFile(netLogDir); | 950 FileUtils.recursivelyDeleteFile(netLogDir); |
958 assertFalse(netLogDir.exists()); | 951 assertFalse(netLogDir.exists()); |
959 } | 952 } |
960 | 953 |
961 @SmallTest | 954 @SmallTest |
962 @Feature({"Cronet"}) | 955 @Feature({"Cronet"}) |
963 @OnlyRunNativeCronet | 956 @OnlyRunNativeCronet |
964 public void testNetLogWithBytes() throws Exception { | 957 public void testNetLogWithBytes() throws Exception { |
965 Context context = getContext(); | 958 File directory = new File(PathUtils.getDataDirectory()); |
966 File directory = new File(PathUtils.getDataDirectory(context)); | |
967 File file = File.createTempFile("cronet", "json", directory); | 959 File file = File.createTempFile("cronet", "json", directory); |
968 CronetEngine cronetEngine = new CronetUrlRequestContext( | 960 CronetEngine cronetEngine = new CronetUrlRequestContext( |
969 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 961 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
970 // Start NetLog with logAll as true. | 962 // Start NetLog with logAll as true. |
971 cronetEngine.startNetLogToFile(file.getPath(), true); | 963 cronetEngine.startNetLogToFile(file.getPath(), true); |
972 // Start a request. | 964 // Start a request. |
973 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 965 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
974 UrlRequest.Builder urlRequestBuilder = | 966 UrlRequest.Builder urlRequestBuilder = |
975 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); | 967 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); |
976 urlRequestBuilder.build().start(); | 968 urlRequestBuilder.build().start(); |
977 callback.blockForDone(); | 969 callback.blockForDone(); |
978 cronetEngine.stopNetLog(); | 970 cronetEngine.stopNetLog(); |
979 assertTrue(file.exists()); | 971 assertTrue(file.exists()); |
980 assertTrue(file.length() != 0); | 972 assertTrue(file.length() != 0); |
981 assertTrue(hasBytesInNetLog(file)); | 973 assertTrue(hasBytesInNetLog(file)); |
982 assertTrue(file.delete()); | 974 assertTrue(file.delete()); |
983 assertTrue(!file.exists()); | 975 assertTrue(!file.exists()); |
984 } | 976 } |
985 | 977 |
986 @SmallTest | 978 @SmallTest |
987 @Feature({"Cronet"}) | 979 @Feature({"Cronet"}) |
988 @OnlyRunNativeCronet | 980 @OnlyRunNativeCronet |
989 public void testBoundedFileNetLogWithBytes() throws Exception { | 981 public void testBoundedFileNetLogWithBytes() throws Exception { |
990 Context context = getContext(); | 982 File directory = new File(PathUtils.getDataDirectory()); |
991 File directory = new File(PathUtils.getDataDirectory(context)); | |
992 File netLogDir = new File(directory, "NetLog"); | 983 File netLogDir = new File(directory, "NetLog"); |
993 assertFalse(netLogDir.exists()); | 984 assertFalse(netLogDir.exists()); |
994 assertTrue(netLogDir.mkdir()); | 985 assertTrue(netLogDir.mkdir()); |
995 File eventFile = new File(netLogDir, "event_file_0.json"); | 986 File eventFile = new File(netLogDir, "event_file_0.json"); |
996 CronetUrlRequestContext cronetEngine = new CronetUrlRequestContext( | 987 CronetUrlRequestContext cronetEngine = new CronetUrlRequestContext( |
997 new CronetEngine.Builder(context).setLibraryName("cronet_tests")
); | 988 new CronetEngine.Builder(getContext()).setLibraryName("cronet_te
sts")); |
998 // Start NetLog with logAll as true. | 989 // Start NetLog with logAll as true. |
999 cronetEngine.startNetLogToDisk(netLogDir.getPath(), true, MAX_FILE_SIZE)
; | 990 cronetEngine.startNetLogToDisk(netLogDir.getPath(), true, MAX_FILE_SIZE)
; |
1000 // Start a request. | 991 // Start a request. |
1001 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 992 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
1002 UrlRequest.Builder urlRequestBuilder = | 993 UrlRequest.Builder urlRequestBuilder = |
1003 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); | 994 new UrlRequest.Builder(mUrl, callback, callback.getExecutor(), c
ronetEngine); |
1004 urlRequestBuilder.build().start(); | 995 urlRequestBuilder.build().start(); |
1005 callback.blockForDone(); | 996 callback.blockForDone(); |
1006 cronetEngine.stopNetLog(); | 997 cronetEngine.stopNetLog(); |
1007 | 998 |
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1409 TestUrlRequestCallback callback = new TestUrlRequestCallback(); | 1400 TestUrlRequestCallback callback = new TestUrlRequestCallback(); |
1410 URL requestUrl = | 1401 URL requestUrl = |
1411 new URL("http", resolverTestHostname, testUrl.getPort(), testUrl
.getFile()); | 1402 new URL("http", resolverTestHostname, testUrl.getPort(), testUrl
.getFile()); |
1412 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(requestUrl
.toString(), | 1403 UrlRequest.Builder urlRequestBuilder = new UrlRequest.Builder(requestUrl
.toString(), |
1413 callback, callback.getExecutor(), testFramework.mCronetEngine); | 1404 callback, callback.getExecutor(), testFramework.mCronetEngine); |
1414 urlRequestBuilder.build().start(); | 1405 urlRequestBuilder.build().start(); |
1415 callback.blockForDone(); | 1406 callback.blockForDone(); |
1416 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); | 1407 assertEquals(200, callback.mResponseInfo.getHttpStatusCode()); |
1417 } | 1408 } |
1418 } | 1409 } |
OLD | NEW |