First bits for an GSM emulator implementation
Not clear yet if we will use this or not.
This commit is contained in:
parent
7dc6f8d0bc
commit
fb4f424325
12 changed files with 454 additions and 2 deletions
|
|
@ -0,0 +1,29 @@
|
|||
include_directories(
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${CMAKE_SOURCE_DIR}/src
|
||||
)
|
||||
|
||||
macro(ANBOX_ADD_TEST test_name src)
|
||||
add_executable(
|
||||
${test_name}
|
||||
${src}
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
${test_name}
|
||||
|
||||
anbox-core
|
||||
|
||||
gmock
|
||||
gmock_main
|
||||
|
||||
${ARGN}
|
||||
|
||||
${Boost_LIBRARIES}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
)
|
||||
|
||||
add_test(${test_name} ${CMAKE_CURRENT_BINARY_DIR}/${test_name} --gtest_filter=*-*requires*)
|
||||
endmacro(ANBOX_ADD_TEST)
|
||||
|
||||
add_subdirectory(anbox)
|
||||
1
tests/anbox/CMakeLists.txt
Normal file
1
tests/anbox/CMakeLists.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
add_subdirectory(support)
|
||||
1
tests/anbox/support/CMakeLists.txt
Normal file
1
tests/anbox/support/CMakeLists.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
ANBOX_ADD_TEST(at_parser_tests at_parser_tests.cpp)
|
||||
47
tests/anbox/support/at_parser_tests.cpp
Normal file
47
tests/anbox/support/at_parser_tests.cpp
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* Copyright (C) 2016 Simon Fels <morphis@gravedo.de>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 3, as published
|
||||
* by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranties of
|
||||
* MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "anbox/support/at_parser.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
TEST(AtParser, BasicCommands) {
|
||||
anbox::support::AtParser parser;
|
||||
|
||||
std::string command = "ATE0Q0V1\nATE0Q0V1\n";
|
||||
std::vector<uint8_t> data;
|
||||
std::copy(command.begin(), command.end(), std::back_inserter(data));
|
||||
|
||||
int commands_expected = 0;
|
||||
int commands_found = 0;
|
||||
auto assert_at_command = [&](const std::string &expected_command) {
|
||||
commands_expected++;
|
||||
return [&](const std::string &command) {
|
||||
commands_found++;
|
||||
ASSERT_STRCASEEQ(expected_command.c_str(), command.c_str());
|
||||
};
|
||||
};
|
||||
|
||||
parser.register_command("E0Q0V1", assert_at_command("E0Q0V1"));
|
||||
parser.register_command("E0Q0V1", assert_at_command("E0Q0V1"));
|
||||
|
||||
parser.process_data(data);
|
||||
|
||||
ASSERT_EQ(commands_expected, commands_found);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue