-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
JDK-8316559: Refactor some util/Calendar tests to JUnit #15853
JDK-8316559: Refactor some util/Calendar tests to JUnit #15853
Conversation
👋 Welcome back jlu! A progress list of the required criteria for merging this PR into |
@justin-curtis-lu The following labels will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
*/ | ||
|
||
import java.util.GregorianCalendar; | ||
|
||
@SuppressWarnings("serial") |
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.
Is removing this OK?
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.
At first I thought so, there is no warning about a missing serialVersionUID when the SuppressWarnings annotation is removed, and IntelliJ actually flags the annotation as redundant. But since it was added separately and intentionally in JDK-8165296, I would rather leave it alone on second thought.
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.
Not sure why IntelliJ claims it redundant, but compiling the test case alone, without that @SuppressWarnings
with -Xlint
gives me this:
warning: [serial] serializable class MyCalendar has no definition of serialVersionUID
|
||
public class bug4028518 { | ||
|
||
public static void main(String[] args) | ||
{ | ||
// Ensure modifying cloned gregCalendar does not modify the original |
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.
Seems that the comment is saying the other way around
void setUp() { | ||
Locale.setDefault(Locale.US); | ||
TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")); |
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.
If the test is not going to restore the original defaults with tearDown()
, I'd expect othervm
explicitly on @run
directive. (applies to other locations)
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.
Thanks for correcting that, I had a misconception that JUnit would be ran with an independent JVM (not potentially reused), which is why I removed the saving of the default TZ and Locale. Adjusted so that they are preserved and reset with a tearDown() method.
|
||
@Test | ||
public void serializationTest() throws IOException, ClassNotFoundException { | ||
TimeZone.setDefault(TimeZone.getTimeZone("PST")); |
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.
Not needed?
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.
Missed that, thank you.
// Test the overloaded set() methods. Check year value. | ||
@Test | ||
public void buddhistSetTest() { | ||
Calendar cal = getBuddhistCalendar(); |
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.
Calendar cal = getBuddhistCalendar(); | |
Calendar cal = getBuddhistCalendar(); |
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.
Fixed, thank you.
@justin-curtis-lu This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 137 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
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.
Overall, this is fine.
I would like to suggest comments to introduce all tests and DataProviders. Extra credit for helper methods.
From a future maintainers Point of view, having more info in the tests is beneficial.
Thanks for reviewing Lance. Agreed, there's been times where I've wished there was more context in the test file itself, rather than having to navigate to the JBS issue or older diffs for more info. Updated to have comments for tests, data providers, and helper methods as you suggested (will do the same for future JUnit conversions). |
Renaming the files messes up the version history. This reverts commit a65b309.
/integrate |
Going to push as commit 355811a.
Your commit was automatically rebased without conflicts. |
@justin-curtis-lu Pushed as commit 355811a. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Please review this PR which converts some tests under Calendar to use JUnit. These tests either previously used the internal IntlTest, or used no framework at all.
Any files named BugXXXXXXX.java will be renamed after review.
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/15853/head:pull/15853
$ git checkout pull/15853
Update a local copy of the PR:
$ git checkout pull/15853
$ git pull https://git.openjdk.org/jdk.git pull/15853/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 15853
View PR using the GUI difftool:
$ git pr show -t 15853
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/15853.diff
Webrev
Link to Webrev Comment