Merge: Some more small improvements on gitlab-ci
authorJean Privat <jean@pryen.org>
Thu, 13 Jun 2019 14:14:24 +0000 (10:14 -0400)
committerJean Privat <jean@pryen.org>
Thu, 13 Jun 2019 14:14:24 +0000 (10:14 -0400)
Pull-Request: #2744

1  2 
.gitlab-ci.yml
tests/tests.sh

diff --combined .gitlab-ci.yml
@@@ -51,7 -51,7 +51,7 @@@ sanity_checks
      - misc/jenkins/checksignedoffby.sh | tee -a status.txt
      - misc/jenkins/checklicense.sh | tee -a status.txt
  
 -build_tools:
 +build_tools: &build_tools
    stage: build
    script:
      - make 2>> status.txt
@@@ -65,7 -65,7 +65,7 @@@
        - src/nitc_0
      when: always
  
 -test_some:
 +test_some: &test_some
    stage: test
    dependencies:
      - build_tools
@@@ -77,7 -77,7 +77,7 @@@
    artifacts:
      paths:
        - tests/errlist
-       - tests/*.xml
+       - tests/*.xml*
      when: always
      reports:
        junit: tests/*.xml
@@@ -90,6 -90,7 +90,7 @@@ nitunit_some
      - git diff --name-only origin/master..HEAD -- "*.nit" "*.res" "README.*" | grep -v "^tests/" > list0.txt || true
      - xargs nitls -pP < list0.txt > list.txt
      - xargs nitunit < list.txt
+     - junit2html nitunit.xml
    artifacts:
      paths:
        - nitunit.xml*
@@@ -119,12 -120,11 +120,12 @@@ basic_android
  
  # TEST FULL #########################################################
  
 -test_full_nitcs:
 +test_full_nitcs: &test_full_nitcs
    stage: more_test
    dependencies:
      - build_tools
    script:
 +    - share/android-bdwgc/setup.sh
      - cd tests
      - ./testfull.sh | tee log.txt
      - grep -v '=>' log.txt > ../status.txt || true
@@@ -221,6 -221,7 +222,7 @@@ nitunit_lib
      - xargs nitunit -v < list.txt| tee log.txt
      - grep -e KO log.txt > status.txt || true
      - tail -3 log.txt >> status.txt
+     - junit2html nitunit.xml
    artifacts:
      paths:
        - nitunit.xml*
@@@ -238,6 -239,7 +240,7 @@@ nitunit_src
      - xargs nitunit -v < list.txt| tee log.txt
      - grep -e KO log.txt > status.txt || true
      - tail -3 log.txt >> status.txt
+     - junit2html nitunit.xml
    artifacts:
      paths:
        - nitunit.xml*
@@@ -329,6 -331,21 +332,21 @@@ build_more_tools
        - src/version.nit
        - src/nitc_0
  
+ valgrind:
+   stage: more_test
+   dependencies:
+     - build_more_tools
+   script:
+     - mkdir -p valgrind.out
+     - nitc src/nitc.nit # To warm-up the cache
+     - src/valgrind.sh --callgrind-out-file=valgrind.out/nitc.nitc.out nitc src/nitc.nit -vv
+     - callgrind_annotate valgrind.out/nitc.nitc.out > valgrind.out/nitc.nitc.txt
+     - src/valgrind.sh --callgrind-out-file=valgrind.out/niti.niti.out nit -- src/nit.nit tests/base_simple3.nit -vv
+     - callgrind_annotate valgrind.out/niti.niti.out > valgrind.out/niti.niti.txt
+   artifacts:
+     paths:
+       - valgrind.out
  build_doc:
    stage: more_test
    dependencies:
      paths:
        - nitdoc.out
  
+ nitmetrics:
+   stage: more_test
+   dependencies:
+     - build_more_tools
+   script:
+     - nitmetrics --all --log --log-dir nitmetrics.out --dir nitmetrics.out --keep-going lib src
+   artifacts:
+     paths:
+       - nitmetrics.out
  build_catalog:
    stage: more_test
    dependencies:
      paths:
        - catalog.out
  
 -.test_macos:
 -  script:
 -    - uname
 -    - pwd
 -    - ls /
 -  stage: build
 +build_tools_macos:
 +  <<: *build_tools
 +  tags:
 +    - macos
 +
 +test_some_macos:
 +  <<: *test_some
    tags:
      - macos
 +  dependencies:
 +    - build_tools_macos
 +
 +test_full_nitcs_macos:
 +  <<: *test_full_nitcs
 +  tags:
 +    - macos
 +  dependencies:
 +    - build_tools_macos
diff --combined tests/tests.sh
@@@ -37,13 -37,9 +37,13 @@@ if ! locale -a 2>/dev/null | grep -q C.
  fi
  export LC_ALL="$locale_candidate"
  
 +# Darwin / macOS
  if uname | grep Darwin 1>/dev/null 2>&1; then
        export LANG=en_US.UTF-8
        export LC_ALL=en_US.UTF-8
 +
 +      # Fix for errors on some libevent/nitcorn clients
 +      export EVENT_NOKQUEUE=1
  fi
  
  export NIT_TESTING=true
  
  echo >>$xml "</testsuite></testsuites>"
  
+ if type junit2html >/dev/null; then
+       junit2html "$xml"
+ fi
  if [ -n "$nok" ]; then
        exit 1
  else