From 003a0139f55d1dc050b324b74d87f1186b2fc4e6 Mon Sep 17 00:00:00 2001 From: swethasukumarr Date: Mon, 29 Jun 2026 10:32:20 -0400 Subject: [PATCH 1/2] Fix api test app in CI --- test/api_test_app/main.cpp | 38 +++++++++++++++++++++++--------------- test/api_test_app/utils.h | 5 ++++- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/test/api_test_app/main.cpp b/test/api_test_app/main.cpp index 6e7f5e7..9c96da4 100644 --- a/test/api_test_app/main.cpp +++ b/test/api_test_app/main.cpp @@ -169,9 +169,30 @@ int main(int argc, char** argv) interfaces.emplace_back(std::make_unique()); interfaces.emplace_back(std::make_unique()); - if (!isatty(fileno(stdin))) + if (appConfig.autoRun) + { + int failures = 0; + for (auto& interface : interfaces) + { + std::cout << "Auto-running interface: " << interface->name() << std::endl; + + for (auto& method : interface->methods()) + { + std::cout << "Auto-running method: " << method << std::endl; + interface->runOption(method); + } + failures += interface->failureCount(); + } + if (failures > 0) + { + std::cout << "FAILED: " << failures << " method(s) returned errors" << std::endl; + Firebolt::IFireboltAccessor::Instance().Disconnect(); + return 1; + } + std::cout << "All methods succeeded" << std::endl; + } + else if (!isatty(fileno(stdin))) { - appConfig.autoRun = true; std::string line; while (std::getline(std::cin, line)) { @@ -198,19 +219,6 @@ int main(int argc, char** argv) } } } - else if (appConfig.autoRun) - { - for (auto& interface : interfaces) - { - std::cout << "Auto-running interface: " << interface->name() << std::endl; - - for (auto& method : interface->methods()) - { - std::cout << "Auto-running method: " << method << std::endl; - interface->runOption(method); - } - } - } else { std::vector interfaceNames; diff --git a/test/api_test_app/utils.h b/test/api_test_app/utils.h index 7a3d72e..ec94590 100644 --- a/test/api_test_app/utils.h +++ b/test/api_test_app/utils.h @@ -47,20 +47,23 @@ class DemoBase std::string name() const { return name_; } virtual void runOption(const std::string& method) = 0; const std::vector& methods() const { return methods_; } + int failureCount() const { return failureCount_; } protected: - template bool succeed(const Firebolt::Result& result) const + template bool succeed(const Firebolt::Result& result) { if (result) { return true; } + ++failureCount_; std::cout << "Error: " << static_cast(result.error()) << std::endl; return false; } std::string name_; std::vector methods_; + int failureCount_ = 0; }; template T chooseEnumFromList(const Firebolt::JSON::EnumType& enumType, const std::string& prompt) From cce99fc94ef2081e9ae3a754cfb8f34990a95ac1 Mon Sep 17 00:00:00 2001 From: swethasukumarr Date: Mon, 29 Jun 2026 10:47:31 -0400 Subject: [PATCH 2/2] Fix copilot comment --- test/api_test_app/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/test/api_test_app/main.cpp b/test/api_test_app/main.cpp index 9c96da4..611cfd7 100644 --- a/test/api_test_app/main.cpp +++ b/test/api_test_app/main.cpp @@ -193,6 +193,7 @@ int main(int argc, char** argv) } else if (!isatty(fileno(stdin))) { + appConfig.autoRun = true; std::string line; while (std::getline(std::cin, line)) {