New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 608223 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug

Blocking:
issue 587995



Sign in to add a comment

Android integration tests for PaymentRequest

Project Member Reported by rouslan@chromium.org, May 1 2016

Issue description

^^^
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/68aec80e25847bd6fe7763edfff90e44f8557bc2

commit 68aec80e25847bd6fe7763edfff90e44f8557bc2
Author: rouslan <rouslan@chromium.org>
Date: Tue May 03 18:23:54 2016

Android integration tests for PaymentRequest UI

This patch adds several integration tests for PaymentRequest UI on
Android:

- Clicking X should cancel the PaymentRequest.

- Clicking EDIT and then X should cancel the PaymentRequest.

- Clicking EDIT and then CANCEL should cancel the PaymentRequest.

- Clicking PAY should provide the merchant with an autofill credit
  card and (if requested) an autofill profile as a shipping address.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1941623002
Cr-Commit-Position: refs/heads/master@{#391304}

[modify] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskBridge.java
[modify] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java
[modify] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/java_sources.gni
[modify] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java
[add] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestFreeShippingTest.java
[add] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[add] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
[add] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/test/data/android/payments/payment_request_free_shipping_test.html
[add] https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2/chrome/test/data/android/payments/payment_request_no_shipping_test.html

Project Member

Comment 2 by bugdroid1@chromium.org, May 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e6c0588e2c714c655d0dd36a744537ffcf8b229

commit 2e6c0588e2c714c655d0dd36a744537ffcf8b229
Author: sclittle <sclittle@chromium.org>
Date: Tue May 03 22:42:53 2016

Revert of Android integration tests for PaymentRequest (patchset #3 id:80001 of https://codereview.chromium.org/1941623002/ )

Reason for revert:
These integration tests are currently failing on the bots: https://build.chromium.org/p/chromium.linux/builders/Android%20GN/builds/34100, https://build.chromium.org/p/chromium.linux/builders/Android%20GN/builds/34101

Original issue's description:
> Android integration tests for PaymentRequest UI
>
> This patch adds several integration tests for PaymentRequest UI on
> Android:
>
> - Clicking X should cancel the PaymentRequest.
>
> - Clicking EDIT and then X should cancel the PaymentRequest.
>
> - Clicking EDIT and then CANCEL should cancel the PaymentRequest.
>
> - Clicking PAY should provide the merchant with an autofill credit
>   card and (if requested) an autofill profile as a shipping address.
>
> BUG= 608223 
>
> Committed: https://crrev.com/68aec80e25847bd6fe7763edfff90e44f8557bc2
> Cr-Commit-Position: refs/heads/master@{#391304}

TBR=dfalcantara@chromium.org,rouslan@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 608223 

Review-Url: https://codereview.chromium.org/1945643003
Cr-Commit-Position: refs/heads/master@{#391381}

[modify] https://crrev.com/2e6c0588e2c714c655d0dd36a744537ffcf8b229/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskBridge.java
[modify] https://crrev.com/2e6c0588e2c714c655d0dd36a744537ffcf8b229/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java
[modify] https://crrev.com/2e6c0588e2c714c655d0dd36a744537ffcf8b229/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/2e6c0588e2c714c655d0dd36a744537ffcf8b229/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/2e6c0588e2c714c655d0dd36a744537ffcf8b229/chrome/android/java_sources.gni
[modify] https://crrev.com/2e6c0588e2c714c655d0dd36a744537ffcf8b229/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java
[delete] https://crrev.com/9e2dcc62f43e284cc54edf58ea46d02705022700/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestFreeShippingTest.java
[delete] https://crrev.com/9e2dcc62f43e284cc54edf58ea46d02705022700/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[delete] https://crrev.com/9e2dcc62f43e284cc54edf58ea46d02705022700/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
[delete] https://crrev.com/9e2dcc62f43e284cc54edf58ea46d02705022700/chrome/test/data/android/payments/payment_request_free_shipping_test.html
[delete] https://crrev.com/9e2dcc62f43e284cc54edf58ea46d02705022700/chrome/test/data/android/payments/payment_request_no_shipping_test.html

Comment 3 Deleted

Comment 4 Deleted

Comment 5 Deleted

Cc: dfalcant...@chromium.org
Components: UI>Browser>Autofill>Payments
Strict mode violation.

C  826.815s Main  [FAIL] org.chromium.chrome.browser.payments.PaymentRequestFreeShippingTest#testPay:
C  826.815s Main  android.os.StrictMode$StrictModeViolation: policy=2639 violation=2
C  826.815s Main  	at android.os.StrictMode.executeDeathPenalty(StrictMode.java:1377)
C  826.815s Main  	at android.os.StrictMode.access$1300(StrictMode.java:116)
C  826.815s Main  	at android.os.StrictMode$AndroidBlockGuardPolicy.handleViolation(StrictMode.java:1370)
C  826.815s Main  	at android.os.StrictMode$AndroidBlockGuardPolicy$1.run(StrictMode.java:1252)
C  826.815s Main  	at android.os.Handler.handleCallback(Handler.java:733)
C  826.815s Main  	at android.os.Handler.dispatchMessage(Handler.java:95)
C  826.815s Main  	at android.os.Looper.loop(Looper.java:136)
C  826.815s Main  	at android.app.ActivityThread.main(ActivityThread.java:5017)
C  826.815s Main  	at java.lang.reflect.Method.invokeNative(Native Method)
C  826.815s Main  	at java.lang.reflect.Method.invoke(Method.java:515)
C  826.815s Main  	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
C  826.815s Main  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
C  826.815s Main  	at dalvik.system.NativeStart.main(Native Method)
C  826.816s Main  
C  826.816s Main  Search logcat for "StrictMode policy violation" for full stack.
C  826.816s Main  [FAIL] org.chromium.chrome.browser.payments.PaymentRequestNoShippingTest#testPay:
C  826.816s Main  android.os.StrictMode$StrictModeViolation: policy=2639 violation=2
C  826.816s Main  	at android.os.StrictMode.executeDeathPenalty(StrictMode.java:1377)
C  826.816s Main  	at android.os.StrictMode.access$1300(StrictMode.java:116)
C  826.816s Main  	at android.os.StrictMode$AndroidBlockGuardPolicy.handleViolation(StrictMode.java:1370)
C  826.816s Main  	at android.os.StrictMode$AndroidBlockGuardPolicy$1.run(StrictMode.java:1252)
C  826.816s Main  	at android.os.Handler.handleCallback(Handler.java:733)
C  826.816s Main  	at android.os.Handler.dispatchMessage(Handler.java:95)
C  826.816s Main  	at android.os.Looper.loop(Looper.java:136)
C  826.816s Main  	at android.app.ActivityThread.main(ActivityThread.java:5017)
C  826.816s Main  	at java.lang.reflect.Method.invokeNative(Native Method)
C  826.816s Main  	at java.lang.reflect.Method.invoke(Method.java:515)
C  826.816s Main  	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
C  826.816s Main  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
C  826.816s Main  	at dalvik.system.NativeStart.main(Native Method)
Project Member

Comment 7 by bugdroid1@chromium.org, May 5 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f681874c68247a63a24274ce932143480f7142b

commit 2f681874c68247a63a24274ce932143480f7142b
Author: rouslan <rouslan@chromium.org>
Date: Thu May 05 00:22:36 2016

Simple Android integration tests for PaymentRequest UI

This patch adds several simple integration tests for PaymentRequest UI
on Android:

- Clicking X should cancel the PaymentRequest.

- Clicking EDIT and then X should cancel the PaymentRequest.

- Clicking EDIT and then CANCEL should cancel the PaymentRequest.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1948203002
Cr-Commit-Position: refs/heads/master@{#391710}

[modify] https://crrev.com/2f681874c68247a63a24274ce932143480f7142b/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/2f681874c68247a63a24274ce932143480f7142b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/2f681874c68247a63a24274ce932143480f7142b/chrome/android/java_sources.gni
[add] https://crrev.com/2f681874c68247a63a24274ce932143480f7142b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[add] https://crrev.com/2f681874c68247a63a24274ce932143480f7142b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
[add] https://crrev.com/2f681874c68247a63a24274ce932143480f7142b/chrome/test/data/android/payments/payment_request_no_shipping_test.html

Project Member

Comment 9 by bugdroid1@chromium.org, May 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/97d622c381750f28ad3dc3d3ff42f8d65e5c5d2f

commit 97d622c381750f28ad3dc3d3ff42f8d65e5c5d2f
Author: rouslan <rouslan@chromium.org>
Date: Sat May 07 00:49:43 2016

Test cancelling card unmasking dialog.

This is an integration test for PaymentRequest. It performs the
following actions in order:

1) Show the PaymentRequest UI with one credit card.
2) Click PAY button on PaymentRequest UI.
3) Click CANCEL button on CVC prompt.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1958793002
Cr-Commit-Position: refs/heads/master@{#392223}

[modify] https://crrev.com/97d622c381750f28ad3dc3d3ff42f8d65e5c5d2f/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskBridge.java
[modify] https://crrev.com/97d622c381750f28ad3dc3d3ff42f8d65e5c5d2f/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java
[modify] https://crrev.com/97d622c381750f28ad3dc3d3ff42f8d65e5c5d2f/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/97d622c381750f28ad3dc3d3ff42f8d65e5c5d2f/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java
[modify] https://crrev.com/97d622c381750f28ad3dc3d3ff42f8d65e5c5d2f/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[modify] https://crrev.com/97d622c381750f28ad3dc3d3ff42f8d65e5c5d2f/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Project Member

Comment 10 by bugdroid1@chromium.org, May 7 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/262fc1140e15991cbd70a39201f1da6dc4c39930

commit 262fc1140e15991cbd70a39201f1da6dc4c39930
Author: Rouslan Solomakhin <rouslan@chromium.org>
Date: Sat May 07 01:18:47 2016

Remove test for cancelling CVC prompt.

Due to the new behavior of PaymentRequest error dialog, the test for
cancelling the CVC prompt is failing. Remove the test for now to avoid
bot breakage. Add a corrected version in a follow up patch.

TBR=dfalcantara@chromium.org
BUG= 608223 

Review URL: https://codereview.chromium.org/1957033002 .

Cr-Commit-Position: refs/heads/master@{#392228}

[modify] https://crrev.com/262fc1140e15991cbd70a39201f1da6dc4c39930/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java

Project Member

Comment 11 by bugdroid1@chromium.org, May 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ae3e707b1e771518538a8f12de5cdf88e0aef865

commit ae3e707b1e771518538a8f12de5cdf88e0aef865
Author: rouslan <rouslan@chromium.org>
Date: Mon May 09 17:14:54 2016

Test dismissing CVC prompt for PaymentRequest

This is an integration test for PaymentRequest that performs the
following steps:
1) Launch PaymentRequest UI.
2) Click "Pay" in PaymentRequest UI.
3) Click "Cancel" in CVC prompt.
4) Click "OK" to dismiss the result dialog.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1958873002
Cr-Commit-Position: refs/heads/master@{#392347}

[modify] https://crrev.com/ae3e707b1e771518538a8f12de5cdf88e0aef865/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/ae3e707b1e771518538a8f12de5cdf88e0aef865/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[modify] https://crrev.com/ae3e707b1e771518538a8f12de5cdf88e0aef865/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Project Member

Comment 12 by bugdroid1@chromium.org, May 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ce49849aadf7c4378c99cc4da45b3ff7671cdde8

commit ce49849aadf7c4378c99cc4da45b3ff7671cdde8
Author: iclelland <iclelland@chromium.org>
Date: Mon May 09 19:27:48 2016

Revert of Test dismissing CVC prompt for PaymentRequest (patchset #1 id:1 of https://codereview.chromium.org/1958873002/ )

Reason for revert:
Breaks on Android GN tests with a StrictModeViolation that gets the death penalty :(

C  912.834s Main  ********************************************************************************
C  912.834s Main  Detailed Logs
C  912.834s Main  ********************************************************************************
C  912.837s Main  [FAIL] org.chromium.chrome.browser.payments.PaymentRequestNoShippingTest#testPayAndCancelDialog:
C  912.837s Main  android.os.StrictMode$StrictModeViolation: policy=2639 violation=2
C  912.837s Main  	at android.os.StrictMode.executeDeathPenalty(StrictMode.java:1377)
C  912.837s Main  	at android.os.StrictMode.access$1300(StrictMode.java:116)
C  912.837s Main  	at android.os.StrictMode$AndroidBlockGuardPolicy.handleViolation(StrictMode.java:1370)
C  912.837s Main  	at android.os.StrictMode$AndroidBlockGuardPolicy$1.run(StrictMode.java:1252)
C  912.837s Main  	at android.os.Handler.handleCallback(Handler.java:733)
C  912.837s Main  	at android.os.Handler.dispatchMessage(Handler.java:95)
C  912.837s Main  	at android.os.Looper.loop(Looper.java:136)
C  912.837s Main  	at android.app.ActivityThread.main(ActivityThread.java:5017)
C  912.837s Main  	at java.lang.reflect.Method.invokeNative(Native Method)
C  912.837s Main  	at java.lang.reflect.Method.invoke(Method.java:515)
C  912.837s Main  	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
C  912.837s Main  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
C  912.837s Main  	at dalvik.system.NativeStart.main(Native Method)
C  912.837s Main
C  912.837s Main  Search logcat for "StrictMode policy violation" for full stack.
C  912.837s Main  ********************************************************************************

The full build is at https://uberchromegw.corp.google.com/i/chromium.linux/builders/Android%20GN/builds/34198

Original issue's description:
> Test dismissing CVC prompt for PaymentRequest
>
> This is an integration test for PaymentRequest that performs the
> following steps:
> 1) Launch PaymentRequest UI.
> 2) Click "Pay" in PaymentRequest UI.
> 3) Click "Cancel" in CVC prompt.
> 4) Click "OK" to dismiss the result dialog.
>
> BUG= 608223 
>
> Committed: https://crrev.com/ae3e707b1e771518538a8f12de5cdf88e0aef865
> Cr-Commit-Position: refs/heads/master@{#392347}

TBR=dfalcantara@chromium.org,rouslan@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 608223 

Review-Url: https://codereview.chromium.org/1959103003
Cr-Commit-Position: refs/heads/master@{#392394}

[modify] https://crrev.com/ce49849aadf7c4378c99cc4da45b3ff7671cdde8/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/ce49849aadf7c4378c99cc4da45b3ff7671cdde8/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[modify] https://crrev.com/ce49849aadf7c4378c99cc4da45b3ff7671cdde8/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Project Member

Comment 13 by bugdroid1@chromium.org, May 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e3aede8b82bc67aa19bd567a35a90c058f23cb6e

commit e3aede8b82bc67aa19bd567a35a90c058f23cb6e
Author: rouslan <rouslan@chromium.org>
Date: Wed May 11 00:40:18 2016

Reland: Test dismissing CVC prompt for PaymentRequest

This is an integration test for PaymentRequest that performs the
following steps:
1) Launch PaymentRequest UI.
2) Click "Pay" in PaymentRequest UI.
3) Click "Cancel" in CVC prompt.
4) Click "OK" to dismiss the result dialog.

