You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by zt...@apache.org on 2016/05/20 03:16:09 UTC
incubator-hawq git commit: HAWQ-748. Fix platform issue in test
framework.
Repository: incubator-hawq
Updated Branches:
refs/heads/master 50d55331b -> 92880fc88
HAWQ-748. Fix platform issue in test framework.
Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/92880fc8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/92880fc8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/92880fc8
Branch: refs/heads/master
Commit: 92880fc88859bfb7128e4074f10655dade9f2318
Parents: 50d5533
Author: ztao1987 <zh...@gmail.com>
Authored: Fri May 20 07:55:51 2016 +0800
Committer: ztao1987 <zh...@gmail.com>
Committed: Fri May 20 11:15:57 2016 +0800
----------------------------------------------------------------------
src/test/feature/lib/sql-util.cpp | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/92880fc8/src/test/feature/lib/sql-util.cpp
----------------------------------------------------------------------
diff --git a/src/test/feature/lib/sql-util.cpp b/src/test/feature/lib/sql-util.cpp
index f4294a2..0714e22 100644
--- a/src/test/feature/lib/sql-util.cpp
+++ b/src/test/feature/lib/sql-util.cpp
@@ -1,6 +1,5 @@
#include "sql-util.h"
-#include <libproc.h>
#include <pwd.h>
#include <sys/types.h>
#include <unistd.h>
@@ -11,6 +10,13 @@
#include "string-util.h"
+#ifdef __linux__
+#include <limits.h>
+#include <unistd.h>
+#elif __APPLE__
+#include <libproc.h>
+#endif
+
SQLUtility::SQLUtility()
: conn(getConnection()),
testRootPath(getTestRootPath()),
@@ -135,6 +141,14 @@ const PSQLQueryResult &SQLUtility::executeQuery(const std::string &sql) {
PSQL *SQLUtility::getPSQL() const { return conn.get(); }
std::string SQLUtility::getTestRootPath() const {
+ std::string result;
+#ifdef __linux__
+ char pathbuf[PATH_MAX];
+ ssize_t count = readlink("/proc/self/exe", pathbuf, PATH_MAX);
+ if (count <= 0)
+ EXPECT_TRUE(false) << "readlink /proc/self/exe error: " << strerror(errno);
+ result = std::string(pathbuf, count);
+#elif __APPLE__
int ret;
pid_t pid;
char pathbuf[PROC_PIDPATHINFO_MAXSIZE];
@@ -144,7 +158,9 @@ std::string SQLUtility::getTestRootPath() const {
if (ret <= 0)
EXPECT_TRUE(false) << "PID " << pid << ": proc_pidpath () "
<< strerror(errno);
- return splitFilePath(pathbuf).path;
+ result = std::string(pathbuf);
+#endif
+ return splitFilePath(result).path;
}
FilePath SQLUtility::splitFilePath(const std::string &filePath) const {