提交 9f233e8c 编写于 作者: P Ping Xiao

start taosd before jdbc tests

上级 e1502677
package com.taosdata.jdbc.utils;
import java.io.File;
import java.util.*;
import java.util.concurrent.TimeUnit;
public class TDNode {
......@@ -36,24 +37,51 @@ public class TDNode {
this.testCluster = testCluster;
}
public void searchTaosd(File dir, ArrayList<String> taosdPath) {
File[] fileList = dir.listFiles();
if(fileList != null && fileList.length != 0) {
for(File file : fileList) {
if(file.isFile()) {
if(file.getName().equals("taosd")) {
taosdPath.add(file.getAbsolutePath());
}
} else {
searchTaosd(file, taosdPath);
}
}
}
return;
}
public void start() {
String selfPath = System.getProperty("user.dir");
String binPath = "";
String projDir = selfPath + "../../../";
String projDir = selfPath + "../../../../";
try {
ArrayList<String> taosdPath = new ArrayList<>();
File dir = new File(projDir);
String realProjDir = dir.getCanonicalPath();
dir = new File(realProjDir);
System.out.println("project Dir: " + projDir);
searchTaosd(dir, taosdPath);
File[] fileList = dir.listFiles();
if(fileList == null || fileList.length == 0) {
if(taosdPath.size() == 0) {
System.out.println("The project path doens't exist");
return;
} else {
for(String p : taosdPath) {
if(!p.contains("packing")) {
binPath = p;
}
}
for(File file : fileList) {
if(file.getName().equals("taosd") && !file.getAbsolutePath().contains("packing")) {
binPath = file.getAbsolutePath();
break;
}
} catch (Exception e) {
e.printStackTrace();
}
if(binPath.equals("")) {
......@@ -70,16 +98,16 @@ public class TDNode {
String cmd = "";
if(this.valgrind == 0) {
cmd = "nohup " + binPath + " -c " + this.cfgDir + " > /dev/null 2>&1 & ";
cmd = "nohup " + binPath + " > /dev/null 2>&1 & ";
System.out.println("start taosd cmd: " + cmd);
} else {
String valgrindCmdline = "valgrind --tool=memcheck --leak-check=full --show-reachable=no --track-origins=yes --show-leak-kinds=all -v --workaround-gcc296-bugs=yes";
cmd = "nohup " + valgrindCmdline + " " + binPath + " -c " + this.cfgDir + " 2>&1 & ";
}
try{
if(Runtime.getRuntime().exec(cmd).waitFor() != 0) {
return;
}
Runtime.getRuntime().exec(cmd);
TimeUnit.SECONDS.sleep(5);
} catch (Exception e) {
e.printStackTrace();
}
......
......@@ -42,7 +42,7 @@ public class TDNodes {
binPath = file.getCanonicalPath();
System.out.println("binPath real path: " + binPath);
if (path.isEmpty()) {
if (!path.isEmpty()) {
file = new File(path + "/../../");
path = file.getCanonicalPath();
}
......@@ -79,7 +79,7 @@ public class TDNodes {
TDSimClient sim = new TDSimClient();
sim.setPath(path);
System.out.println("====== " + path + "=====");
System.out.println("======path: " + path + "=====");
sim.setTestCluster(this.testCluster);
if(this.simDeployed == false ) {
sim.deploy();
......@@ -89,6 +89,7 @@ public class TDNodes {
check(index);
tdNodes.get(index - 1).setTestCluster(this.testCluster);
tdNodes.get(index - 1).setValgrind(valgrind);
tdNodes.get(index - 1).setPath(System.getProperty("user.dir"));
tdNodes.get(index - 1).deploy();
}
......
package com.taosdata.jdbc.utils;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TDSimClient {
......@@ -25,16 +23,11 @@ public class TDSimClient {
public void setCfgConfig(String option, String value) {
String cmd = "echo " + option + " " + value + " >> " + this.cfgPath;
System.out.println("set cfg cmd " + cmd);
try {
Process ps = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
while(br.readLine() != null) {
System.out.println(br.readLine());
}
ps.waitFor();
System.out.println("cfg command result: " + ps.waitFor());
} catch (Exception e) {
e.printStackTrace();
}
......@@ -50,19 +43,26 @@ public class TDSimClient {
try {
String cmd = "rm -rf " + this.logDir;
Runtime.getRuntime().exec(cmd).waitFor();
System.out.println("cmd: = " + cmd);
Process ps = Runtime.getRuntime().exec(cmd);
System.out.println("return value " + ps.waitFor());
System.out.println(Runtime.getRuntime().exec(cmd).waitFor());
cmd = "rm -rf " + this.cfgDir;
Runtime.getRuntime().exec(cmd).waitFor();
System.out.println(cmd + " result: " +Runtime.getRuntime().exec(cmd).waitFor());
cmd = "mkdir -p " + this.logDir;
Runtime.getRuntime().exec(cmd).waitFor();
System.out.println(cmd + " result: " +Runtime.getRuntime().exec(cmd).waitFor());
cmd = "mkdir -p " + this.cfgDir;
Runtime.getRuntime().exec(cmd).waitFor();
System.out.println(cmd + " result: " +Runtime.getRuntime().exec(cmd).waitFor());
cmd = "touch " + this.cfgPath;
Runtime.getRuntime().exec(cmd).waitFor();
System.out.println(cmd + " result: " +Runtime.getRuntime().exec(cmd).waitFor());
} catch (Exception e) {
e.printStackTrace();
}
......
......@@ -6,6 +6,7 @@ import java.io.InputStreamReader;
import com.taosdata.jdbc.utils.TDNodes;
import org.junit.AfterClass;
import org.junit.BeforeClass;
public class BaseTest {
......@@ -17,17 +18,6 @@ public class BaseTest {
@BeforeClass
public static void setupEnv() {
try{
// String path = System.getProperty("user.dir");
// String bashPath = path + "/buildTDengine.sh";
// Process ps = Runtime.getRuntime().exec(bashPath);
// ps.waitFor();
// BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
// while(br.readLine() != null) {
// System.out.println(br.readLine());
// }
File file = new File(deployPath + "/../../../");
String rootPath = file.getCanonicalPath();
......@@ -38,8 +28,14 @@ public class BaseTest {
tdNodes.deploy(1);
tdNodes.start(1);
} catch (Exception e) {
e.printStackTrace();
}
}
@AfterClass
public static void clearUpEnv() {
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册