def test_mpivars(self): """mpivars is False""" impi = intel_mpi(eula=True, mpivars=False) self.assertEqual( str(impi), r'''# Intel MPI version 2019.1-053 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ apt-transport-https \ ca-certificates \ gnupg \ man-db \ openssh-client \ wget && \ rm -rf /var/lib/apt/lists/* RUN wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB | apt-key add - && \ echo "deb https://apt.repos.intel.com/mpi all main" >> /etc/apt/sources.list.d/hpccm.list && \ apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ intel-mpi-2019.1-053 && \ rm -rf /var/lib/apt/lists/* ENV FI_PROVIDER_PATH=/opt/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib/prov \ I_MPI_ROOT=/opt/intel/compilers_and_libraries/linux/mpi \ LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries/linux/mpi/intel64/lib:/opt/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/lib:$LD_LIBRARY_PATH \ PATH=/opt/intel/compilers_and_libraries/linux/mpi/intel64/bin:/opt/intel/compilers_and_libraries/linux/mpi/intel64/libfabric/bin:$PATH''' )
def test_basic_centos(self): """Default intel_mpi building block""" impi = intel_mpi(eula=True) self.assertEqual( str(impi), r'''# Intel MPI version 2018.3-051 RUN rpm --import https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB && \ yum-config-manager --add-repo https://yum.repos.intel.com/mpi/setup/intel-mpi.repo && \ yum install -y \ intel-mpi-2018.3-051 && \ rm -rf /var/cache/yum/* RUN echo "source /opt/intel/compilers_and_libraries/linux/mpi/bin64/mpivars.sh intel64" >> /etc/bashrc''' )
def test_version(self): """Version option""" impi = intel_mpi(eula=True, version='2018.2-046') self.assertEqual( str(impi), r'''# Intel MPI version 2018.2-046 RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ apt-transport-https \ ca-certificates \ wget && \ rm -rf /var/lib/apt/lists/* RUN wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB | apt-key add - && \ echo "deb https://apt.repos.intel.com/mpi all main" >> /etc/apt/sources.list.d/hpccm.list && \ apt-get update -y && \ apt-get install -y --no-install-recommends \ intel-mpi-2018.2-046 && \ rm -rf /var/lib/apt/lists/* RUN echo "source /opt/intel/compilers_and_libraries/linux/mpi/bin64/mpivars.sh intel64" >> /etc/bash.bashrc''' )
def test_mpivars(self): """mpivars is False""" impi = intel_mpi(eula=True, mpivars=False) self.assertEqual( str(impi), r'''# Intel MPI version 2018.3-051 RUN apt-get update -y && \ apt-get install -y --no-install-recommends \ apt-transport-https \ ca-certificates \ wget && \ rm -rf /var/lib/apt/lists/* RUN wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB | apt-key add - && \ echo "deb https://apt.repos.intel.com/mpi all main" >> /etc/apt/sources.list.d/hpccm.list && \ apt-get update -y && \ apt-get install -y --no-install-recommends \ intel-mpi-2018.3-051 && \ rm -rf /var/lib/apt/lists/* ENV I_MPI_ROOT=/opt/intel/compilers_and_libraries/linux/mpi \ LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries/linux/mpi/lib64:$LD_LIBRARY_PATH \ PATH=/opt/intel/compilers_and_libraries/linux/mpi/bin64:$PATH''')
def test_basic_ubuntu(self): """Default intel_mpi building block""" impi = intel_mpi(eula=True) self.assertEqual(str(impi), r'''# Intel MPI version 2019.4-070 RUN apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ apt-transport-https \ ca-certificates \ gnupg \ man-db \ openssh-client \ wget && \ rm -rf /var/lib/apt/lists/* RUN wget -qO - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB | apt-key add - && \ echo "deb https://apt.repos.intel.com/mpi all main" >> /etc/apt/sources.list.d/hpccm.list && \ apt-get update -y && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ intel-mpi-2019.4-070 && \ rm -rf /var/lib/apt/lists/* RUN echo "source /opt/intel/compilers_and_libraries/linux/mpi/intel64/bin/mpivars.sh intel64" >> /etc/bash.bashrc''')
def test_defaults(self): """Default intel_mpi building block, no eula agreement""" impi = intel_mpi() with self.assertRaises(RuntimeError): str(impi)