def test_runtime(self): """Runtime""" b = boost() r = b.runtime() self.assertEqual(r, r'''# Boost COPY --from=0 /usr/local/boost /usr/local/boost ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
def test_defaults_ubuntu(self): """Default boost building block""" b = boost() self.assertEqual( str(b), r'''# Boost version 1.67.0 RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ bzip2 \ tar \ wget && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_67_0.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/boost_1_67_0 && ./bootstrap.sh --prefix=/usr/local/boost && \ ./b2 -j4 install && \ rm -rf /var/tmp/boost_1_67_0.tar.bz2 /var/tmp/boost_1_67_0 ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
def test_b2_opts(self): b = boost(b2_opts=['cxxflags="-std=c++14"'], version='1.72.0') self.assertEqual(str(b), r'''# Boost version 1.72.0 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ bzip2 \ libbz2-dev \ tar \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_72_0.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/boost_1_72_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \ ./b2 cxxflags="-std=c++14" -j$(nproc) -q install && \ rm -rf /var/tmp/boost_1_72_0.tar.bz2 /var/tmp/boost_1_72_0 ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
def test_defaults_centos(self): """Default boost building block""" b = boost() self.assertEqual(str(b), r'''# Boost version 1.74.0 RUN yum install -y \ bzip2 \ bzip2-devel \ tar \ wget \ which \ zlib-devel && \ rm -rf /var/cache/yum/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_74_0.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/boost_1_74_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \ ./b2 -j$(nproc) -q install && \ rm -rf /var/tmp/boost_1_74_0.tar.bz2 /var/tmp/boost_1_74_0 ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
def test_defaults_ubuntu(self): """Default boost building block""" b = boost() self.assertEqual(str(b), r'''# Boost version 1.74.0 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ bzip2 \ libbz2-dev \ tar \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.74.0/source/boost_1_74_0.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_74_0.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/boost_1_74_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \ ./b2 -j$(nproc) -q install && \ rm -rf /var/tmp/boost_1_74_0.tar.bz2 /var/tmp/boost_1_74_0 ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
def test_ldconfig(self): """ldconfig option""" b = boost(ldconfig=True, version='1.68.0') self.assertEqual(str(b), r'''# Boost version 1.68.0 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ bzip2 \ libbz2-dev \ tar \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_68_0.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/boost_1_68_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \ ./b2 -j$(nproc) -q install && \ echo "/usr/local/boost/lib" >> /etc/ld.so.conf.d/hpccm.conf && ldconfig && \ rm -rf /var/tmp/boost_1_68_0.tar.bz2 /var/tmp/boost_1_68_0''')
def test_sourceforge(self): """sourceforge option""" b = boost(sourceforge=True, version='1.57.0') self.assertEqual(str(b), r'''# Boost version 1.57.0 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ bzip2 \ libbz2-dev \ tar \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_57_0.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/boost_1_57_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \ ./b2 -j$(nproc) -q install && \ rm -rf /var/tmp/boost_1_57_0.tar.bz2 /var/tmp/boost_1_57_0 ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')
def test_python(self): """python option""" b = boost(python=True, version='1.72.0') self.assertEqual( str(b), r'''# Boost version 1.72.0 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ bzip2 \ libbz2-dev \ tar \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://boostorg.jfrog.io/artifactory/main/release/1.72.0/source/boost_1_72_0.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_72_0.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/boost_1_72_0 && ./bootstrap.sh --prefix=/usr/local/boost && \ ./b2 -j$(nproc) -q install && \ rm -rf /var/tmp/boost_1_72_0.tar.bz2 /var/tmp/boost_1_72_0 ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH''')