From 1d00f7f9d73edb79cc581ca9b49fb038573c01d5 Mon Sep 17 00:00:00 2001 From: alaviss Date: Thu, 30 May 2019 12:34:54 +0700 Subject: [PATCH] travis: cleanup & add 32-bit Linux testing (#11337) --- .travis.yml | 48 ++++++++++++++++++++-------- koch.nim | 2 +- tests/errmsgs/twrong_at_operator.nim | 5 +-- tests/gc/closureleak.nim | 1 + 4 files changed, 39 insertions(+), 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index 721e87db66..153b93b145 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,13 +8,35 @@ matrix: include: - os: linux - env: NIM_COMPILE_TO_CPP=false + env: + - NIM_COMPILE_TO_CPP=false + - CPU=amd64 + + - os: linux + env: + - NIM_COMPILE_TO_CPP=false + - CPU=i386 + addons: + apt: + packages: + - gcc-multilib + - g++-multilib + - libcurl4-openssl-dev:i386 + - libgc-dev:i386 + - libglib2.0-dev:i386 + - libpulse-dev:i386 + - libsdl1.2-dev:i386 + - libsfml-dev:i386 - os: osx - env: NIM_COMPILE_TO_CPP=false + env: + - NIM_COMPILE_TO_CPP=false + - CPU=amd64 - os: osx - env: NIM_COMPILE_TO_CPP=true + env: + - NIM_COMPILE_TO_CPP=true + - CPU=amd64 # To allow failures for a failing configuration, use something like: # allow_failures: @@ -23,6 +45,7 @@ matrix: addons: apt: + # update the list above if more deps are introduced packages: - libcurl4-openssl-dev - libsdl1.2-dev @@ -34,25 +57,22 @@ addons: - make - sfml +install: + - if [[ $CPU = i386 ]]; then echo -e "#!/bin/bash\n$(which gcc) -m32 \"\$@\"" > bin/gcc; fi + - if [[ $CPU = i386 ]]; then chmod 755 bin/gcc; fi + - if [[ $CPU = i386 ]]; then echo -e "#!/bin/bash\n$(which g++) -m32 \"\$@\"" > bin/g++; fi + - if [[ $CPU = i386 ]]; then chmod 755 bin/g++; fi + before_script: - - set -e - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then unset -f cd; fi - - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then shell_session_update() { :; }; fi - git clone --depth 1 https://github.com/nim-lang/csources.git - - cd csources - - make -j 2 LD=$CC - - cd .. - - export PATH=$(pwd)/bin${PATH:+:$PATH} - - echo PATH:${PATH} - - set +e # prevents breaking after_failure + - export PATH="$PWD/bin${PATH:+:$PATH}" + - make -C csources -j 2 LD=$CC ucpu=$CPU script: - - set -e - echo "travis_fold:start:nim_c_koch" - nim c koch - echo "travis_fold:end:nim_c_koch" - ./koch runCI - - set +e before_deploy: # Make https://nim-lang.github.io/Nim work the same as https://nim-lang.github.io/Nim/overview.html diff --git a/koch.nim b/koch.nim index 2edcd73b1d..8313d08665 100644 --- a/koch.nim +++ b/koch.nim @@ -165,7 +165,7 @@ proc buildNimble(latest: bool) = nimCompile(installDir / "src/nimble.nim", options = "--noNimblePath --nilseqs:on -d:release") proc bundleNimsuggest() = - nimCompile("nimsuggest/nimsuggest.nim", options = "-d:release") + nimCompileFold("Compile nimsuggest", "nimsuggest/nimsuggest.nim", options = "-d:release") proc buildVccTool() = nimCompileFold("Compile Vcc", "tools/vccexe/vccexe.nim") diff --git a/tests/errmsgs/twrong_at_operator.nim b/tests/errmsgs/twrong_at_operator.nim index b6b3d101fd..5413515cb3 100644 --- a/tests/errmsgs/twrong_at_operator.nim +++ b/tests/errmsgs/twrong_at_operator.nim @@ -1,14 +1,15 @@ discard """ errormsg: "type mismatch: got " -line: 15 +line: 16 nimout: ''' -twrong_at_operator.nim(15, 30) Error: type mismatch: got +twrong_at_operator.nim(16, 30) Error: type mismatch: got but expected one of: proc `@`[T](a: openArray[T]): seq[T] proc `@`[IDX, T](a: array[IDX, T]): seq[T] expression: @[int] ''' +disabled: "32bit" """ # bug #7331 diff --git a/tests/gc/closureleak.nim b/tests/gc/closureleak.nim index 18d320bdf0..d2ecc0b546 100644 --- a/tests/gc/closureleak.nim +++ b/tests/gc/closureleak.nim @@ -1,5 +1,6 @@ discard """ outputsub: "true" + disabled: "32bit" """ from strutils import join