Originally landed in:
https://crrev.com/ae3e707b1e771518538a8f12de5cdf88e0aef865

Consequently reverted in:
https://crrev.com/ce49849aadf7c4378c99cc4da45b3ff7671cdde8
due to a StrictMode violation.

Investigations into StrictMode errors seems to point to unclosed Mojo
pipe on shutdown. As a result, this patch adds explicit Mojo pipe
closing to the Java implementation of PaymentRequest service.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1964243002
Cr-Commit-Position: refs/heads/master@{#392789}

[modify] https://crrev.com/e3aede8b82bc67aa19bd567a35a90c058f23cb6e/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/e3aede8b82bc67aa19bd567a35a90c058f23cb6e/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/e3aede8b82bc67aa19bd567a35a90c058f23cb6e/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[modify] https://crrev.com/e3aede8b82bc67aa19bd567a35a90c058f23cb6e/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Still happens:

7.206s run_tests_on_device(0a9c766f43e4b967)  detected failure in org.chromium.chrome.browser.payments.PaymentRequestNoShippingTest#testPayAndCancelDialog. raw output:
I  497.206s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: numtests=1
I  497.206s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: stream=
I  497.206s run_tests_on_device(0a9c766f43e4b967)    org.chromium.chrome.browser.payments.PaymentRequestNoShippingTest:
I  497.207s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: id=InstrumentationTestRunner
I  497.207s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: test=testPayAndCancelDialog
I  497.207s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: class=org.chromium.chrome.browser.payments.PaymentRequestNoShippingTest
I  497.207s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: current=1
I  497.207s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS_CODE: 1
I  497.207s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: test=testPayAndCancelDialog
I  497.207s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: class=org.chromium.chrome.test.ChromeActivityTestCaseBase$ChromeUncaughtExceptionHandler
I  497.208s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS: stack=android.os.StrictMode$StrictModeViolation: policy=2655 violation=2
I  497.208s run_tests_on_device(0a9c766f43e4b967)    	at android.os.StrictMode.executeDeathPenalty(StrictMode.java:1377)
I  497.208s run_tests_on_device(0a9c766f43e4b967)    	at android.os.StrictMode.access$1300(StrictMode.java:116)
I  497.208s run_tests_on_device(0a9c766f43e4b967)    	at android.os.StrictMode$AndroidBlockGuardPolicy.handleViolation(StrictMode.java:1370)
I  497.208s run_tests_on_device(0a9c766f43e4b967)    	at android.os.StrictMode$AndroidBlockGuardPolicy$1.run(StrictMode.java:1252)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at android.os.Handler.handleCallback(Handler.java:733)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at android.os.Handler.dispatchMessage(Handler.java:95)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at android.os.Looper.loop(Looper.java:136)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at android.app.ActivityThread.main(ActivityThread.java:5017)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at java.lang.reflect.Method.invokeNative(Native Method)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at java.lang.reflect.Method.invoke(Method.java:515)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    	at dalvik.system.NativeStart.main(Native Method)
I  497.209s run_tests_on_device(0a9c766f43e4b967)    
I  497.209s run_tests_on_device(0a9c766f43e4b967)    Search logcat for "StrictMode policy violation" for full stack.
I  497.209s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_STATUS_CODE: -1
I  497.209s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_RESULT: shortMsg=android.os.StrictMode$StrictModeViolation
I  497.210s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_RESULT: longMsg=android.os.StrictMode$StrictModeViolation: policy=2655 violation=2
I  497.210s run_tests_on_device(0a9c766f43e4b967)    INSTRUMENTATION_CODE: 0

https://build.chromium.org/p/chromium.linux/builders/Android%20GN/builds/34219/steps/Instrumentation%20test%20chrome_public_test_apk/logs/stdio

https://build.chromium.org/p/chromium.linux/builders/Android%20GN/builds/34219
Project Member

Comment 15 by bugdroid1@chromium.org, May 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6982fd4a1d9a76f7a9cd3f3fc8a053a699b1d21a

commit 6982fd4a1d9a76f7a9cd3f3fc8a053a699b1d21a
Author: rouslan <rouslan@chromium.org>
Date: Wed May 11 02:53:37 2016

Revert of Reland: Test dismissing CVC prompt for PaymentRequest (patchset #1 id:1 of https://codereview.chromium.org/1964243002/ )

Reason for revert:
Fails on Android GN with Strict Mode violation.

https://build.chromium.org/p/chromium.linux/builders/Android%20GN/builds/34219

Original issue's description:
> Reland: Test dismissing CVC prompt for PaymentRequest
>
> This is an integration test for PaymentRequest that performs the
> following steps:
> 1) Launch PaymentRequest UI.
> 2) Click "Pay" in PaymentRequest UI.
> 3) Click "Cancel" in CVC prompt.
> 4) Click "OK" to dismiss the result dialog.
>
> Originally landed in:
> https://crrev.com/ae3e707b1e771518538a8f12de5cdf88e0aef865
>
> Consequently reverted in:
> https://crrev.com/ce49849aadf7c4378c99cc4da45b3ff7671cdde8
> due to a StrictMode violation.
>
> Investigations into StrictMode errors seems to point to unclosed Mojo
> pipe on shutdown. As a result, this patch adds explicit Mojo pipe
> closing to the Java implementation of PaymentRequest service.
>
> BUG= 608223 
>
> Committed: https://crrev.com/e3aede8b82bc67aa19bd567a35a90c058f23cb6e
> Cr-Commit-Position: refs/heads/master@{#392789}

TBR=dfalcantara@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 608223 

Review-Url: https://codereview.chromium.org/1971603003
Cr-Commit-Position: refs/heads/master@{#392837}

[modify] https://crrev.com/6982fd4a1d9a76f7a9cd3f3fc8a053a699b1d21a/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/6982fd4a1d9a76f7a9cd3f3fc8a053a699b1d21a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/6982fd4a1d9a76f7a9cd3f3fc8a053a699b1d21a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[modify] https://crrev.com/6982fd4a1d9a76f7a9cd3f3fc8a053a699b1d21a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Cc: wnwen@chromium.org
The test actually passed on the 3rd retry, so StrictMode detection seems flaky.

+wnwen@ fyi

Comment 17 Deleted

Hazzah! We have a sensible stack!

bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode: StrictMode policy violation; ~duration=26 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=2655 violation=2
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1135)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at libcore.io.BlockGuardOs.open(BlockGuardOs.java:106)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at libcore.io.IoBridge.open(IoBridge.java:393)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at libcore.io.IoUtils$FileReader.<init>(IoUtils.java:207)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at libcore.io.IoUtils.readFileAsString(IoUtils.java:114)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at java.util.TimeZone.getDefault(TimeZone.java:143)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at java.util.GregorianCalendar.<init>(GregorianCalendar.java:231)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at java.util.Calendar.getInstance(Calendar.java:960)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.autofill.CardUnmaskPrompt.<init>(CardUnmaskPrompt.java:167)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.autofill.CardUnmaskPrompt.create(CardUnmaskPrompt.java:119)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.autofill.CardUnmaskBridge.<init>(CardUnmaskBridge.java:41)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.autofill.CardUnmaskBridge.create(CardUnmaskBridge.java:52)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.autofill.PersonalDataManager.nativeGetFullCardForPaymentRequest(Native Method)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.autofill.PersonalDataManager.getFullCard(PersonalDataManager.java:546)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.payments.AutofillPaymentInstrument.getDetails(AutofillPaymentInstrument.java:53)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.payments.PaymentRequestImpl.onPayClicked(PaymentRequestImpl.java:485)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.payments.ui.PaymentRequestUI.onClick(PaymentRequestUI.java:456)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at android.view.View.performClick(View.java:4438)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at org.chromium.chrome.browser.payments.PaymentRequestTestBase$2.run(PaymentRequestTestBase.java:94)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at java.util.concurrent.FutureTask.run(FutureTask.java:237)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at android.os.Handler.handleCallback(Handler.java:733)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at android.os.Handler.dispatchMessage(Handler.java:95)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at android.os.Looper.loop(Looper.java:136)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at android.app.ActivityThread.main(ActivityThread.java:5017)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at java.lang.reflect.Method.invokeNative(Native Method)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at java.lang.reflect.Method.invoke(Method.java:515)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
bc1ad:  05-11 02:40:57.679 25783 25783 D StrictMode:  at dalvik.system.NativeStart.main(Native Method)
Similar to http://crbug.com/577185 , also caused by calendar.
Possible fix in http://crrev.com/1964323002

Comment 21 by wnwen@chromium.org, May 11 2016

Horray! Looks like that's it.

Any ideas on why this couldn't be repro'ed/hit locally?
No idea about local repro/hit, sorry.
Project Member

Comment 23 by bugdroid1@chromium.org, May 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c6238be63b4b82c5442d3d20c3cf6ab8d9acc477

commit c6238be63b4b82c5442d3d20c3cf6ab8d9acc477
Author: rouslan <rouslan@chromium.org>
Date: Wed May 11 18:11:58 2016

Reland: Test dismissing CVC prompt for PaymentRequest

This is an integration test for PaymentRequest that performs the
following steps:
1) Launch PaymentRequest UI.
2) Click "Pay" in PaymentRequest UI.
3) Click "Cancel" in CVC prompt.
4) Click "OK" to dismiss the result dialog.

