2
0
mirror of https://github.com/boostorg/lambda.git synced 2026-01-21 04:52:25 +00:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Peter Dimov
016b12959b Add a Focal libc++ configuration 2021-05-18 05:29:36 +03:00
32 changed files with 133 additions and 926 deletions

View File

@@ -1,643 +0,0 @@
name: CI
on:
pull_request:
push:
branches:
- master
- develop
- feature/**
env:
UBSAN_OPTIONS: print_stacktrace=1
jobs:
posix:
strategy:
fail-fast: false
matrix:
include:
- toolset: gcc-4.8
cxxstd: "11"
os: ubuntu-latest
container: ubuntu:18.04
install: g++-4.8
- toolset: gcc-5
cxxstd: "11,14,1z"
os: ubuntu-latest
container: ubuntu:18.04
install: g++-5
- toolset: gcc-6
cxxstd: "11,14,1z"
os: ubuntu-latest
container: ubuntu:18.04
install: g++-6
- toolset: gcc-7
cxxstd: "11,14,17"
container: ubuntu:20.04
os: ubuntu-latest
install: g++-7
- toolset: gcc-8
cxxstd: "11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: g++-8
- toolset: gcc-9
cxxstd: "11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
- toolset: gcc-10
cxxstd: "11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: g++-10
- toolset: gcc-11
cxxstd: "11,14,17,2a"
os: ubuntu-22.04
- toolset: gcc-12
cxxstd: "11,14,17,20,2b"
os: ubuntu-22.04
install: g++-12
- toolset: gcc-13
cxxstd: "11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: g++-13
- toolset: gcc-14
cxxstd: "11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: g++-14
- toolset: clang
compiler: clang++-3.9
cxxstd: "11,14"
os: ubuntu-latest
container: ubuntu:18.04
install: clang-3.9
- toolset: clang
compiler: clang++-4.0
cxxstd: "11,14"
os: ubuntu-latest
container: ubuntu:18.04
install: clang-4.0
- toolset: clang
compiler: clang++-5.0
cxxstd: "11,14,1z"
os: ubuntu-latest
container: ubuntu:18.04
install: clang-5.0
- toolset: clang
compiler: clang++-6.0
cxxstd: "11,14,17"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-6.0
- toolset: clang
compiler: clang++-7
cxxstd: "11,14,17"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-7
- toolset: clang
compiler: clang++-8
cxxstd: "11,14,17"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-8
- toolset: clang
compiler: clang++-9
cxxstd: "11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-9
- toolset: clang
compiler: clang++-10
cxxstd: "11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-10
- toolset: clang
compiler: clang++-11
cxxstd: "11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-11
- toolset: clang
compiler: clang++-12
cxxstd: "11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-12
- toolset: clang
compiler: clang++-13
cxxstd: "11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-13
- toolset: clang
compiler: clang++-14
cxxstd: "11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-14
- toolset: clang
compiler: clang++-15
cxxstd: "11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-15
- toolset: clang
compiler: clang++-16
cxxstd: "11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-16
- toolset: clang
compiler: clang++-17
cxxstd: "11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang
compiler: clang++-18
cxxstd: "11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-18
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-13
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-14
- toolset: clang
cxxstd: "11,14,17,20,2b"
os: macos-15
runs-on: ${{matrix.os}}
container:
image: ${{matrix.container}}
volumes:
- /node20217:/node20217:rw,rshared
- ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }}
defaults:
run:
shell: bash
steps:
- name: Setup container environment
if: matrix.container
run: |
apt-get update
apt-get -y install sudo python3 git g++ curl xz-utils
- name: Install nodejs20glibc2.17
if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }}
run: |
curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
ldd /__e/node20/bin/node
- uses: actions/checkout@v4
- name: Install packages
if: matrix.install
run: |
sudo apt-get update
sudo apt-get -y install ${{matrix.install}}
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python3 tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
./bootstrap.sh
./b2 -d0 headers
- name: Create user-config.jam
if: matrix.compiler
run: |
echo "using ${{matrix.toolset}} : : ${{matrix.compiler}} ;" > ~/user-config.jam
- name: Run tests
run: |
cd ../boost-root
STDLIB=${{matrix.stdlib}}
./b2 -j3 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} variant=debug,release ${STDLIB:+stdlib=$STDLIB}
windows:
strategy:
fail-fast: false
matrix:
include:
- toolset: msvc-14.0
cxxstd: "14,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.2
cxxstd: "14,17,20,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.3
cxxstd: "14,17,20,latest"
addrmd: 32,64
os: windows-2022
- toolset: clang-win
cxxstd: "14,17,latest"
addrmd: 32,64
os: windows-2022
- toolset: gcc
cxxstd: "11,14,17,2a"
addrmd: 64
os: windows-2019
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup Boost
shell: cmd
run: |
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
echo LIBRARY: %LIBRARY%
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
echo GITHUB_REF: %GITHUB_REF%
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
set BOOST_BRANCH=develop
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
echo BOOST_BRANCH: %BOOST_BRANCH%
cd ..
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
cmd /c bootstrap
b2 -d0 headers
- name: Run tests
shell: cmd
run: |
cd ../boost-root
b2 -j3 libs/%LIBRARY%/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.addrmd}} variant=debug,release
posix-cmake-subdir:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Install packages
if: matrix.install
run: sudo apt install ${{matrix.install}}
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
- name: Use library with add_subdirectory
run: |
cd ../boost-root/libs/$LIBRARY/test/cmake_subdir_test
mkdir __build__ && cd __build__
cmake ..
cmake --build .
ctest --output-on-failure --no-tests=error
posix-cmake-install:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Install packages
if: matrix.install
run: sudo apt install ${{matrix.install}}
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
- name: Configure
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DCMAKE_INSTALL_PREFIX=~/.local ..
- name: Install
run: |
cd ../boost-root/__build__
cmake --build . --target install
- name: Use the installed library
run: |
cd ../boost-root/libs/$LIBRARY/test/cmake_install_test && mkdir __build__ && cd __build__
cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
cmake --build .
ctest --output-on-failure --no-tests=error
posix-cmake-test:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Install packages
if: matrix.install
run: sudo apt install ${{matrix.install}}
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
- name: Configure
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DBUILD_TESTING=ON ..
- name: Build tests
run: |
cd ../boost-root/__build__
cmake --build . --target tests
- name: Run tests
run: |
cd ../boost-root/__build__
ctest --output-on-failure --no-tests=error
windows-cmake-subdir:
strategy:
fail-fast: false
matrix:
include:
- os: windows-2019
- os: windows-2022
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup Boost
shell: cmd
run: |
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
echo LIBRARY: %LIBRARY%
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
echo GITHUB_REF: %GITHUB_REF%
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
set BOOST_BRANCH=develop
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
echo BOOST_BRANCH: %BOOST_BRANCH%
cd ..
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
- name: Use library with add_subdirectory (Debug)
shell: cmd
run: |
cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test
mkdir __build__ && cd __build__
cmake ..
cmake --build . --config Debug
ctest --output-on-failure --no-tests=error -C Debug
- name: Use library with add_subdirectory (Release)
shell: cmd
run: |
cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test/__build__
cmake --build . --config Release
ctest --output-on-failure --no-tests=error -C Release
windows-cmake-install:
strategy:
fail-fast: false
matrix:
include:
- os: windows-2019
- os: windows-2022
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup Boost
shell: cmd
run: |
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
echo LIBRARY: %LIBRARY%
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
echo GITHUB_REF: %GITHUB_REF%
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
set BOOST_BRANCH=develop
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
echo BOOST_BRANCH: %BOOST_BRANCH%
cd ..
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
- name: Configure
shell: cmd
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
- name: Install (Debug)
shell: cmd
run: |
cd ../boost-root/__build__
cmake --build . --target install --config Debug
- name: Install (Release)
shell: cmd
run: |
cd ../boost-root/__build__
cmake --build . --target install --config Release
- name: Use the installed library (Debug)
shell: cmd
run: |
cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test && mkdir __build__ && cd __build__
cmake -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
cmake --build . --config Debug
ctest --output-on-failure --no-tests=error -C Debug
- name: Use the installed library (Release)
shell: cmd
run: |
cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test/__build__
cmake --build . --config Release
ctest --output-on-failure --no-tests=error -C Release
windows-cmake-test:
strategy:
fail-fast: false
matrix:
include:
- os: windows-2019
- os: windows-2022
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup Boost
shell: cmd
run: |
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
echo LIBRARY: %LIBRARY%
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
echo GITHUB_REF: %GITHUB_REF%
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
set BOOST_BRANCH=develop
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
echo BOOST_BRANCH: %BOOST_BRANCH%
cd ..
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
- name: Configure
shell: cmd
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DBUILD_TESTING=ON ..
- name: Build tests (Debug)
shell: cmd
run: |
cd ../boost-root/__build__
cmake --build . --target tests --config Debug
- name: Run tests (Debug)
shell: cmd
run: |
cd ../boost-root/__build__
ctest --output-on-failure --no-tests=error -C Debug
- name: Build tests (Release)
shell: cmd
run: |
cd ../boost-root/__build__
cmake --build . --target tests --config Release
- name: Run tests (Release)
shell: cmd
run: |
cd ../boost-root/__build__
ctest --output-on-failure --no-tests=error -C Release

View File

@@ -138,6 +138,15 @@ matrix:
packages: packages:
- libc++-dev - libc++-dev
- os: linux
dist: focal
compiler: clang++-libc++
env: UBSAN=1 TOOLSET=clang CXXSTD=03,11,14,17,2a UBSAN_OPTIONS=print_stacktrace=1
addons:
apt:
packages:
- libc++-dev
- os: osx - os: osx
compiler: clang++ compiler: clang++
env: UBSAN=1 TOOLSET=clang CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1 env: UBSAN=1 TOOLSET=clang CXXSTD=03,11,14,1z UBSAN_OPTIONS=print_stacktrace=1

View File

@@ -1,4 +1,4 @@
# Copyright 2016-2021 Peter Dimov # Copyright 2017 Edward Diener
# Distributed under the Boost Software License, Version 1.0. # 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) # (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
@@ -10,37 +10,29 @@ branches:
only: only:
- master - master
- develop - develop
- /feature\/.*/
environment: environment:
matrix: matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-14.0 TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0,msvc-12.0,msvc-14.0
ADDRMD: 32,64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: msvc-14.1 TOOLSET: msvc-14.1
CXXSTD: 14,17,latest
ADDRMD: 32,64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
TOOLSET: clang-win
CXXSTD: 14,17,latest
ADDRMD: 32,64
install: install:
- set BOOST_BRANCH=develop
- if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master
- cd .. - cd ..
- git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root - git clone -b %APPVEYOR_REPO_BRANCH% https://github.com/boostorg/boost.git boost-root
- cd boost-root - cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep - git submodule update --init tools/boostdep
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\lambda\ - git submodule update --init tools/boost_install
- git submodule update --init libs/headers
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\lambda
- python tools/boostdep/depinst/depinst.py lambda - python tools/boostdep/depinst/depinst.py lambda
- cmd /c bootstrap - bootstrap
- b2 -d0 headers - b2 headers
build: off build: off
test_script: test_script:
- if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD% - b2 libs/lambda/test toolset=%TOOLSET%
- if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
- b2 -j3 libs/lambda/test toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release embed-manifest-via=linker

