Skip to content

Conversation

id4us
Copy link
Contributor

@id4us id4us commented May 23, 2019

Bug fix for (#860 )

  • fixed the failing tests for twin pattern

Pull request description

  • removed the timeout from VerificationMode passed to mockito verify method. This timeout was cause for failure. It seemed redundant as well, as there is a timeout on the test itself.
  • Also, the tests were failing because the ballThread.start wasn't getting started fast enough and the Mockito verify gets called before the thread initialization.

@alonsoir
Copy link

alonsoir commented May 24, 2019

Test is not passed.

~/j/twin> java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
aironman@MacBook-Pro-Retina-de-Alonso ~/j/twin>

~/java-design-patterns> cd twin/
aironman@MacBook-Pro-Retina-de-Alonso ~/j/twin> mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] -------------------------< com.iluwatar:twin >--------------------------
[INFO] Building twin 1.21.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-checkstyle-plugin:2.17:check (validate) @ twin ---
[INFO] Starting audit...
Audit done.
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.2.201409121644:prepare-agent (prepare-agent) @ twin ---
[INFO] argLine set to -javaagent:/Users/aironman/.m2/repository/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644-runtime.jar=destfile=/Users/aironman/java-design-patterns/twin/target/jacoco.exec
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ twin ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/aironman/java-design-patterns/twin/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ twin ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to /Users/aironman/java-design-patterns/twin/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ twin ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/aironman/java-design-patterns/twin/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.0:testCompile (default-testCompile) @ twin ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 3 source files to /Users/aironman/java-design-patterns/twin/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ twin ---


T E S T S

Running com.iluwatar.twin.AppTest
13:09:29.057 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:09:29.061 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:09:29.061 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:09:29.316 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:09:29.316 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:09:29.316 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:09:29.571 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:09:29.572 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:09:29.572 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:09:29.810 [main] INFO com.iluwatar.twin.BallThread - Begin to suspend BallThread
13:09:30.565 [main] INFO com.iluwatar.twin.BallThread - Begin to resume BallThread
13:09:30.587 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:09:30.588 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:09:30.588 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:09:30.843 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:09:30.843 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:09:30.843 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:09:31.098 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:09:31.099 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:09:31.099 [Thread-2] INFO com.iluwatar.twin.BallItem - move
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.387 sec - in com.iluwatar.twin.AppTest
Running com.iluwatar.twin.BallItemTest
13:09:31.533 [main] INFO com.iluwatar.twin.BallItem - move
LOGBACK: No context given for com.iluwatar.twin.BallItemTest$InMemoryAppender[null]
13:09:31.540 [main] INFO com.iluwatar.twin.GameItem - draw
LOGBACK: No context given for com.iluwatar.twin.BallItemTest$InMemoryAppender[null]
13:09:31.541 [main] INFO com.iluwatar.twin.BallItem - doDraw
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.203 sec - in com.iluwatar.twin.BallItemTest
Running com.iluwatar.twin.BallThreadTest
13:09:31.566 [main] INFO com.iluwatar.twin.BallThread - Begin to suspend BallThread
LOGBACK: No context given for com.iluwatar.twin.BallItemTest$InMemoryAppender[null]
13:09:32.568 [main] INFO com.iluwatar.twin.BallThread - Begin to resume BallThread
Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.041 sec <<< FAILURE! - in com.iluwatar.twin.BallThreadTest
testResume() Time elapsed: 1.019 sec <<< ERROR!
java.lang.VerifyError: (class: org/mockito/internal/verification/VerificationOverTimeImpl, method: verify signature: (Lorg/mockito/internal/verification/api/VerificationData;)V) Incompatible argument to function
at com.iluwatar.twin.BallThreadTest.lambda$testResume$1(BallThreadTest.java:91)
at com.iluwatar.twin.BallThreadTest.testResume(BallThreadTest.java:77)

testSuspend() Time elapsed: 0.001 sec <<< ERROR!
java.lang.VerifyError: (class: org/mockito/internal/verification/VerificationOverTimeImpl, method: verify signature: (Lorg/mockito/internal/verification/api/VerificationData;)V) Incompatible argument to function
at com.iluwatar.twin.BallThreadTest.lambda$testSuspend$0(BallThreadTest.java:59)
at com.iluwatar.twin.BallThreadTest.testSuspend(BallThreadTest.java:51)

Results :