Originally landed in:
https://crrev.com/e3aede8b82bc67aa19bd567a35a90c058f23cb6e

Consequently reverted in:
https://crrev.com/6982fd4a1d9a76f7a9cd3f3fc8a053a699b1d21a
due to a StrictMode violation from Calendar.getInstance() reading the
/etc/timezone file.

This patch places the timezone reading into an AsyncTask to avoid disk
IO on the UI thread.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1964323002
Cr-Commit-Position: refs/heads/master@{#392989}

[modify] https://crrev.com/c6238be63b4b82c5442d3d20c3cf6ab8d9acc477/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java
[modify] https://crrev.com/c6238be63b4b82c5442d3d20c3cf6ab8d9acc477/chrome/android/java/src/org/chromium/chrome/browser/payments/PaymentRequestImpl.java
[modify] https://crrev.com/c6238be63b4b82c5442d3d20c3cf6ab8d9acc477/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/c6238be63b4b82c5442d3d20c3cf6ab8d9acc477/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[modify] https://crrev.com/c6238be63b4b82c5442d3d20c3cf6ab8d9acc477/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Project Member

Comment 24 by bugdroid1@chromium.org, May 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/029f181aa989cb3ac24b95249c4d9d7e9e43fcbe

commit 029f181aa989cb3ac24b95249c4d9d7e9e43fcbe
Author: rouslan <rouslan@chromium.org>
Date: Thu May 12 01:38:14 2016

Add maximum-scale=1 to PaymentRequest test page.

This patch should reduce flakiness on some bots due to the page not
scaling to 1.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1967283003
Cr-Commit-Position: refs/heads/master@{#393139}

[modify] https://crrev.com/029f181aa989cb3ac24b95249c4d9d7e9e43fcbe/chrome/test/data/android/payments/payment_request_no_shipping_test.html

Project Member

Comment 25 by bugdroid1@chromium.org, May 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b69ca0ffb125e2cf90a60e047ae6fa949866e567

commit b69ca0ffb125e2cf90a60e047ae6fa949866e567
Author: rouslan <rouslan@chromium.org>
Date: Thu May 12 02:54:36 2016

Paying for digital goods with PaymentRequest

This is an integration test for PaymentRequest that performs the
following steps.
  1) Launch PaymentRequest
  2) Click [PAY]
  3) Type "123"
  4) Click [CONTINUE]

