-
Notifications
You must be signed in to change notification settings - Fork 1.7k
test(framework): fix test quality issues #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
Open
Little-Peony
wants to merge
28
commits into
tronprotocol:develop
Choose a base branch
from
Little-Peony:fix_tests_v2
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
15a1d7b
test(framework): fix test quality issues in framework unit tests
Little-Peony 6964695
test(plugins): fix test quality issues in plugins unit tests
Little-Peony ec640a6
test(actuator): remove obsolete moreThanFrozenNumber test in FreezeBa…
Little-Peony 4316815
test(framework): fix test cleanup and solidity node shutdown
Little-Peony c4aac32
test(framework): replace bare Executors with ExecutorServiceManager a…
Little-Peony 0ac9b64
test(framework): unify app context fixtures in service tests
Little-Peony 890e9b8
style(test): fix import order to satisfy checkstyle
Little-Peony 1f063c3
chore(config): remove /.dev/ from .gitignore
Little-Peony 54e3802
style(test): fix import order in SolidityNodeTest
Little-Peony 0c22d0f
test(framework): use assertSame for exception identity check in Solid…
Little-Peony 56f17fe
fix(net): guard relay nodes in peer connection
Little-Peony 0e6bbbf
test(framework,plugins): fix flaky tests in bandwidth, stats and db-move
Little-Peony 49e656a
refactor(framework): promote relayNodes to instance field in PeerConn…
Little-Peony 4506ec9
refactor(tvm): optimize energy cost calculation for vote witness opcode
yanghang8612 d12d6df
fix(framework): replace while(true) with while(flag) in SolidityNode
Little-Peony 962bef3
fix(framework): add null/0 return after while(flag) loops in Solidity…
Little-Peony c91b8b1
fix(test): add comments
Little-Peony b6700a0
test(framework): address PR review comments on test code quality
Little-Peony 6731f1b
fix: use Assert.assertThrows to replace try/catch
Little-Peony b6ec6e1
fix: pr review
Little-Peony dbc6aba
test(framework): replace Assert.fail with throws Exception in test me…
Little-Peony 233e1b6
test(framework): address PR review nits in BlockEventGetTest and Peer…
Little-Peony b33b03c
refactor(framework): address shutdown correctness issues from PR review
Little-Peony 20b3a06
refactor(framework): address PR review nits from bladehan1
Little-Peony 214363f
refactor(net): revert relayNodes to local variable in setChannel
Little-Peony a63d603
style(net): add empty line before setChannel method in PeerConnection
Little-Peony b7f4c32
fix(backup): restore restart loop, fix channel visibility race only
Little-Peony 35bc7b1
fix(test): remove stale relayNodes field injection in PeerManagerTest
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
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 |
|---|---|---|
|
|
@@ -57,8 +57,6 @@ | |
| @Scope("prototype") | ||
| public class PeerConnection { | ||
|
|
||
| private static List<InetSocketAddress> relayNodes = Args.getInstance().getFastForwardNodes(); | ||
|
|
||
| @Getter | ||
| private PeerStatistics peerStatistics = new PeerStatistics(); | ||
|
|
||
|
|
@@ -166,7 +164,9 @@ public class PeerConnection { | |
|
|
||
| public void setChannel(Channel channel) { | ||
| this.channel = channel; | ||
| if (relayNodes.stream().anyMatch(n -> n.getAddress().equals(channel.getInetAddress()))) { | ||
| List<InetSocketAddress> relayNodes = Args.getInstance().getFastForwardNodes(); | ||
| if (relayNodes != null | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Under what circumstances would |
||
| && relayNodes.stream().anyMatch(n -> n.getAddress().equals(channel.getInetAddress()))) { | ||
| this.isRelayPeer = true; | ||
| } | ||
| this.nodeStatistics = TronStatsManager.getNodeStatistics(channel.getInetAddress()); | ||
|
|
||
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[SHOULD] This scenario won't exist in the runtime environment. If it's just for fixing unit tests, there's no need to change this logic; simply preventing the backup service from starting would suffice.