From 14590e47eaf20e26e6c61a2574ca4fe4a78579a9 Mon Sep 17 00:00:00 2001
From: Jan Caron <j.caron@fz-juelich.de>
Date: Thu, 27 Jul 2017 12:18:10 +0200
Subject: [PATCH] Added second test to gitlab-ci.yml!

---
 .gitlab-ci.yml    | 88 ++++++++++++++++++++++++++++-------------------
 pyramid/kernel.py |  2 ++
 2 files changed, 54 insertions(+), 36 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 975cc20..63b2383 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -71,53 +71,69 @@
 #    # Execute tests:
 #    - python setup.py test
 #
-image: ubuntu:16.04
-
-before_script:
-
-#  # Check and print Python version
-#  - python --version
-  # Create SSH configuration directory if necessary (also parents with -p, mode: read/write/exec):
-  - mkdir -p --mode=700 ~/.ssh/
-  # Add SSH key for jutil:
-  - echo "$ID_RSA_JUTIL_PRIVATE" > ~/.ssh/id_rsa_jutil
-  # Provide read access to owner (octal value code: 400) to jutil key and known_hosts with chmod:
-  - chmod 400 ~/.ssh/id_rsa_jutil
-  # Configure SSH to use ~/.ssh/jutil_key for iffgit.fz-juelich.de (-e allows \n):
-  - echo -e "Host iffgit.fz-juelich.de\n\tIdentityFile ~/.ssh/id_rsa_jutil\n" > ~/.ssh/config
-  # Add iffgit.fz-juelich.de to known_hosts (not the same key as Jutil!):
-  - echo iffgit.fz-juelich.de,134.94.161.83 "$ID_RSA_IFFGIT_PUBLIC" > ~/.ssh/known_hosts
-  # Provide read access to owner (octal value code: 400) to known_hosts with chmod:
-  - chmod 400 ~/.ssh/known_hosts
-
-  # Script from Ingo Heimbach:
-  - apt-get update
-  - apt-get install -y curl bzip2 git mesa-utils
-  - curl -O -L https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
-  - chmod +x Miniconda3-latest-Linux-x86_64.sh
-  - ./Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda3
-  - export PATH="/opt/miniconda3/bin:${PATH}"
-  - apt-cache policy git
-#  - conda create -y -n pyramid python
-#  - source activate test_env
-#  - conda install -y numpy
-#  - python -c "import numpy as np; print(np.__file__, np.__version__)"
-
-
 
 stages:
   - test
 
-test_conda:
+before_script:
+    # Create SSH configuration directory if necessary (also parents with -p, mode: read/write/exec):
+    - mkdir -p --mode=700 ~/.ssh/
+    # Add SSH key for jutil:
+    - echo "$ID_RSA_JUTIL_PRIVATE" > ~/.ssh/id_rsa_jutil
+    # Provide read access to owner (octal value code: 400) to jutil key and known_hosts with chmod:
+    - chmod 400 ~/.ssh/id_rsa_jutil
+    # Configure SSH to use ~/.ssh/jutil_key for iffgit.fz-juelich.de (-e allows \n):
+    - echo -e "Host iffgit.fz-juelich.de\n\tIdentityFile ~/.ssh/id_rsa_jutil\n" > ~/.ssh/config
+    # Add iffgit.fz-juelich.de to known_hosts (not the same key as Jutil!):
+    - echo iffgit.fz-juelich.de,134.94.161.83 "$ID_RSA_IFFGIT_PUBLIC" > ~/.ssh/known_hosts
+    # Provide read access to owner (octal value code: 400) to known_hosts with chmod:
+    - chmod 400 ~/.ssh/known_hosts
+
+test_conda_ubuntu:
+  stage: test
+  image: ubuntu:16.04
+  script:
+    # Install necessary apps like git and mesa-utils (needed for GL):
+    - apt-get update
+    - apt-get install -y curl bzip2 git mesa-utils
+    # Install miniconda:
+    - curl -O -L https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
+    - chmod +x Miniconda3-latest-Linux-x86_64.sh
+    - ./Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda3
+    - export PATH="/opt/miniconda3/bin:${PATH}"
+    # Install requirements for pyramid:
+    - conda info --envs
+    - conda env create -q # -q: quiet/ no progressbar, because it spams the log!
+    - source activate pyramid
+    - conda info --envs
+    - conda uninstall mayavi vtk -y  # TODO: necessary, because mayavi does not play nice with qt5!
+    - conda install pyqt=5  # TODO: This is needed for tests to run, but breaks mayavi (not used)!
+    # Install jutil via secure ssh connection:
+    - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git
+    # Execute tests:
+    - python setup.py test
+
+test_miniconda:
   stage: test
+  image: continuumio/miniconda3
   script:
-    # Install requirements:
+    # Install necessary apps like git and mesa-utils (needed for GL):
+    - apt-get update
+    - apt-get install -y curl bzip2 git mesa-utils
+    # Install requirements for pyramid:
     - conda info --envs
     - conda env create -q # -q: quiet/ no progressbar, because it spams the log!
     - source activate pyramid
     - conda info --envs
-    - conda install pyqt=5.6.0 -y  # This is needed for tests to run, but breaks mayavi (not used)!
+    - conda uninstall mayavi vtk -y  # TODO: necessary, because mayavi does not play nice with qt5!
+    - conda install pyqt=5  # TODO: This is needed for tests to run, but breaks mayavi (not used)!
     # Install jutil via secure ssh connection:
     - pip install git+ssh://gitlab@iffgit.fz-juelich.de/unger/jutil.git
     # Execute tests:
     - python setup.py test
+
+test_basic:
+  stage: test
+  image: python:3.5
+  script:
+    - python --version
diff --git a/pyramid/kernel.py b/pyramid/kernel.py
index 8567ad8..946b689 100644
--- a/pyramid/kernel.py
+++ b/pyramid/kernel.py
@@ -100,9 +100,11 @@ class Kernel(object):
         u = np.linspace(-(u_dim - 1), u_dim - 1, num=2 * u_dim - 1)
         v = np.linspace(-(v_dim - 1), v_dim - 1, num=2 * v_dim - 1)
         uu, vv = np.meshgrid(u, v)
+        # TODO: u, v are coordinates, rename self.u/v to self.kern_u/v!
         self.u = np.empty(self.dim_kern, dtype=dtype)
         self.v = np.empty(self.dim_kern, dtype=dtype)
         self.u[...] = coeff * self._get_elementary_phase(geometry, uu, vv, a)
+        # TODO: The minus sign belongs into the phasemapper (debatable)!
         self.v[...] = coeff * -self._get_elementary_phase(geometry, vv, uu, a)
         # Include perturbed reference wave:
         if prw_vec is not None:
-- 
GitLab