HAWQ-1037. Modify way to get HDFS port in TestHawqRegister
Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/4b202a2b Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/4b202a2b Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/4b202a2b Branch: refs/heads/master Commit: 4b202a2baae5e3ecca0fc68f10a6d2e0f4cbecc9 Parents: 51cf863 Author: Chunling Wang <[email protected]> Authored: Wed Aug 31 18:19:05 2016 +0800 Committer: ivan <[email protected]> Committed: Fri Sep 9 10:00:14 2016 +0800 ---------------------------------------------------------------------- .../ManagementTool/test_hawq_register.cpp | 122 +++++++++++++------ 1 file changed, 87 insertions(+), 35 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/4b202a2b/src/test/feature/ManagementTool/test_hawq_register.cpp ---------------------------------------------------------------------- diff --git a/src/test/feature/ManagementTool/test_hawq_register.cpp b/src/test/feature/ManagementTool/test_hawq_register.cpp index 0952bd5..2f4291b 100644 --- a/src/test/feature/ManagementTool/test_hawq_register.cpp +++ b/src/test/feature/ManagementTool/test_hawq_register.cpp @@ -3,18 +3,36 @@ #include "lib/command.h" #include "lib/sql_util.h" #include "lib/string_util.h" +#include "lib/hdfs_config.h" #include "gtest/gtest.h" using std::string; using hawq::test::SQLUtility; using hawq::test::Command; +using hawq::test::HdfsConfig; /* This test suite may consume more than 80 seconds. */ class TestHawqRegister : public ::testing::Test { public: TestHawqRegister() {} ~TestHawqRegister() {} + string getHdfsLocation() { + HdfsConfig hc; + string hostname = ""; + int port = 0; + if (hc.isHA()) { + hc.getActiveNamenode(hostname, port); + } + else { + std::vector<std::string> hostList; + std::vector<int> portList; + hc.getNamenodes(hostList, portList); + hostname = hostList[0]; + port = portList[0]; + } + return hawq::test::stringFormat("hdfs://%s:%d", hostname.c_str(), port); + } }; TEST_F(TestHawqRegister, TestUsage1SingleHawqFile) { @@ -23,12 +41,14 @@ TEST_F(TestHawqRegister, TestUsage1SingleHawqFile) { string relativePath("/ManagementTool/test_hawq_register_hawq.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_hawq.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_hawq.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(i int) with (appendonly=true, orientation=parquet);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_hawq.paq hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 3); util.execute("insert into hawqregister values(1);"); @@ -42,12 +62,14 @@ TEST_F(TestHawqRegister, TestUsage1SingleHiveFile) { string relativePath("/ManagementTool/test_hawq_register_hive.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_hive.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_hive.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(i int) with (appendonly=true, orientation=parquet);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_hive.paq hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hive.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 1); util.execute("insert into hawqregister values(1);"); @@ -63,12 +85,14 @@ TEST_F(TestHawqRegister, TestDataTypes) { string relativePath("/ManagementTool/test_hawq_register_data_types.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_data_types.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_data_types.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(a bool, b int2, c int2, d int4, e int8, f date, g float4, h float8, i varchar, j bytea, k char, l varchar) with (appendonly=true, orientation=parquet);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_data_types.paq hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_data_types.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 1); util.execute("drop table hawqregister;"); @@ -83,12 +107,14 @@ TEST_F(TestHawqRegister, TestAllNULL) { string relativePath("/ManagementTool/test_hawq_register_null.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_data_types.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_data_types.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(a bool, b int2, c int2, d int4, e int8, f date, g float4, h float8, i varchar, j bytea, k char, l varchar) with (appendonly=true, orientation=parquet);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_data_types.paq hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_data_types.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 1); util.execute("drop table hawqregister;"); @@ -102,24 +128,33 @@ TEST_F(TestHawqRegister, TestFiles) { relativePath = "/ManagementTool/test_hawq_register_hive.paq"; string filePath2 = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -mkdir -p hdfs://localhost:8020/hawq_register_test/t/t")); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath1 + " hdfs://localhost:8020/hawq_register_test/hawq1.paq")); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath1 + " hdfs://localhost:8020/hawq_register_test/hawq2.paq")); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath1 + " hdfs://localhost:8020/hawq_register_test/t/hawq.paq")); - - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath2 + " hdfs://localhost:8020/hawq_register_test/hive1.paq")); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath2 + " hdfs://localhost:8020/hawq_register_test/hive2.paq")); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath2 + " hdfs://localhost:8020/hawq_register_test/t/hive.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -mkdir -p %s %s/hawq_register_test/t/t", filePath1.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); + cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_test/hawq1.paq", filePath1.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); + cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_test/hawq2.paq", filePath1.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); + cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_test/t/hawq.paq", filePath1.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); + + cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_test/hive1.paq", filePath2.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); + cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_test/hive2.paq", filePath2.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); + cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_test/t/hive.paq", filePath2.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(i int) with (appendonly=true, orientation=parquet);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_test hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_test hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 12); util.execute("insert into hawqregister values(1);"); util.query("select * from hawqregister;", 13); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -rm -r hdfs://localhost:8020/hawq_register_test")); + cmd = hawq::test::stringFormat("hadoop fs -rm -r %s/hawq_register_test", getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("drop table hawqregister;"); } @@ -129,15 +164,18 @@ TEST_F(TestHawqRegister, TestUsage1HashDistributedTable) { string relativePath("/ManagementTool/test_hawq_register_hawq.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_hawq.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_hawq.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(i int) with (appendonly=true, orientation=parquet) distributed by (i);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(1, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_hawq.paq hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(1, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -rm hdfs://localhost:8020/hawq_register_hawq.paq")); + cmd = hawq::test::stringFormat("hadoop fs -rm -r %s %s/hawq_register_hawq.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("drop table hawqregister;"); } @@ -147,15 +185,18 @@ TEST_F(TestHawqRegister, TestUsage1NotParquetFile) { string relativePath("/ManagementTool/test_hawq_register_not_paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_test_not_paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_test_not_paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(i int) with (appendonly=true, orientation=parquet);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(1, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_test_not_paq hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_test_not_paq hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(1, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -rm hdfs://localhost:8020/hawq_register_test_not_paq")); + cmd = hawq::test::stringFormat("hadoop fs -rm %s/hawq_register_test_not_paq", getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("drop table hawqregister;"); } @@ -165,15 +206,18 @@ TEST_F(TestHawqRegister, TestUsage1NotParquetTable) { string relativePath("/ManagementTool/test_hawq_register_hawq.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_hawq.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_hawq.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(i int);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(1, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_hawq.paq hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(1, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -rm hdfs://localhost:8020/hawq_register_hawq.paq")); + cmd = hawq::test::stringFormat("hadoop fs -rm %s/hawq_register_hawq.paq", getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("drop table hawqregister;"); } @@ -183,7 +227,8 @@ TEST_F(TestHawqRegister, TestUsage1FileNotExist) { util.execute("create table hawqregister(i int);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(1, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f /hdfs://localhost:8020hawq_register_file_not_exist hawqregister")); + auto cmd = hawq::test::stringFormat("hawq register -d %s -f %shawq_register_file_not_exist hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(1, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 0); util.execute("drop table hawqregister;"); @@ -195,15 +240,18 @@ TEST_F(TestHawqRegister, TestUsage1NotHDFSPath) { string relativePath("/ManagementTool/test_hawq_register_hawq.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_hawq.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_hawq.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("create table hawqregister(i int);"); util.query("select * from hawqregister;", 0); - EXPECT_EQ(1, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f /hawq_register_hawq.paq hawqregister")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq hawqregister", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(1, Command::getCommandStatus(cmd)); util.query("select * from hawqregister;", 0); - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -rm hdfs://localhost:8020/hawq_register_hawq.paq")); + cmd = hawq::test::stringFormat("hadoop fs -rm %s/hawq_register_hawq.paq", getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("drop table hawqregister;"); } @@ -212,10 +260,12 @@ TEST_F(TestHawqRegister, TestUsage1ParquetRandomly) { string rootPath(util.getTestRootPath()); string relativePath("/ManagementTool/test_hawq_register_hawq.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_hawq.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_hawq.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("drop table if exists nt;"); util.execute("create table nt(i int) with (appendonly=true, orientation=parquet);"); - EXPECT_EQ(0, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_hawq.paq nt")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq nt", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.query("select * from nt;", 3); util.execute("insert into nt values(1);"); util.query("select * from nt;", 4); @@ -227,10 +277,12 @@ TEST_F(TestHawqRegister, TestUsage1ParquetRandomly2) { string rootPath(util.getTestRootPath()); string relativePath("/ManagementTool/test_hawq_register_hawq.paq"); string filePath = rootPath + relativePath; - EXPECT_EQ(0, Command::getCommandStatus("hadoop fs -put -f " + filePath + " hdfs://localhost:8020/hawq_register_hawq.paq")); + auto cmd = hawq::test::stringFormat("hadoop fs -put -f %s %s/hawq_register_hawq.paq", filePath.c_str(), getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.execute("drop table if exists nt;"); util.execute("create table nt(i int) with (appendonly=true, orientation=parquet) distributed randomly;"); - EXPECT_EQ(0, Command::getCommandStatus("hawq register -d " + (string) HAWQ_DB + " -f hdfs://localhost:8020/hawq_register_hawq.paq nt")); + cmd = hawq::test::stringFormat("hawq register -d %s -f %s/hawq_register_hawq.paq nt", HAWQ_DB, getHdfsLocation().c_str()); + EXPECT_EQ(0, Command::getCommandStatus(cmd)); util.query("select * from nt;", 3); util.execute("insert into nt values(1);"); util.query("select * from nt;", 4);