View File

@@ -1,30 +0,0 @@
# Copyright René Ferdinand Rivera Morell 2023-2024
# 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)
require-b2 5.2 ;
constant boost_dependencies :
/boost/bind//boost_bind
/boost/config//boost_config
/boost/core//boost_core
/boost/detail//boost_detail
/boost/iterator//boost_iterator
/boost/mpl//boost_mpl
/boost/preprocessor//boost_preprocessor
/boost/tuple//boost_tuple
/boost/type_traits//boost_type_traits
/boost/utility//boost_utility ;
project /boost/lambda
;
explicit
[ alias boost_lambda : : :
: <include>include <library>$(boost_dependencies) ]
[ alias all : boost_lambda test ]
;
call-if : boost-library lambda
;

View File

@@ -14,11 +14,6 @@
#include "boost/lambda/core.hpp" #include "boost/lambda/core.hpp"
// Required for std::is_assignable to work on the result of bind()
#include "boost/lambda/detail/operator_actions.hpp"
#include "boost/lambda/detail/operator_lambda_func_base.hpp"
#include "boost/lambda/detail/operator_return_type_traits.hpp"
#include "boost/lambda/detail/bind_functions.hpp" #include "boost/lambda/detail/bind_functions.hpp"
#endif #endif

View File

@@ -16,11 +16,6 @@
#include "boost/type_traits/remove_cv.hpp" #include "boost/type_traits/remove_cv.hpp"
#include "boost/type_traits/is_pointer.hpp" #include "boost/type_traits/is_pointer.hpp"
#include "boost/config.hpp"
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
#include <utility>
#endif
namespace boost { namespace boost {
namespace lambda { namespace lambda {
@@ -33,12 +28,6 @@ template<class T> struct constructor {
template <class U> struct sig { typedef T type; }; template <class U> struct sig { typedef T type; };
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template <class... Args>
T operator()(Args&&... args) const {
return T(std::forward<Args>(args)...);
}
#else
T operator()() const { T operator()() const {
return T(); return T();
} }
@@ -92,7 +81,6 @@ template<class T> struct constructor {
T operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10) const { T operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10) const {
return T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); return T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
} }
#endif
}; };
@@ -149,12 +137,6 @@ template<class T> struct new_ptr {
template <class U> struct sig { typedef T* type; }; template <class U> struct sig { typedef T* type; };
#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
template <class... Args>
T* operator()(Args&&... args) const {
return new T(std::forward<Args>(args)...);
}
#else
T* operator()() const { T* operator()() const {
return new T(); return new T();
} }
@@ -208,7 +190,6 @@ template<class T> struct new_ptr {
T* operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10) const { T* operator()(A1& a1, A2& a2, A3& a3, A4& a4, A5& a5, A6& a6, A7& a7, A8& a8, A9& a9, A10& a10) const {
return new T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10); return new T(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
} }
#endif
}; };

View File

@@ -11,6 +11,5 @@
], ],
"maintainers": [ "maintainers": [
"Jaakko Jarvi <jarvi -at- cs.tamu.edu>" "Jaakko Jarvi <jarvi -at- cs.tamu.edu>"
], ]
"cxxstd": "03"
} }

View File

@@ -1,11 +0,0 @@
# 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://www.boost.org/LICENSE_1_0.txt
include(BoostTestJamfile OPTIONAL RESULT_VARIABLE HAVE_BOOST_TEST)
if(HAVE_BOOST_TEST)
boost_test_jamfile(FILE Jamfile LINK_LIBRARIES Boost::lambda Boost::core Boost::any Boost::function Boost::smart_ptr)
endif()

View File

@@ -1,36 +1,35 @@
# Lambda library # Lambda library
# Copyright (C) 2001-2003 Jaakko J<EFBFBD>rvi # Copyright (C) 2001-2003 Jaakko Järvi
# Use, modification and distribution is subject to the Boost Software License, # Use, modification and distribution is subject to the Boost Software License,
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at # Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt) # http://www.boost.org/LICENSE_1_0.txt)
# For more information, see http://www.boost.org/ # For more information, see http://www.boost.org/
import testing ; import testing ;
project : requirements <library>/boost/lambda//boost_lambda ; project
: requirements <toolset>msvc:<asynch-exceptions>on
run algorithm_test.cpp ;
run bind_tests_advanced.cpp : : : <library>/boost/any//boost_any ;
run bind_tests_simple.cpp ;
run bind_tests_simple_f_refs.cpp ;
run bll_and_function.cpp ;
run cast_test.cpp ;
run constructor_tests.cpp ;
run control_structures.cpp ;
run exception_test.cpp
: : : <toolset>msvc-14.0,<variant>release:<build>no # crash with 8 catch blocks
; ;
run extending_rt_traits.cpp ;
run is_instance_of_test.cpp ; test-suite lambda
run istreambuf_test.cpp ; : [ run algorithm_test.cpp ]
run member_pointer_test.cpp ; [ run bind_tests_simple.cpp ]
run operator_tests_simple.cpp ; [ run bind_tests_advanced.cpp ]
run phoenix_control_structures.cpp ; [ run bind_tests_simple_f_refs.cpp ]
run result_of_tests.cpp ; [ run bll_and_function.cpp ]
run ret_test.cpp ; [ run cast_test.cpp : : : : lambda_cast_test ]
run rvalue_test.cpp ; [ run constructor_tests.cpp ]
run switch_construct.cpp ; [ run control_structures.cpp ]
link issue24_test.cpp ; [ run exception_test.cpp ]
[ run extending_rt_traits.cpp ]
[ run is_instance_of_test.cpp ]
[ run member_pointer_test.cpp ]
[ run operator_tests_simple.cpp ]
[ run phoenix_control_structures.cpp ]
[ run switch_construct.cpp ]
[ run result_of_tests.cpp ]
[ run ret_test.cpp ]
;

View File

@@ -11,8 +11,7 @@
// test using BLL and boost::function // test using BLL and boost::function
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
#include "boost/lambda/bind.hpp" #include "boost/lambda/bind.hpp"
@@ -47,9 +46,15 @@ void test_foreach() {
// More tests needed (for all algorithms) // More tests needed (for all algorithms)
int main() { int test_main(int, char *[]) {
test_foreach(); test_foreach();
return boost::report_errors(); return 0;
} }

View File

@@ -13,8 +13,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
#include "boost/lambda/bind.hpp" #include "boost/lambda/bind.hpp"
@@ -126,33 +125,15 @@ void test_unlambda() {
BOOST_CHECK(call_with_100(bl::bind(std_functor(std::bind1st(std::plus<int>(), 1)), _1)) == 101); BOOST_CHECK(call_with_100(bl::bind(std_functor(std::bind1st(std::plus<int>(), 1)), _1)) == 101);
#elif BOOST_CXX_VERSION > 201703L
// In C++20, standard functors no longer have ::result_type
BOOST_CHECK(call_with_100(bl::bind(std::bind(std::plus<int>(), 1, std::placeholders::_1), _1)) == 101);
#elif defined(BOOST_MSVC) && BOOST_MSVC < 1900
// Mysterious failures under msvc-12.0 and below
#else #else
BOOST_CHECK(call_with_100(bl::bind(std_functor(std::bind(std::plus<int>(), 1, std::placeholders::_1)), _1)) == 101); BOOST_CHECK(call_with_100(bl::bind(std_functor(std::bind(std::plus<int>(), 1, std::placeholders::_1)), _1)) == 101);
#endif #endif
#if BOOST_CXX_VERSION <= 201703L
// std_functor insturcts LL that the functor defines a result_type typedef // std_functor insturcts LL that the functor defines a result_type typedef
// rather than a sig template. // rather than a sig template.
bl::bind(std_functor(std::plus<int>()), _1, _2)(i, i); bl::bind(std_functor(std::plus<int>()), _1, _2)(i, i);
#else
// In C++20, standard functors no longer have ::result_type
bl::bind(std::plus<int>(), _1, _2)(i, i);
#endif
} }
@@ -432,7 +413,7 @@ void test_abstract()
BOOST_CHECK(bind(&base::foo, *_1)(&b) == 1); BOOST_CHECK(bind(&base::foo, *_1)(&b) == 1);
} }
int main() { int test_main(int, char *[]) {
test_nested_binds(); test_nested_binds();
test_unlambda(); test_unlambda();
@@ -443,5 +424,5 @@ int main() {
test_break_const(); test_break_const();
test_sig(); test_sig();
test_abstract(); test_abstract();
return boost::report_errors(); return 0;
} }

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/bind.hpp" #include "boost/lambda/bind.hpp"
@@ -98,7 +97,7 @@ void test_data_members()
BOOST_CHECK(b.i == 1); BOOST_CHECK(b.i == 1);
} }
int main() { int test_main(int, char *[]) {
int i = 1; int j = 2; int k = 3; int i = 1; int j = 2; int k = 3;
int result; int result;
@@ -184,5 +183,5 @@ int main() {
test_member_functions(); test_member_functions();
return boost::report_errors(); return 0;
} }

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/bind.hpp" #include "boost/lambda/bind.hpp"
@@ -58,7 +57,7 @@ void test_member_functions()
// bind(&A::add, a, _1); // bind(&A::add, a, _1);
} }
int main() { int test_main(int, char *[]) {
int i = 1; int j = 2; int k = 3; int i = 1; int j = 2; int k = 3;
int result; int result;
@@ -145,5 +144,5 @@ int main() {
test_member_functions(); test_member_functions();
return boost::report_errors(); return 0;
} }

View File

@@ -11,8 +11,7 @@
// test using BLL and boost::function // test using BLL and boost::function
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
@@ -55,9 +54,15 @@ void test_function() {
} }
int main() { int test_main(int, char *[]) {
test_function(); test_function();
return boost::report_errors(); return 0;
} }

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
@@ -101,8 +100,8 @@ void do_test() {
} }
int main() { int test_main(int, char *[]) {
do_test(); do_test();
return boost::report_errors(); return 0;
} }

View File

@@ -1,18 +0,0 @@
# 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://www.boost.org/LICENSE_1_0.txt
cmake_minimum_required(VERSION 3.5...3.16)
project(cmake_install_test LANGUAGES CXX)
find_package(boost_lambda REQUIRED)
find_package(boost_core REQUIRED)
add_executable(quick ../quick.cpp)
target_link_libraries(quick Boost::lambda Boost::core)
enable_testing()
add_test(quick quick)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)

View File

@@ -1,21 +0,0 @@
# Copyright 2018, 2019, 2021 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
cmake_minimum_required(VERSION 3.5...3.16)
project(cmake_subdir_test LANGUAGES CXX)
set(BOOST_INCLUDE_LIBRARIES lambda)
add_subdirectory(../../../../ deps/boost)
# --target check
add_executable(quick ../quick.cpp)
target_link_libraries(quick Boost::lambda Boost::core)
enable_testing()
add_test(quick quick)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure -C $<CONFIG>)

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
@@ -253,7 +252,7 @@ void delayed_construction()
bl::bind(constructor<std::pair<int, int> >(), _1, _2) ); bl::bind(constructor<std::pair<int, int> >(), _1, _2) );
} }
int main() { int test_main(int, char *[]) {
constructor_all_lengths(); constructor_all_lengths();
new_ptr_all_lengths(); new_ptr_all_lengths();
@@ -262,5 +261,5 @@ int main() {
test_news_and_deletes(); test_news_and_deletes();
test_array_new_and_delete(); test_array_new_and_delete();
return boost::report_errors(); return 0;
} }

View File

@@ -11,8 +11,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
#include "boost/lambda/if.hpp" #include "boost/lambda/if.hpp"
@@ -116,9 +115,9 @@ void simple_ifs () {
} }
int main() int test_main(int, char *[])
{ {
simple_loops(); simple_loops();
simple_ifs(); simple_ifs();
return boost::report_errors(); return 0;
} }

View File

@@ -11,8 +11,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
@@ -596,7 +595,7 @@ void return_type_matching() {
BOOST_CHECK(a == 'b'); BOOST_CHECK(a == 'b');
} }
int main() { int test_main(int, char *[]) {
try try
{ {
@@ -614,5 +613,9 @@ int main() {
} }
return boost::report_errors(); return EXIT_SUCCESS;
} }

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/bind.hpp" #include "boost/lambda/bind.hpp"
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
@@ -382,8 +381,14 @@ void test_binary_operators() {
} }
int main() { int test_main(int, char *[]) {
test_unary_operators(); test_unary_operators();
test_binary_operators(); test_binary_operators();
return boost::report_errors(); return 0;
} }

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/detail/is_instance_of.hpp" #include "boost/lambda/detail/is_instance_of.hpp"
@@ -46,7 +45,7 @@ template <bool b> class X {};
X<boost::lambda::is_instance_of_2<int, A2>::value> x; X<boost::lambda::is_instance_of_2<int, A2>::value> x;
int main() { int test_main(int, char *[]) {
using boost::lambda::is_instance_of_1; using boost::lambda::is_instance_of_1;
using boost::lambda::is_instance_of_2; using boost::lambda::is_instance_of_2;
@@ -74,6 +73,7 @@ BOOST_CHECK((is_instance_of_4<A4<int, float, char, double>, A4>::value == true))
BOOST_CHECK((is_instance_of_4<int, A4>::value == false)); BOOST_CHECK((is_instance_of_4<int, A4>::value == false));
BOOST_CHECK((is_instance_of_4<C4, A4>::value == false)); BOOST_CHECK((is_instance_of_4<C4, A4>::value == false));
return boost::report_errors(); return 0;
} }

View File

@@ -1,26 +0,0 @@
// Copyright 2021 Peter Dimov
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt
#include <boost/lambda/bind.hpp>
#include <boost/config.hpp>
#include <functional>
#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
#include <boost/config/pragma_message.hpp>
BOOST_PRAGMA_MESSAGE( "Skipping test because BOOST_NO_CXX11_HDR_FUNCTIONAL is defined" )
int main() {}
#else
void func()
{
}
int main()
{
std::function<void()>( boost::lambda::bind( func ) );
}
#endif

View File

@@ -7,7 +7,7 @@
// http://www.boost.org/LICENSE_1_0.txt // http://www.boost.org/LICENSE_1_0.txt
#include <boost/lambda/lambda.hpp> #include <boost/lambda/lambda.hpp>
#include <boost/core/lightweight_test.hpp> #include <boost/detail/lightweight_test.hpp>
#include <iterator> #include <iterator>
#include <sstream> #include <sstream>
#include <algorithm> #include <algorithm>

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
@@ -183,10 +182,11 @@ void test_overloaded_pointer_to_member()
} }
int main() { int test_main(int, char *[]) {
pointer_to_data_member_tests(); pointer_to_data_member_tests();
pointer_to_member_function_tests(); pointer_to_member_function_tests();
test_overloaded_pointer_to_member(); test_overloaded_pointer_to_member();
return boost::report_errors(); return 0;
} }

View File

@@ -13,8 +13,7 @@
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
@@ -409,7 +408,7 @@ void pointer_arithmetic() {
} }
int main() { int test_main(int, char *[]) {
arithmetic_operators(); arithmetic_operators();
bitwise_operators(); bitwise_operators();
@@ -422,5 +421,11 @@ int main() {
comma(); comma();
pointer_arithmetic(); pointer_arithmetic();
cout_tests(); cout_tests();
return boost::report_errors(); return 0;
} }

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
#include "boost/lambda/if.hpp" #include "boost/lambda/if.hpp"
@@ -37,7 +36,7 @@ using namespace std;
// If-else, while, do-while, for statements // If-else, while, do-while, for statements
int main() { int test_main(int, char *[]) {
vector<int> v; vector<int> v;
v.clear(); v.clear();
@@ -144,5 +143,6 @@ int main() {
v = t; v = t;
return boost::report_errors(); return 0;
} }

View File

@@ -1,15 +0,0 @@
// Copyright 2021 Peter Dimov
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt
#include <boost/lambda/lambda.hpp>
#include <boost/core/lightweight_test.hpp>
int main()
{
using namespace boost::lambda;
BOOST_TEST_EQ( (_1 + _2)(1, 2), 3 );
return boost::report_errors();
}

View File

@@ -11,9 +11,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include <boost/lambda/bind.hpp> #include <boost/lambda/bind.hpp>
#include <boost/lambda/lambda.hpp> #include <boost/lambda/lambda.hpp>
#include <boost/mpl/assert.hpp> #include <boost/mpl/assert.hpp>
@@ -254,7 +252,7 @@ typename boost::result_of<F(A, B, C)>::type apply3(F f, A a, B b, C c) {
using namespace boost::lambda; using namespace boost::lambda;
int main() { int test_main(int, char *[]) {
BOOST_CHECK(boost::lambda::bind(with_result_type())() == 0); BOOST_CHECK(boost::lambda::bind(with_result_type())() == 0);
BOOST_CHECK(boost::lambda::bind(with_result_type(), 1)() == 1); BOOST_CHECK(boost::lambda::bind(with_result_type(), 1)() == 1);
BOOST_CHECK(boost::lambda::bind(with_result_type(), 1, 2)() == 2); BOOST_CHECK(boost::lambda::bind(with_result_type(), 1, 2)() == 2);
@@ -313,5 +311,5 @@ int main() {
BOOST_CHECK((apply3<int&, int&, int&>(_1 + _2 + _3, one, two, three) == 6)); BOOST_CHECK((apply3<int&, int&, int&>(_1 + _2 + _3, one, two, three) == 6));
BOOST_CHECK((apply3<const int&, const int&, const int&>(_1 + _2 + _3, one, two, three) == 6)); BOOST_CHECK((apply3<const int&, const int&, const int&>(_1 + _2 + _3, one, two, three) == 6));
return boost::report_errors(); return 0;
} }

View File

@@ -8,8 +8,7 @@
// //
// For more information, see www.boost.org // For more information, see www.boost.org
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp>
#define BOOST_CHECK BOOST_TEST
#include <boost/lambda/lambda.hpp> #include <boost/lambda/lambda.hpp>
@@ -45,10 +44,10 @@ add_result operator+(addable, addable) {
return add_result(7); return add_result(7);
} }
int main() { int test_main(int, char*[]) {
addable test; addable test;
test_ret(add_result(7), boost::lambda::ret<add_result>(boost::lambda::_1 + test), test); test_ret(add_result(7), boost::lambda::ret<add_result>(boost::lambda::_1 + test), test);
test_ret(8.0, boost::lambda::ret<double>(boost::lambda::constant(7) + 1)); test_ret(8.0, boost::lambda::ret<double>(boost::lambda::constant(7) + 1));
return boost::report_errors(); return 0;
} }

View File

@@ -7,7 +7,7 @@
// http://www.boost.org/LICENSE_1_0.txt // http://www.boost.org/LICENSE_1_0.txt
#include <boost/lambda/lambda.hpp> #include <boost/lambda/lambda.hpp>
#include <boost/core/lightweight_test.hpp> #include <boost/detail/lightweight_test.hpp>
int main() int main()
{ {

View File

@@ -12,8 +12,7 @@
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
#include <boost/core/lightweight_test.hpp> #include <boost/test/minimal.hpp> // see "Header Implementation Option"
#define BOOST_CHECK BOOST_TEST
#include "boost/lambda/lambda.hpp" #include "boost/lambda/lambda.hpp"
@@ -380,13 +379,14 @@ void test_empty_cases() {
} }
int main() { int test_main(int, char* []) {
do_switch_no_defaults_tests(); do_switch_no_defaults_tests();
do_switch_yes_defaults_tests(); do_switch_yes_defaults_tests();
test_empty_cases(); test_empty_cases();
return boost::report_errors(); return EXIT_SUCCESS;
} }