[jira] [Updated] (IGNITE-11323) Reduce boilerplate "System.setProperty" code in tests
[ https://issues.apache.org/jira/browse/IGNITE-11323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Mashenkov updated IGNITE-11323: -- Labels: MakeTeamcityGreenAgain (was: JUnit) > Reduce boilerplate "System.setProperty" code in tests > - > > Key: IGNITE-11323 > URL: https://issues.apache.org/jira/browse/IGNITE-11323 > Project: Ignite > Issue Type: Test >Reporter: Ivan Bessonov >Assignee: Ivan Bessonov >Priority: Major > Labels: MakeTeamcityGreenAgain > Fix For: 2.8 > > Time Spent: 10m > Remaining Estimate: 0h > > There are many examples in tests where some property gets new value in > "beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets > its previous value in "afterTestsStopped"/"afterTest"/"finally block of test > method". This approach leads to excessive code that can be avoided. > I suggest implementing annotation "WithSystemProperty" (name is the subject > to discussion) that will allow us to write this: > {code:java} > @Test > @WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value > = "true") > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > ... > } > {code} > instead of this: > {code:java} > @Test > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > String backup = > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true"); > try { > ... > } > finally { > if (backup != null) > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, > backup); > else > System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK); > } > } > {code} > > There also has to be ability to use this annotation on test class so new > value of system properties will be used in all of its test methods. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-11323) Reduce boilerplate "System.setProperty" code in tests
[ https://issues.apache.org/jira/browse/IGNITE-11323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Mashenkov updated IGNITE-11323: -- Labels: JUnit (was: ) > Reduce boilerplate "System.setProperty" code in tests > - > > Key: IGNITE-11323 > URL: https://issues.apache.org/jira/browse/IGNITE-11323 > Project: Ignite > Issue Type: Test >Reporter: Ivan Bessonov >Assignee: Ivan Bessonov >Priority: Major > Labels: JUnit > Fix For: 2.8 > > Time Spent: 10m > Remaining Estimate: 0h > > There are many examples in tests where some property gets new value in > "beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets > its previous value in "afterTestsStopped"/"afterTest"/"finally block of test > method". This approach leads to excessive code that can be avoided. > I suggest implementing annotation "WithSystemProperty" (name is the subject > to discussion) that will allow us to write this: > {code:java} > @Test > @WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value > = "true") > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > ... > } > {code} > instead of this: > {code:java} > @Test > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > String backup = > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true"); > try { > ... > } > finally { > if (backup != null) > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, > backup); > else > System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK); > } > } > {code} > > There also has to be ability to use this annotation on test class so new > value of system properties will be used in all of its test methods. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-11323) Reduce boilerplate "System.setProperty" code in tests
[ https://issues.apache.org/jira/browse/IGNITE-11323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dmitriy Govorukhin updated IGNITE-11323: Fix Version/s: 2.8 > Reduce boilerplate "System.setProperty" code in tests > - > > Key: IGNITE-11323 > URL: https://issues.apache.org/jira/browse/IGNITE-11323 > Project: Ignite > Issue Type: Test >Reporter: Ivan Bessonov >Assignee: Ivan Bessonov >Priority: Major > Fix For: 2.8 > > Time Spent: 10m > Remaining Estimate: 0h > > There are many examples in tests where some property gets new value in > "beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets > its previous value in "afterTestsStopped"/"afterTest"/"finally block of test > method". This approach leads to excessive code that can be avoided. > I suggest implementing annotation "WithSystemProperty" (name is the subject > to discussion) that will allow us to write this: > {code:java} > @Test > @WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value > = "true") > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > ... > } > {code} > instead of this: > {code:java} > @Test > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > String backup = > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true"); > try { > ... > } > finally { > if (backup != null) > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, > backup); > else > System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK); > } > } > {code} > > There also has to be ability to use this annotation on test class so new > value of system properties will be used in all of its test methods. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (IGNITE-11323) Reduce boilerplate "System.setProperty" code in tests
[ https://issues.apache.org/jira/browse/IGNITE-11323?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ivan Bessonov updated IGNITE-11323: --- Description: There are many examples in tests where some property gets new value in "beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets its previous value in "afterTestsStopped"/"afterTest"/"finally block of test method". This approach leads to excessive code that can be avoided. I suggest implementing annotation "WithSystemProperty" (name is the subject to discussion) that will allow us to write this: {code:java} @Test @WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value = "true") public void testSkipCheckConsistencyFlagEnabled() throws Exception { ... } {code} instead of this: {code:java} @Test public void testSkipCheckConsistencyFlagEnabled() throws Exception { String backup = System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true"); try { ... } finally { if (backup != null) System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, backup); else System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK); } } {code} There also has to be ability to use this annotation on test class so new value of system properties will be used in all of its test methods. was: There are many examples in tests where some property gets new value in "beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets its previous value in "afterTestsStopped"/"afterTest"/"finally block of test method". This approach leads to excessive code that can be avoided. I suggest implementing annotation "WithSystemProperty" (name is the subject to discussion) that will allow us to write this: {code:java} @Test @WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value = "true") public void testSkipCheckConsistencyFlagEnabled() throws Exception { ... } {code} instead of this: {code:java} @Test public void testSkipCheckConsistencyFlagEnabled() throws Exception { String backup = System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true"); try { ... } finally { if (backup != null) System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, backup); else System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK); } } {code} There's also has to be ability to use this annotation on test class so new value of system properties will be used in all of its test methods. > Reduce boilerplate "System.setProperty" code in tests > - > > Key: IGNITE-11323 > URL: https://issues.apache.org/jira/browse/IGNITE-11323 > Project: Ignite > Issue Type: Test >Reporter: Ivan Bessonov >Assignee: Ivan Bessonov >Priority: Major > > There are many examples in tests where some property gets new value in > "beforeTestsStarted"/"beforeTest"/"beginning of test method" and then gets > its previous value in "afterTestsStopped"/"afterTest"/"finally block of test > method". This approach leads to excessive code that can be avoided. > I suggest implementing annotation "WithSystemProperty" (name is the subject > to discussion) that will allow us to write this: > {code:java} > @Test > @WithSystemProperty(key = IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, value > = "true") > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > ... > } > {code} > instead of this: > {code:java} > @Test > public void testSkipCheckConsistencyFlagEnabled() throws Exception { > String backup = > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, "true"); > try { > ... > } > finally { > if (backup != null) > System.setProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK, > backup); > else > System.clearProperty(IGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK); > } > } > {code} > > There also has to be ability to use this annotation on test class so new > value of system properties will be used in all of its test methods. -- This message was sent by Atlassian JIRA (v7.6.3#76005)