diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d26fc4..e3c6157 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,13 +39,14 @@ endif() option( UNITY_BUILD OFF ) -include_directories( ~/projects/mace/libs/atomic/include ) -include_directories( ~/projects/mace/libs/context/include ) +include_directories( vendor/boost/process/include ) include_directories( ${Boost_INCLUDE_DIR} ) include_directories( include ) set( sources + src/process.cpp src/http_connection.cpp + src/json_rpc_connection.cpp src/value.cpp src/lexical_cast.cpp src/spin_lock.cpp @@ -81,6 +82,8 @@ set( sources ) setup_library( fc SOURCES ${sources} ) +setup_executable( json_rpc_test SOURCES tests/json_rpc_test.cpp LIBRARIES fc ${Boost_THREAD_LIBRARY} ${Boost_CONTEXT_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_CHRONO_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ) + #add_executable( test_vec tests/vector_test.cpp ) #target_link_libraries( test_vec fc ${Boost_SYSTEM_LIBRARY} ${Boost_CHRONO_LIBRARY} ${Boost_THREAD_LIBRARY} ${Boost_CONTEXT_LIBRARY} ) diff --git a/tests/json_rpc_test.cpp b/tests/json_rpc_test.cpp new file mode 100644 index 0000000..1ae18c4 --- /dev/null +++ b/tests/json_rpc_test.cpp @@ -0,0 +1,34 @@ +#include +#include + +struct test { + int add(int x){ return x+1; } + int sub(int x){ return x-1; } + int sub1(int x){ return 3; } + int sub2(float x){ return 3; } + int sub3(double x){ return 3; } + int sub4(uint16_t x){ return 3; } + int sub5(char x){ return 3; } + int sub6(uint64_t x){ return 3; } + int sub7(int x){ return 3; } + int sub8(int x){ return 3; } + int sub9(int x){ return 3; } +}; + +FC_STUB( test, (add)(sub)(sub1)(sub2)(sub3)(sub4)(sub5)(sub6)(sub7)(sub8)(sub9) ) + +int main( int argc, char** argv ) { + try { + fc::json::rpc_connection con(fc::cin,fc::cout); + fc::json::rpc_client c( con ); + + slog( "%d", c->add( 5 ).wait() ); + slog( "%d", c->add( 6 ).wait() ); + + slog( "Exiting" ); + } catch ( ... ) { + elog( "%s", fc::except_str().c_str() ); + } + + return 0; +}