The test verifies that the webpage has received the user's payment
information.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1973753002
Cr-Commit-Position: refs/heads/master@{#393162}

[modify] https://crrev.com/b69ca0ffb125e2cf90a60e047ae6fa949866e567/chrome/android/java/src/org/chromium/chrome/browser/autofill/CardUnmaskPrompt.java
[modify] https://crrev.com/b69ca0ffb125e2cf90a60e047ae6fa949866e567/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestNoShippingTest.java
[modify] https://crrev.com/b69ca0ffb125e2cf90a60e047ae6fa949866e567/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java

Project Member

Comment 26 by bugdroid1@chromium.org, May 12 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/858186d3dff8be784dd9e7382dff887fd76e33af

commit 858186d3dff8be784dd9e7382dff887fd76e33af
Author: rouslan <rouslan@chromium.org>
Date: Thu May 12 04:29:33 2016

Test purchases with free shipping.

This is an integration test for PaymentRequest that performs the
following steps:
1) Launch PaymentRequest
2) Click [PAY]
3) Type "123"
4) Click [CONTINUE]

The test verifies that the webpage receives the user's shipping address
and payment information.

BUG= 608223 

Review-Url: https://codereview.chromium.org/1968333002
Cr-Commit-Position: refs/heads/master@{#393183}

[modify] https://crrev.com/858186d3dff8be784dd9e7382dff887fd76e33af/chrome/android/java_sources.gni
[modify] https://crrev.com/858186d3dff8be784dd9e7382dff887fd76e33af/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/AutofillTestHelper.java
[add] https://crrev.com/858186d3dff8be784dd9e7382dff887fd76e33af/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestFreeShippingTest.java
[add] https://crrev.com/858186d3dff8be784dd9e7382dff887fd76e33af/chrome/test/data/android/payments/payment_request_free_shipping_test.html

Project Member

Comment 28 by bugdroid1@chromium.org, May 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/42327e1350a6dfad908a708676857c4b37ecd69f

commit 42327e1350a6dfad908a708676857c4b37ecd69f
Author: rouslan <rouslan@chromium.org>
Date: Sun May 29 21:20:51 2016

PaymentRequest integration test for dynamic shipping

Tests that the UI prompts the user to select a shipping address, if the
merchant requires the shipping address to calculate the shipping price.

BUG= 608223 

Review-Url: https://codereview.chromium.org/2018203002
Cr-Commit-Position: refs/heads/master@{#396661}

[modify] https://crrev.com/42327e1350a6dfad908a708676857c4b37ecd69f/chrome/android/java/res/values/ids.xml
[modify] https://crrev.com/42327e1350a6dfad908a708676857c4b37ecd69f/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestSection.java
[modify] https://crrev.com/42327e1350a6dfad908a708676857c4b37ecd69f/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java
[modify] https://crrev.com/42327e1350a6dfad908a708676857c4b37ecd69f/chrome/android/java_sources.gni
[add] https://crrev.com/42327e1350a6dfad908a708676857c4b37ecd69f/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestDynamicShippingSingleAddressTest.java
[modify] https://crrev.com/42327e1350a6dfad908a708676857c4b37ecd69f/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestTestBase.java
[add] https://crrev.com/42327e1350a6dfad908a708676857c4b37ecd69f/chrome/test/data/android/payments/dynamic_shipping.js
[add] https://crrev.com/42327e1350a6dfad908a708676857c4b37ecd69f/chrome/test/data/android/payments/payment_request_dynamic_shipping_test.html

Comment 29 by wnwen@chromium.org, May 30 2016

Cc: -wnwen@chromium.org
PaymentRequestDynamicShippingSingleAddressTest#testAddressNotSelected seems to have flaked at https://uberchromegw.corp.google.com/i/chromium.linux/builders/Android%20Tests%20%28dbg%29/builds/34699
That's a very strange stack:

detected failure in org.chromium.chrome.browser.payments.PaymentRequestDynamicShippingSingleAddressTest#testAddressNotSelected. raw output:
  INSTRUMENTATION_RESULT: stream=
  Test results for ChromeInstrumentationTestRunner=Test run aborted due to unexpected exception: null
  java.lang.ExceptionInInitializerError
    at org.chromium.base.ContextUtils.getAppSharedPreferences(ContextUtils.java:89)
    at org.chromium.sync.signin.ChromeSigninController.getSignedInAccountName(ChromeSigninController.java:70)
    at org.chromium.sync.signin.ChromeSigninController.getSignedInUser(ChromeSigninController.java:50)
    at org.chromium.sync.signin.ChromeSigninController.<init>(ChromeSigninController.java:31)
    at org.chromium.sync.signin.ChromeSigninController.get(ChromeSigninController.java:43)
    at org.chromium.chrome.test.util.parameters.AddFakeAccountToAppParameter.<init>(AddFakeAccountToAppParameter.java:35)
    at org.chromium.chrome.test.ChromeActivityTestCaseBase.createAvailableParameters(ChromeActivityTestCaseBase.java:772)
    at org.chromium.base.test.BaseActivityInstrumentationTestCase.setParameterReader(BaseActivityInstrumentationTestCase.java:76)
    at org.chromium.base.test.BaseTestResult.runParameterized(BaseTestResult.java:141)
    at org.chromium.base.test.BaseTestResult.run(BaseTestResult.java:124)
    at junit.framework.TestCase.run(TestCase.java:124)
    at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
    at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
    at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
    at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
  Caused by: java.lang.NullPointerException
    at android.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:374)
    at android.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:369)
    at org.chromium.base.ContextUtils.fetchAppSharedPreferences(ContextUtils.java:78)
    at org.chromium.base.ContextUtils.access$000(ContextUtils.java:17)
    at org.chromium.base.ContextUtils$Holder.<clinit>(ContextUtils.java:26)

