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" <[email protected]> 
To: [email protected] 
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:[email protected]] 
Sent: Thursday, March 21, 2013 6:44 PM 
To: [email protected] 
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: [email protected] [mailto:[email protected]] 
> Sent: Thursday, March 21, 2013 5:12 PM 
> To: [email protected] 
> 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" <[email protected]> 
> To: "accumulo-dev" <[email protected]> 
> 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. 
> 

Reply via email to