Skip to content

Commit db66233

Browse files
committed
ci fix
1 parent 389cb67 commit db66233

8 files changed

Lines changed: 150 additions & 188 deletions

File tree

iotdb-client/client-cpp/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,8 +315,8 @@
315315
<skip>${ctest.skip.tests}</skip>
316316
<name>iotdb-server</name>
317317
<waitForInterrupt>false</waitForInterrupt>
318-
<!-- Maximum time in seconds to wait after launching IoTDB -->
319-
<waitAfterLaunch>15</waitAfterLaunch>
318+
<!-- Maximum time in seconds to wait after launching IoTDB (JVM cold start on Windows can exceed 15s) -->
319+
<waitAfterLaunch>45</waitAfterLaunch>
320320
<!-- Redirect IoTDB server log to /dev/null -->
321321
<processLogFile>${project.build.directory}/build/test/test.log</processLogFile>
322322
<arguments>

iotdb-client/client-cpp/src/test/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ ELSE()
141141
ADD_TEST(NAME sessionCRelationalIT COMMAND ${TARGET_NAME_C_RELATIONAL})
142142
ENDIF()
143143

144+
# One process at a time: parallel ctest overloads a single local IoTDB on 127.0.0.1:6667.
145+
SET_TESTS_PROPERTIES(sessionIT sessionRelationalIT sessionCIT sessionCRelationalIT PROPERTIES RUN_SERIAL TRUE)
146+
144147
if(UNIX AND NOT APPLE)
145148
target_link_options(session_tests PRIVATE -Wl,--no-as-needed)
146149
target_link_options(session_relational_tests PRIVATE -Wl,--no-as-needed)

iotdb-client/client-cpp/src/test/cpp/sessionCIT.cpp

Lines changed: 86 additions & 147 deletions
Large diffs are not rendered by default.