Labels: M-54
Project Member

Comment 33 by bugdroid1@chromium.org, Jun 20 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/376650fbafe88c3616b3401681f4a51521e13fb5

commit 376650fbafe88c3616b3401681f4a51521e13fb5
Author: rouslan <rouslan@chromium.org>
Date: Mon Jun 20 22:40:22 2016

Make PaymentRequest.abort() integration tests reliable.

PaymentRequest.abort() integration tests could fail on smaller Android
screens, because DOMUtils.clickNode() is unable to click on buttons that
are outside of the view window.

The abort integration test was using two buttons: [buy] and [abort], one
above the other. When the CVC entry was showing, the keyboard was hiding
the bottom part of the page, where [abort] button resides. Thus
DOMUtils.clickNode() was unable to to click the [abort] button for the
test.

This does not happen on the build bots.

BUG= 608223 

Review-Url: https://codereview.chromium.org/2070913002
Cr-Commit-Position: refs/heads/master@{#400815}

[modify] https://crrev.com/376650fbafe88c3616b3401681f4a51521e13fb5/chrome/test/data/android/payments/payment_request_abort_test.html

Labels: -M-54
Status: Assigned (was: Started)

Comment 36 by ma...@chromium.org, Jun 27 2017

Mark as fixed?
Status: Fixed (was: Assigned)
Components: -UI>Browser>Autofill>Payments UI>Browser>Payments

Sign in to add a comment