40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
package maxscale.java;
 | 
						|
 | 
						|
import java.io.File;
 | 
						|
 | 
						|
/**
 | 
						|
 * MaxScale configuration class
 | 
						|
 *
 | 
						|
 * Configures MaxScale for testing
 | 
						|
 */
 | 
						|
public class MaxScaleConfiguration {
 | 
						|
 | 
						|
    private static final String TEST_DIR = "@CMAKE_SOURCE_DIR@";
 | 
						|
    private static final String CONFIG_COMMAND = TEST_DIR + "/non_native_setup";
 | 
						|
    private static final String LOGS_COMMAND = TEST_DIR + "/copy_logs.sh";
 | 
						|
    private String test = null;
 | 
						|
 | 
						|
    public MaxScaleConfiguration(String test) throws Exception
 | 
						|
    {
 | 
						|
        this.test = test;
 | 
						|
        ProcessBuilder pb = new ProcessBuilder(CONFIG_COMMAND, test);
 | 
						|
        pb.inheritIO();
 | 
						|
        pb.directory(new File(TEST_DIR));
 | 
						|
        pb.environment().put("test_dir", TEST_DIR);
 | 
						|
        Process process = pb.start();
 | 
						|
        process.waitFor();
 | 
						|
    }
 | 
						|
 | 
						|
    public void close() {
 | 
						|
        try {
 | 
						|
            ProcessBuilder pb = new ProcessBuilder(LOGS_COMMAND, test);
 | 
						|
            pb.inheritIO();
 | 
						|
            pb.directory(new File(TEST_DIR));
 | 
						|
            Process process = pb.start();
 | 
						|
            process.waitFor();
 | 
						|
        } catch (Exception e) {
 | 
						|
            e.printStackTrace();
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |