You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2019/06/06 16:33:57 UTC

[maven-shared-utils] 01/02: Load SUT class a little later

This is an automated email from the ASF dual-hosted git repository.

rfscholte pushed a commit to branch MSHARED-826
in repository https://gitbox.apache.org/repos/asf/maven-shared-utils.git

commit 102437f7346455d37c61d11b66614b9598444cc7
Author: Maarten Mulders <m....@xs4all.nl>
AuthorDate: Thu Jun 6 13:32:09 2019 +0200

    Load SUT class a little later
    
    This way, we can first change the system props
    and then interact with the SUT. This way, changing
    the static class fields is no longer needed.
---
 .../java/org/apache/maven/shared/utils/OsTest.java | 30 +---------------------
 1 file changed, 1 insertion(+), 29 deletions(-)

diff --git a/src/test/java/org/apache/maven/shared/utils/OsTest.java b/src/test/java/org/apache/maven/shared/utils/OsTest.java
index 051a930..7c2fd1f 100644
--- a/src/test/java/org/apache/maven/shared/utils/OsTest.java
+++ b/src/test/java/org/apache/maven/shared/utils/OsTest.java
@@ -47,58 +47,30 @@ public class OsTest
 
     @Before
     public void setUp()
-        throws Exception
     {
         origOsName = System.getProperty( "os.name" );
         origOsArch = System.getProperty( "os.arch" );
         origOsVersion = System.getProperty( "os.version" );
-        origOsFamily = Os.OS_FAMILY;
 
         // and now set some special settings ;)
         System.setProperty( "os.name"   , "os/2" );
         System.setProperty( "os.arch"   , "i386" );
         System.setProperty( "os.version", "2.1.32" );
 
-        // blow away the originally loaded values
-        setStaticOsField( "OS_NAME", "os/2" );
-        setStaticOsField( "OS_FAMILY", "os/2" );
-        setStaticOsField( "OS_ARCH", "i386" );
-        setStaticOsField( "OS_VERSION", "2.1.32" );
+        origOsFamily = Os.OS_FAMILY;
     }
 
     @After
     public void tearDown()
-        throws Exception
     {
         // set the original OS settings again
         System.setProperty( "os.name"   , origOsName );
         System.setProperty( "os.arch"   , origOsArch );
         System.setProperty( "os.version", origOsVersion );
-
-        // restore the originally loaded values
-        setStaticOsField( "OS_NAME", origOsName );
-        setStaticOsField( "OS_ARCH", origOsArch );
-        setStaticOsField( "OS_VERSION", origOsVersion );
-        setStaticOsField( "OS_FAMILY", origOsFamily );
     }
 
-    private void setStaticOsField( String variableName, Object value )
-        throws NoSuchFieldException, IllegalAccessException
-    {
-        Field field = Os.class.getField( variableName );
-
-        Field modifiersField = Field.class.getDeclaredField( "modifiers" );
-        modifiersField.setAccessible( true );
-        modifiersField.setInt( field, field.getModifiers() & ~Modifier.FINAL );
-
-        field.setAccessible( true );
-        field.set( null, value );
-    }
-
-
     @Test
     public void testConstructor()
-        throws Exception
     {
         Os os  = new Os();
         os.eval();