summaryrefslogtreecommitdiffstats
path: root/src/boost/tools/boost_install/test/serialization
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/tools/boost_install/test/serialization')
-rw-r--r--src/boost/tools/boost_install/test/serialization/CMakeLists.txt42
-rw-r--r--src/boost/tools/boost_install/test/serialization/quick.cpp36
-rw-r--r--src/boost/tools/boost_install/test/serialization/wquick.cpp36
3 files changed, 114 insertions, 0 deletions
diff --git a/src/boost/tools/boost_install/test/serialization/CMakeLists.txt b/src/boost/tools/boost_install/test/serialization/CMakeLists.txt
new file mode 100644
index 00000000..c1003a45
--- /dev/null
+++ b/src/boost/tools/boost_install/test/serialization/CMakeLists.txt
@@ -0,0 +1,42 @@
+# Copyright 2018, 2019 Peter Dimov
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
+
+cmake_minimum_required(VERSION 3.5)
+
+if(POLICY CMP0074)
+ cmake_policy(SET CMP0074 NEW)
+endif()
+
+project(CmakeConfigSerializationTest LANGUAGES CXX)
+
+include(${CMAKE_CURRENT_LIST_DIR}/../BoostVersion.cmake)
+
+set(BOOST_HINTS)
+
+if(USE_STAGED_BOOST)
+ set(BOOST_HINTS HINTS ../../../../stage)
+endif()
+
+if(USE_BOOST_PACKAGE)
+
+ find_package(Boost ${BOOST_VERSION} EXACT REQUIRED COMPONENTS serialization wserialization ${BOOST_HINTS})
+
+else()
+
+ find_package(boost_serialization ${BOOST_VERSION} EXACT CONFIG REQUIRED ${BOOST_HINTS})
+ find_package(boost_wserialization ${BOOST_VERSION} EXACT CONFIG REQUIRED ${BOOST_HINTS})
+
+endif()
+
+add_executable(quick quick.cpp)
+target_link_libraries(quick Boost::serialization)
+
+add_executable(wquick wquick.cpp)
+target_link_libraries(wquick Boost::wserialization)
+
+enable_testing()
+add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)
+
+add_test(quick quick)
+add_test(wquick wquick)
diff --git a/src/boost/tools/boost_install/test/serialization/quick.cpp b/src/boost/tools/boost_install/test/serialization/quick.cpp
new file mode 100644
index 00000000..ba1a022c
--- /dev/null
+++ b/src/boost/tools/boost_install/test/serialization/quick.cpp
@@ -0,0 +1,36 @@
+
+// Copyright 2018 Peter Dimov.
+//
+// Distributed under the Boost Software License, Version 1.0.
+//
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+
+#include <boost/archive/text_iarchive.hpp>
+#include <boost/archive/text_oarchive.hpp>
+#include <boost/core/lightweight_test.hpp>
+#include <sstream>
+#include <string>
+
+int main()
+{
+ std::ostringstream os;
+ std::string s1( "pumpkin pie" );
+
+ {
+ boost::archive::text_oarchive oa( os );
+ oa << s1;
+ }
+
+ std::istringstream is( os.str() );
+ std::string s2;
+
+ {
+ boost::archive::text_iarchive ia( is );
+ ia >> s2;
+ }
+
+ BOOST_TEST_EQ( s1, s2 );
+
+ return boost::report_errors();
+}
diff --git a/src/boost/tools/boost_install/test/serialization/wquick.cpp b/src/boost/tools/boost_install/test/serialization/wquick.cpp
new file mode 100644
index 00000000..019d5536
--- /dev/null
+++ b/src/boost/tools/boost_install/test/serialization/wquick.cpp
@@ -0,0 +1,36 @@
+
+// Copyright 2018 Peter Dimov.
+//
+// Distributed under the Boost Software License, Version 1.0.
+//
+// See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt
+
+#include <boost/archive/text_wiarchive.hpp>
+#include <boost/archive/text_woarchive.hpp>
+#include <boost/core/lightweight_test.hpp>
+#include <sstream>
+#include <string>
+
+int main()
+{
+ std::wostringstream os;
+ std::string s1( "pumpkin pie" );
+
+ {
+ boost::archive::text_woarchive oa( os );
+ oa << s1;
+ }
+
+ std::wistringstream is( os.str() );
+ std::string s2;
+
+ {
+ boost::archive::text_wiarchive ia( is );
+ ia >> s2;
+ }
+
+ BOOST_TEST_EQ( s1, s2 );
+
+ return boost::report_errors();
+}