accumulo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dlmar...@comcast.net
Subject Re: Using powermock-api-mockito in tests?
Date Fri, 22 Mar 2013 01:50:47 GMT
I do think that the tests that use the MiniDFSCluster (anything that uses AccumuloDFSBase)
will fail on Windows. I had to use the following profile in the commons vfs package. Of course
the test names will be different here... 

<profile> 
<id>hdfs</id> 
<activation> 
<activeByDefault>false</activeByDefault> 
<os> 
<family>Windows</family> 
</os> 
</activation> 
<build> 
<plugins> 
<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-surefire-plugin</artifactId> 
<configuration> 
<excludes> 
<exclude>**/HdfsFileProviderTest.java</exclude> 
<exclude>**/HdfsFileProviderTestCase.java</exclude> 
</excludes> 
</configuration> 
</plugin> 
</plugins> 
</build> 
</profile> 


----- Original Message -----
From: "Dave Marion" <dlmarion@comcast.net> 
To: dev@accumulo.apache.org 
Sent: Thursday, March 21, 2013 7:11:11 PM 
Subject: RE: Using powermock-api-mockito in tests? 


The Hadoop MiniDFSCluster won't work on Windoze. He'll have to exclude most of the new classloader
tests from running on that platform. 

-----Original Message----- 
From: Josh Elser [mailto:josh.elser@gmail.com] 
Sent: Thursday, March 21, 2013 6:44 PM 
To: dev@accumulo.apache.org 
Subject: Re: Using powermock-api-mockito in tests? 

David is trying to build on Windows. 

On 03/21/2013 06:40 PM, Dave Marion wrote: 
> Out of curiosity, why do you say that " System.getenv() which breaks the tests in AccumuloVFSClassLoaderTest?"
It's worked fine for a while. What is different now? 
> 
> -- Dave 
> 
> -----Original Message----- 
> From: dlmarion@comcast.net [mailto:dlmarion@comcast.net] 
> Sent: Thursday, March 21, 2013 5:12 PM 
> To: dev@accumulo.apache.org 
> Subject: Re: Using powermock-api-mockito in tests? 
> 
> 
> 
> We can do it with PowerMock, no need to add Mockito. This should work, going from memory
here. I should be able to help when I get back to a computer if you have problems. 
> 
> 
> 
> //Mock the method 
> 
> PowerMock.mockStatic(System.class, System.class.getMethod("getenv")); 
> 
> 
> 
> //Invoke it 
> 
> Map<String, String> mockSystemProperties = new HashMap<String, String>();

> mockSystemProperties.put("ACCUMULO_HOME", System.getenv("HOME")); 
> EasyMock.expect(System.getenv()).andReturn(mockSystemProperties); 
> 
> 
> 
> ----- Original Message ----- 
> 
> 
> From: "David Medinets" <david.medinets@gmail.com> 
> To: "accumulo-dev" <dev@accumulo.apache.org> 
> Sent: Thursday, March 21, 2013 4:59:40 PM 
> Subject: Using powermock-api-mockito in tests? 
> 
> Is there any reason why I should not add a dependency in start/pom.xml to powermock-api-mockito?
With this library, we can mock the call to 
> System.getenv() which breaks the tests in AccumuloVFSClassLoaderTest. 
> The two tests need these four lines of setup in order to pass: 
> 
> Map<String, String> mockSystemProperties = new HashMap<String, String>();

> mockSystemProperties.put("ACCUMULO_HOME", System.getenv("HOME")); 
> 
> PowerMockito.mockStatic(System.class); 
> Mockito.when(System.getenv()).thenReturn(mockSystemProperties); 
> 
> You'll notice that set ACCUMULO_HOME is set to the value of HOME to make the test cross-platform.

> 


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message