-
Notifications
You must be signed in to change notification settings - Fork 1.7k
fix(framework): fix SolidityNode shutdown and improve test quality #6655
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
f91c4a4
test(framework): fix test quality issues in framework unit tests
Little-Peony 73f7b45
test(plugins): fix test quality issues in plugins unit tests
Little-Peony e2791ed
test(actuator): remove obsolete moreThanFrozenNumber test in FreezeBa…
Little-Peony da3f072
test(framework): fix test cleanup and solidity node shutdown
Little-Peony ba66167
test(framework): replace bare Executors with ExecutorServiceManager a…
Little-Peony 2d53fd1
test(framework): unify app context fixtures in service tests
Little-Peony deca321
style(test): fix import order to satisfy checkstyle
Little-Peony 86e6ff9
chore(config): remove /.dev/ from .gitignore
Little-Peony 259ebe5
style(test): fix import order in SolidityNodeTest
Little-Peony de963b4
test(framework): use assertSame for exception identity check in Solid…
Little-Peony e119ff5
fix(net): guard relay nodes in peer connection
Little-Peony 46bc238
test(framework,plugins): fix flaky tests in bandwidth, stats and db-move
Little-Peony d6b5d1b
refactor(framework): promote relayNodes to instance field in PeerConn…
Little-Peony 74fb935
refactor(tvm): optimize energy cost calculation for vote witness opcode
yanghang8612 3f22472
fix(framework): replace while(true) with while(flag) in SolidityNode
Little-Peony 9afd976
fix(framework): add null/0 return after while(flag) loops in Solidity…
Little-Peony 0a6eece
fix(test): add comments
Little-Peony d66aba6
test(framework): address PR review comments on test code quality
Little-Peony c928e68
fix: use Assert.assertThrows to replace try/catch
Little-Peony d62242e
fix: pr review
Little-Peony 1fbcf9b
test(framework): replace Assert.fail with throws Exception in test me…
Little-Peony 1e16b42
test(framework): address PR review nits in BlockEventGetTest and Peer…
Little-Peony 2d89ad2
refactor(framework): address shutdown correctness issues from PR review
Little-Peony a15ab66
refactor(framework): address PR review nits from bladehan1
Little-Peony a1cb84e
refactor(net): revert relayNodes to local variable in setChannel
Little-Peony 3d60e7c
style(net): add empty line before setChannel method in PeerConnection
Little-Peony 30bb478
fix(backup): restore restart loop, fix channel visibility race only
Little-Peony a2c731a
fix(test): remove stale relayNodes field injection in PeerManagerTest
Little-Peony bb7c299
fix(test): fix flaky tests without changing production logic
Little-Peony a418fb8
fix(test): restore BackupServerTest to original intent with members a…
Little-Peony 6038488
ci: retrigger CI after network failure on runner
Little-Peony 4eb5804
Merge branch 'develop' into fix_tests_v2
Little-Peony 9105c7b
Merge branch 'develop' into fix_tests_v2
Little-Peony 7b99ba0
fix(test): add more test cases for SolidityNode.java to increase test…
Little-Peony File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
framework/src/test/java/org/tron/common/ClassLevelAppContextFixture.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,62 @@ | ||
| package org.tron.common; | ||
|
|
||
| import io.grpc.ManagedChannel; | ||
| import java.util.concurrent.TimeUnit; | ||
| import org.tron.common.application.ApplicationFactory; | ||
| import org.tron.common.application.TronApplicationContext; | ||
| import org.tron.core.config.DefaultConfig; | ||
|
|
||
| /** | ||
| * Shared class-level fixture for tests that manually manage a TronApplicationContext. | ||
| */ | ||
| public class ClassLevelAppContextFixture { | ||
|
|
||
| private TronApplicationContext context; | ||
|
|
||
| public TronApplicationContext createContext() { | ||
| context = new TronApplicationContext(DefaultConfig.class); | ||
| return context; | ||
| } | ||
|
|
||
| public TronApplicationContext createAndStart() { | ||
| createContext(); | ||
| startApp(); | ||
| return context; | ||
| } | ||
|
|
||
| public void startApp() { | ||
| ApplicationFactory.create(context).startup(); | ||
| } | ||
|
|
||
| public TronApplicationContext getContext() { | ||
| return context; | ||
| } | ||
|
|
||
| public void close() { | ||
| if (context != null) { | ||
| context.close(); | ||
| context = null; | ||
| } | ||
| } | ||
|
|
||
| public static void shutdownChannel(ManagedChannel channel) { | ||
| if (channel == null) { | ||
| return; | ||
| } | ||
| try { | ||
| channel.shutdown(); | ||
| if (!channel.awaitTermination(5, TimeUnit.SECONDS)) { | ||
| channel.shutdownNow(); | ||
| } | ||
| } catch (InterruptedException e) { | ||
| channel.shutdownNow(); | ||
| Thread.currentThread().interrupt(); | ||
| } | ||
| } | ||
|
|
||
| public static void shutdownChannels(ManagedChannel... channels) { | ||
| for (ManagedChannel channel : channels) { | ||
| shutdownChannel(channel); | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.