mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-17 21:10:43 +00:00
103 lines
No EOL
3.8 KiB
C++
103 lines
No EOL
3.8 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#include "gtest/gtest.h"
|
|
|
|
#include "gmock/gmock.h"
|
|
#include "server_configuration.h"
|
|
|
|
namespace onnxruntime {
|
|
namespace server {
|
|
namespace test {
|
|
|
|
TEST(ConfigParsingTests, AllArgs) {
|
|
char* test_argv[] = {
|
|
const_cast<char*>("/path/to/binary"),
|
|
const_cast<char*>("--model_path"), const_cast<char*>("testdata/mul_1.onnx"),
|
|
const_cast<char*>("--model_name"), const_cast<char*>("mul_1"),
|
|
const_cast<char*>("--model_version"), const_cast<char*>("1"),
|
|
const_cast<char*>("--address"), const_cast<char*>("4.4.4.4"),
|
|
const_cast<char*>("--http_port"), const_cast<char*>("80"),
|
|
const_cast<char*>("--num_http_threads"), const_cast<char*>("1"),
|
|
const_cast<char*>("--log_level"), const_cast<char*>("info")};
|
|
|
|
onnxruntime::server::ServerConfiguration config{};
|
|
Result res = config.ParseInput(15, test_argv);
|
|
EXPECT_EQ(res, Result::ContinueSuccess);
|
|
EXPECT_EQ(config.model_path, "testdata/mul_1.onnx");
|
|
EXPECT_EQ(config.model_name, "mul_1");
|
|
EXPECT_EQ(config.model_version, "1");
|
|
EXPECT_EQ(config.address, "4.4.4.4");
|
|
EXPECT_EQ(config.http_port, 80);
|
|
EXPECT_EQ(config.num_http_threads, 1);
|
|
EXPECT_EQ(config.logging_level, ORT_LOGGING_LEVEL_INFO);
|
|
}
|
|
|
|
TEST(ConfigParsingTests, Defaults) {
|
|
char* test_argv[] = {
|
|
const_cast<char*>("/path/to/binary"),
|
|
const_cast<char*>("--model_path"), const_cast<char*>("testdata/mul_1.onnx"),
|
|
const_cast<char*>("--num_http_threads"), const_cast<char*>("3")};
|
|
|
|
onnxruntime::server::ServerConfiguration config{};
|
|
Result res = config.ParseInput(5, test_argv);
|
|
EXPECT_EQ(res, Result::ContinueSuccess);
|
|
EXPECT_EQ(config.model_path, "testdata/mul_1.onnx");
|
|
EXPECT_EQ(config.model_name, "default");
|
|
EXPECT_EQ(config.model_version, "1");
|
|
EXPECT_EQ(config.address, "0.0.0.0");
|
|
EXPECT_EQ(config.http_port, 8001);
|
|
EXPECT_EQ(config.num_http_threads, 3);
|
|
EXPECT_EQ(config.logging_level, ORT_LOGGING_LEVEL_INFO);
|
|
}
|
|
|
|
TEST(ConfigParsingTests, Help) {
|
|
char* test_argv[] = {
|
|
const_cast<char*>("/path/to/binary"),
|
|
const_cast<char*>("--help")};
|
|
|
|
onnxruntime::server::ServerConfiguration config{};
|
|
auto res = config.ParseInput(2, test_argv);
|
|
EXPECT_EQ(res, Result::ExitSuccess);
|
|
}
|
|
|
|
TEST(ConfigParsingTests, NoModelArg) {
|
|
char* test_argv[] = {
|
|
const_cast<char*>("/path/to/binary"),
|
|
const_cast<char*>("--num_http_threads"), const_cast<char*>("3")};
|
|
|
|
onnxruntime::server::ServerConfiguration config{};
|
|
Result res = config.ParseInput(3, test_argv);
|
|
EXPECT_EQ(res, Result::ExitFailure);
|
|
}
|
|
|
|
TEST(ConfigParsingTests, ModelNotFound) {
|
|
char* test_argv[] = {
|
|
const_cast<char*>("/path/to/binary"),
|
|
const_cast<char*>("--model_path"), const_cast<char*>("does/not/exist"),
|
|
const_cast<char*>("--address"), const_cast<char*>("4.4.4.4"),
|
|
const_cast<char*>("--http_port"), const_cast<char*>("80"),
|
|
const_cast<char*>("--num_http_threads"), const_cast<char*>("1")};
|
|
|
|
onnxruntime::server::ServerConfiguration config{};
|
|
Result res = config.ParseInput(9, test_argv);
|
|
EXPECT_EQ(res, Result::ExitFailure);
|
|
}
|
|
|
|
TEST(ConfigParsingTests, WrongLoggingLevel) {
|
|
char* test_argv[] = {
|
|
const_cast<char*>("/path/to/binary"),
|
|
const_cast<char*>("--log_level"), const_cast<char*>("not a logging level"),
|
|
const_cast<char*>("--model_path"), const_cast<char*>("testdata/mul_1.onnx"),
|
|
const_cast<char*>("--address"), const_cast<char*>("4.4.4.4"),
|
|
const_cast<char*>("--http_port"), const_cast<char*>("80"),
|
|
const_cast<char*>("--num_http_threads"), const_cast<char*>("1")};
|
|
|
|
onnxruntime::server::ServerConfiguration config{};
|
|
Result res = config.ParseInput(11, test_argv);
|
|
EXPECT_EQ(res, Result::ExitFailure);
|
|
}
|
|
|
|
} // namespace test
|
|
} // namespace server
|
|
} // namespace onnxruntime
|