YARN-10191. FS-CS converter: call System.exit function call for every code path in main method. Contributed by Peter Bacsko.
This commit is contained in:
parent
0b931f36ec
commit
0fd8bf5f6b
@ -42,8 +42,9 @@ public static void main(String[] args) {
|
||||
LOG.error(FATAL,
|
||||
"Error while starting FS configuration conversion, " +
|
||||
"see previous error messages for details!");
|
||||
System.exit(exitCode);
|
||||
}
|
||||
|
||||
System.exit(exitCode);
|
||||
} catch (Throwable t) {
|
||||
LOG.error(FATAL,
|
||||
"Error while starting FS configuration conversion!", t);
|
||||
|
@ -22,6 +22,7 @@
|
||||
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.converter.FSConfigConverterTestCommons.YARN_SITE_XML;
|
||||
import static org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.converter.FSConfigConverterTestCommons.setupFSConfigConversionFiles;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@ -40,11 +41,13 @@
|
||||
public class TestFSConfigToCSConfigConverterMain {
|
||||
private FSConfigConverterTestCommons converterTestCommons;
|
||||
private SecurityManager originalSecurityManager;
|
||||
private ExitHandlerSecurityManager exitHandlerSecurityManager;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
originalSecurityManager = System.getSecurityManager();
|
||||
System.setSecurityManager(new ExitHandlerSecurityManager());
|
||||
exitHandlerSecurityManager = new ExitHandlerSecurityManager();
|
||||
System.setSecurityManager(exitHandlerSecurityManager);
|
||||
converterTestCommons = new FSConfigConverterTestCommons();
|
||||
converterTestCommons.setUp();
|
||||
}
|
||||
@ -82,6 +85,7 @@ public void testConvertFSConfigurationDefaults()
|
||||
|
||||
assertTrue("capacity-scheduler.xml was not generated", csConfigExists);
|
||||
assertTrue("yarn-site.xml was not generated", yarnSiteConfigExists);
|
||||
assertEquals("Exit code", 0, exitHandlerSecurityManager.exitCode);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -141,12 +145,15 @@ private void verifyHelpText() {
|
||||
}
|
||||
|
||||
class ExitHandlerSecurityManager extends SecurityManager {
|
||||
int exitCode = Integer.MIN_VALUE;
|
||||
|
||||
@Override
|
||||
public void checkExit(int status) {
|
||||
if (status != 0) {
|
||||
throw new IllegalStateException(
|
||||
"Exit code is not 0, it was " + status);
|
||||
}
|
||||
exitCode = status;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user