def test_runtime(self): """Runtime""" h = hdf5() r = h.runtime() self.assertEqual( r, r'''# HDF5 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ zlib1g && \ rm -rf /var/lib/apt/lists/* COPY --from=0 /usr/local/hdf5 /usr/local/hdf5 ENV HDF5_DIR=/usr/local/hdf5 \ LD_LIBRARY_PATH=/usr/local/hdf5/lib:$LD_LIBRARY_PATH \ PATH=/usr/local/hdf5/bin:$PATH''')
def test_directory(self): """Directory in local build context""" h = hdf5(directory='hdf5-1.10.1') self.assertEqual( str(h), r'''# HDF5 RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ file \ make \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* COPY hdf5-1.10.1 /var/tmp/hdf5-1.10.1 RUN cd /var/tmp/hdf5-1.10.1 && ./configure --prefix=/usr/local/hdf5 --enable-cxx --enable-fortran && \ make -j4 && \ make -j4 install && \ rm -rf /var/tmp/hdf5-1.10.1 ENV HDF5_DIR=/usr/local/hdf5 \ LD_LIBRARY_PATH=/usr/local/hdf5/lib:$LD_LIBRARY_PATH \ PATH=/usr/local/hdf5/bin:$PATH''')
def test_defaults_centos(self): """Default hdf5 building block""" h = hdf5() self.assertEqual( str(h), r'''# HDF5 version 1.10.4 RUN yum install -y \ bzip2 \ file \ make \ wget \ zlib-devel && \ rm -rf /var/cache/yum/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.4/src/hdf5-1.10.4.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/hdf5-1.10.4.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/hdf5-1.10.4 && ./configure --prefix=/usr/local/hdf5 --enable-cxx --enable-fortran && \ make -j$(nproc) && \ make -j$(nproc) install && \ rm -rf /var/tmp/hdf5-1.10.4.tar.bz2 /var/tmp/hdf5-1.10.4 ENV HDF5_DIR=/usr/local/hdf5 \ LD_LIBRARY_PATH=/usr/local/hdf5/lib:$LD_LIBRARY_PATH \ PATH=/usr/local/hdf5/bin:$PATH''')
def test_defaults_ubuntu(self): """Default hdf5 building block""" h = hdf5() self.assertEqual( str(h), r'''# HDF5 version 1.10.1 RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ file \ make \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/hdf5-1.10.1.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/hdf5-1.10.1.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/hdf5-1.10.1 && ./configure --prefix=/usr/local/hdf5 --enable-cxx --enable-fortran && \ make -j4 && \ make -j4 install && \ rm -rf /var/tmp/hdf5-1.10.1.tar.bz2 /var/tmp/hdf5-1.10.1 ENV HDF5_DIR=/usr/local/hdf5 \ LD_LIBRARY_PATH=/usr/local/hdf5/lib:$LD_LIBRARY_PATH \ PATH=/usr/local/hdf5/bin:$PATH''')
def test_ldconfig(self): """ldconfig option""" h = hdf5(ldconfig=True, version='1.10.4') self.assertEqual( str(h), r'''# HDF5 version 1.10.4 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ bzip2 \ file \ make \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.4/src/hdf5-1.10.4.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/hdf5-1.10.4.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/hdf5-1.10.4 && ./configure --prefix=/usr/local/hdf5 --enable-cxx --enable-fortran && \ make -j$(nproc) && \ make -j$(nproc) install && \ echo "/usr/local/hdf5/lib" >> /etc/ld.so.conf.d/hpccm.conf && ldconfig && \ rm -rf /var/tmp/hdf5-1.10.4.tar.bz2 /var/tmp/hdf5-1.10.4 ENV HDF5_DIR=/usr/local/hdf5 \ PATH=/usr/local/hdf5/bin:$PATH''')
def test_defaults_ubuntu(self): """Default hdf5 building block""" h = hdf5() self.assertEqual(str(h), r'''# HDF5 version 1.12.0 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ bzip2 \ file \ make \ wget \ zlib1g-dev && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.0/src/hdf5-1.12.0.tar.bz2 && \ mkdir -p /var/tmp && tar -x -f /var/tmp/hdf5-1.12.0.tar.bz2 -C /var/tmp -j && \ cd /var/tmp/hdf5-1.12.0 && ./configure --prefix=/usr/local/hdf5 --enable-cxx --enable-fortran && \ make -j$(nproc) && \ make -j$(nproc) install && \ rm -rf /var/tmp/hdf5-1.12.0 /var/tmp/hdf5-1.12.0.tar.bz2 ENV CPATH=/usr/local/hdf5/include:$CPATH \ HDF5_DIR=/usr/local/hdf5 \ LD_LIBRARY_PATH=/usr/local/hdf5/lib:$LD_LIBRARY_PATH \ LIBRARY_PATH=/usr/local/hdf5/lib:$LIBRARY_PATH \ PATH=/usr/local/hdf5/bin:$PATH''')