iotdb-client/client-cpp/src/test/cpp/sessionCRelationalIT.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class CaseReporter {
4646
* DDL via SQL — create database & table
4747
* ============================================================ */
4848

49-
TEST_CASE("C API Table - Create table", "[c_table_createTable]") {
49+
TEST_CASE("C API Table - Create table", "[c_table_createTable][c_table_ddl]") {
5050
CaseReporter cr("c_table_createTable");
5151

5252
ts_table_session_execute_non_query(g_table_session, "DROP DATABASE IF EXISTS c_db1");
@@ -85,7 +85,7 @@ TEST_CASE("C API Table - Create table", "[c_table_createTable]") {
8585
* Insert Tablet (table model, with TAG/FIELD/ATTRIBUTE columns)
8686
* ============================================================ */
8787

88-
TEST_CASE("C API Table - Insert tablet", "[c_table_insertTablet]") {
88+
TEST_CASE("C API Table - Insert tablet", "[c_table_insertTablet][c_table_write]") {
8989
CaseReporter cr("c_table_insertTablet");
9090

9191
ts_table_session_execute_non_query(g_table_session, "DROP DATABASE IF EXISTS c_db2");
@@ -136,7 +136,7 @@ TEST_CASE("C API Table - Insert tablet", "[c_table_insertTablet]") {
136136
* Query with timeout
137137
* ============================================================ */
138138

139-
TEST_CASE("C API Table - Query with timeout", "[c_table_queryTimeout]") {
139+
TEST_CASE("C API Table - Query with timeout", "[c_table_queryTimeout][c_table_query]") {
140140
CaseReporter cr("c_table_queryTimeout");
141141

142142
ts_table_session_execute_non_query(g_table_session, "DROP DATABASE IF EXISTS c_db3");
@@ -179,7 +179,7 @@ TEST_CASE("C API Table - Query with timeout", "[c_table_queryTimeout]") {
179179
* Multi-type tablet insert
180180
* ============================================================ */
181181

182-
TEST_CASE("C API Table - Multi-type tablet", "[c_table_multiType]") {
182+
TEST_CASE("C API Table - Multi-type tablet", "[c_table_multiType][c_table_write]") {
183183
CaseReporter cr("c_table_multiType");
184184

185185
ts_table_session_execute_non_query(g_table_session, "DROP DATABASE IF EXISTS c_db4");
@@ -237,7 +237,7 @@ TEST_CASE("C API Table - Multi-type tablet", "[c_table_multiType]") {
237237
* Multi-node table session
238238
* ============================================================ */
239239

240-
TEST_CASE("C API Table - Multi-node table session", "[c_table_multiNode]") {
240+
TEST_CASE("C API Table - Multi-node table session", "[c_table_multiNode][c_table_lifecycle]") {
241241
CaseReporter cr("c_table_multiNode");
242242

243243
const char* urls[] = {"127.0.0.1:6667"};
@@ -256,7 +256,7 @@ TEST_CASE("C API Table - Multi-node table session", "[c_table_multiNode]") {
256256
* Dataset column info (table model)
257257
* ============================================================ */
258258

259-
TEST_CASE("C API Table - Dataset column info", "[c_table_datasetColumns]") {
259+
TEST_CASE("C API Table - Dataset column info", "[c_table_datasetColumns][c_table_query]") {
260260
CaseReporter cr("c_table_datasetColumns");
261261

262262
ts_table_session_execute_non_query(g_table_session, "DROP DATABASE IF EXISTS c_db6");

iotdb-client/client-cpp/src/test/main.cpp

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,35 @@
2323
#include "Session.h"
2424
#include "SessionBuilder.h"
2525

26-
auto builder = std::unique_ptr<SessionBuilder>(new SessionBuilder());
27-
std::shared_ptr<Session> session =
28-
std::shared_ptr<Session>(
29-
builder
30-
->host("127.0.0.1")
31-
->rpcPort(6667)
32-
->username("root")
33-
->password("root")
34-
->useSSL(false)
35-
->build()
36-
);
26+
std::shared_ptr<Session> session;
3727

3828
struct SessionListener : Catch::TestEventListenerBase {
3929

4030
using TestEventListenerBase::TestEventListenerBase;
4131

4232
void testCaseStarting(Catch::TestCaseInfo const &testInfo) override {
43-
// Perform some setup before a test case is run
44-
session->open(false);
33+
if (!session) {
34+
SessionBuilder builder;
35+
session = builder.host("127.0.0.1")
36+
->rpcPort(6667)
37+
->username("root")
38+
->password("root")
39+
->useSSL(false)
40+
->build();
41+
} else {
42+
session->open(false);
43+
}
4544
}
4645

4746
void testCaseEnded(Catch::TestCaseStats const &testCaseStats) override {
48-
// Tear-down after a test case is run
49-
session->close();
47+
if (session) {
48+
session->close();
49+
}
50+
}
51+
52+
void testRunEnded(Catch::TestRunStats const &testRunStats) override {
53+
// Release session before static/global teardown on Windows.
54+
session.reset();
5055
}
5156
};
5257

iotdb-client/client-cpp/src/test/main_Relational.cpp

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Licensed to the Apache Software Foundation (ASF) under one
2+
* Licensed to the Apache Software Foundation (ASF) under one
33
* or more contributor license agreements. See the NOTICE file
44
* distributed with this work for additional information
55
* regarding copyright ownership. The ASF licenses this file
@@ -22,28 +22,33 @@
2222
#include <catch.hpp>
2323
#include "TableSessionBuilder.h"
2424

25-
auto builder = std::unique_ptr<TableSessionBuilder>(new TableSessionBuilder());
26-
std::shared_ptr<TableSession> session =
27-
std::shared_ptr<TableSession>(
28-
builder
29-
->host("127.0.0.1")
30-
->rpcPort(6667)
31-
->username("root")
32-
->password("root")
33-
->build()
34-
);
25+
std::shared_ptr<TableSession> session;
3526

3627
struct SessionListener : Catch::TestEventListenerBase {
3728
using TestEventListenerBase::TestEventListenerBase;
3829

3930
void testCaseStarting(Catch::TestCaseInfo const& testInfo) override {
40-
// Perform some setup before a test case is run
41-
session->open();
31+
if (!session) {
32+
TableSessionBuilder builder;
33+
session = builder.host("127.0.0.1")
34+
->rpcPort(6667)
35+
->username("root")
36+
->password("root")
37+
->build();
38+
} else {
39+
session->open();
40+
}
4241
}
4342

4443
void testCaseEnded(Catch::TestCaseStats const& testCaseStats) override {
45-
// Tear-down after a test case is run
46-
session->close();
44+
if (session) {
45+
session->close();
46+
}
47+
}
48+
49+
void testRunEnded(Catch::TestRunStats const& testRunStats) override {
50+
// Release session before static/global teardown on Windows.
51+
session.reset();
4752
}
4853
};
4954

iotdb-client/client-cpp/src/test/main_c.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,13 @@ struct CSessionListener : Catch::TestEventListenerBase {
3030

3131
void testCaseStarting(Catch::TestCaseInfo const& testInfo) override {
3232
g_session = ts_session_new("127.0.0.1", 6667, "root", "root");
33-
ts_session_open(g_session);
33+
REQUIRE(g_session != nullptr);
34+
TsStatus st = ts_session_open(g_session);
35+
if (st != TS_OK) {
36+
ts_session_destroy(g_session);
37+
g_session = nullptr;
38+
FAIL("ts_session_open failed; ensure distribution is built and IoTDB listens on 127.0.0.1:6667");
39+
}
3440
}
3541

3642
void testCaseEnded(Catch::TestCaseStats const& testCaseStats) override {

iotdb-client/client-cpp/src/test/main_c_Relational.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,12 @@ struct CTableSessionListener : Catch::TestEventListenerBase {
3030

3131
void testCaseStarting(Catch::TestCaseInfo const& testInfo) override {
3232
g_table_session = ts_table_session_new("127.0.0.1", 6667, "root", "root", "");
33-
if (g_table_session) {
34-
ts_table_session_open(g_table_session);
33+
REQUIRE(g_table_session != nullptr);
34+
TsStatus st = ts_table_session_open(g_table_session);
35+
if (st != TS_OK) {
36+
ts_table_session_destroy(g_table_session);
37+
g_table_session = nullptr;
38+
FAIL("ts_table_session_open failed; ensure distribution is built and IoTDB listens on 127.0.0.1:6667");
3539
}
3640
}
3741

0 commit comments

Comments
 (0)