Tests in error:
BallThreadTest.testResume:77->lambda$testResume$1:91 » Verify (class: org/mock...
BallThreadTest.testSuspend:51->lambda$testSuspend$0:59 » Verify (class: org/mo...

Tests run: 7, Failures: 0, Errors: 2, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.602 s
[INFO] Finished at: 2019-05-24T13:09:33+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project twin: There are test failures.
[ERROR]
[ERROR] Please refer to /Users/aironman/java-design-patterns/twin/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
aironman@MacBook-Pro-Retina-de-Alonso ~/j/twin>

@id4us
Copy link
Contributor Author

id4us commented May 24, 2019

@alonsoir : could you please check the changes for the pull request are merged on your local environment. It is odd that I don't see the issue after the fix.

Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
bash-3.2$ mvn package
[INFO] Scanning for projects...
[INFO] 
[INFO] -------------------------< com.iluwatar:twin >--------------------------
[INFO] Building twin 1.20.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-checkstyle-plugin:2.17:check (validate) @ twin ---
[INFO] Starting audit...
Audit done.
[INFO] 
[INFO] --- jacoco-maven-plugin:0.7.2.201409121644:prepare-agent (prepare-agent) @ twin ---
[INFO] argLine set to -javaagent:/Users/sethishi/.m2/repository/org/jacoco/org.jacoco.agent/0.7.2.201409121644/org.jacoco.agent-0.7.2.201409121644-runtime.jar=destfile=/Users/sethishi/Documents/pworkspace/java-design-patterns/twin/target/jacoco.exec
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ twin ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/sethishi/Documents/pworkspace/java-design-patterns/twin/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ twin ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to /Users/sethishi/Documents/pworkspace/java-design-patterns/twin/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ twin ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/sethishi/Documents/pworkspace/java-design-patterns/twin/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.0:testCompile (default-testCompile) @ twin ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 3 source files to /Users/sethishi/Documents/pworkspace/java-design-patterns/twin/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ twin ---

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.iluwatar.twin.AppTest
13:50:56.587 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:50:56.591 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:50:56.591 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:50:56.842 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:50:56.842 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:50:56.842 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:50:57.095 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:50:57.096 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:50:57.096 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:50:57.339 [main] INFO com.iluwatar.twin.BallThread - Begin to suspend BallThread
13:50:58.093 [main] INFO com.iluwatar.twin.BallThread - Begin to resume BallThread
13:50:58.100 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:50:58.101 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:50:58.101 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:50:58.356 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:50:58.356 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:50:58.356 [Thread-2] INFO com.iluwatar.twin.BallItem - move
13:50:58.609 [Thread-2] INFO com.iluwatar.twin.GameItem - draw
13:50:58.610 [Thread-2] INFO com.iluwatar.twin.BallItem - doDraw
13:50:58.610 [Thread-2] INFO com.iluwatar.twin.BallItem - move
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.412 sec - in com.iluwatar.twin.AppTest
Running com.iluwatar.twin.BallItemTest
13:50:59.076 [main] INFO com.iluwatar.twin.BallItem - move
LOGBACK: No context given for com.iluwatar.twin.BallItemTest$InMemoryAppender[null]
13:50:59.086 [main] INFO com.iluwatar.twin.GameItem - draw
LOGBACK: No context given for com.iluwatar.twin.BallItemTest$InMemoryAppender[null]
13:50:59.087 [main] INFO com.iluwatar.twin.BallItem - doDraw
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.221 sec - in com.iluwatar.twin.BallItemTest
Running com.iluwatar.twin.BallThreadTest
13:50:59.122 [main] INFO com.iluwatar.twin.BallThread - Begin to suspend BallThread
LOGBACK: No context given for com.iluwatar.twin.BallItemTest$InMemoryAppender[null]
13:51:00.126 [main] INFO com.iluwatar.twin.BallThread - Begin to resume BallThread
13:51:00.592 [main] INFO com.iluwatar.twin.BallThread - Begin to suspend BallThread
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.561 sec - in com.iluwatar.twin.BallThreadTest

Results :

Tests run: 7, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ twin ---
[INFO] Building jar: /Users/sethishi/Documents/pworkspace/java-design-patterns/twin/target/twin-1.20.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  9.729 s
[INFO] Finished at: 2019-05-24T13:51:02+01:00
[INFO] ------------------------------------------------------------------------

@alonsoir
Copy link

Before compiling, I do a git pull to make sure I'm up to date, what's more, I even deleted the repository and made a git clone, but the problem persists.
I have tried to compile with jdk11 and jdk8, but in both versions there are errors with the tests.

I'll give you a pastebin with the output of my compilation.

@id4us
Copy link
Contributor Author

id4us commented May 28, 2019

@alonsoir the fix is not merged in the main code yet. are you doing a git pull on the master or checking pull request. could you confirm you have these changes 39e9b5b

@alonsoir
Copy link

I am doing a git pull on master branch from iluwatar.
I am going to do a checkout from your iluwatar:branch.

Ok, good news, twin project tests are passing, bad news because other project is failing.

@id4us
Copy link
Contributor Author

id4us commented Jun 16, 2019

@iluwatar could you please review the changes done for twin pattern.

@alonsoir
Copy link

No, still not working.

pastebin

@iluwatar iluwatar self-assigned this Jul 29, 2019
@iluwatar iluwatar added this to the 1.21.0 milestone Jul 29, 2019
@iluwatar iluwatar merged commit 36e80c4 into iluwatar:master Jul 29, 2019
@iluwatar
Copy link
Owner

Thanks @id4us 👍

hoangnam2261 pushed a commit to hoangnam2261/java-design-patterns that referenced this pull request Jul 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants