-# This file is intended to automatize the testing of SimGrid on
-# Windows using the appveyor.com continuous integration service
+# This file automatize the testing of SimGrid on Windows using the appveyor.com continuous integration service
+#
+# Build logs: https://ci.appveyor.com/project/simgrid/simgrid
os: Visual Studio 2015
version: "{build}"
# scripts that are called at very beginning, before repo cloning
init:
-- cmake --version
-- msbuild /version
- git config --global core.longpaths true
- git config --global core.autocrlf input
global:
BOOST_ROOT: c:\Libraries\boost_1_59_0
BOOST_LIBRARYDIR: c:\Libraries\boost_1_59_0\stage\lib
- # BOOST_ROOT: c:\Libraries\boost
- # BOOST_LIBRARYDIR: c:\Libraries\boost\stage\lib
- SGROOT: C:/projects/simgrid
- TESH_ARGS: %SGROOT%/bin/tesh --setenv srcdir=%SGROOT%/examples/java --setenv classpath=%SGROOT%/examples/java;%SGROOT%/teshsuite/java;%SGROOT%/simgrid.jar --cd %SGROOT%/examples/java
- matrix:
- - COMPILER: MinGW-w64
+ TESH_ARGS: C:/projects/simgrid/bin/tesh --setenv srcdir=C:/projects/simgrid/examples/java --setenv classpath=C:/projects/simgrid/examples/java;C:/projects/simgrid/teshsuite/java;C:/projects/simgrid/simgrid.jar --cd C:/projects/simgrid/examples/java
-# - COMPILER: MSVC15
-# PLATFORM: Win32
-# - COMPILER: MSVC15
-# PLATFORM: x64
-
install:
-- if [%COMPILER%]==[MinGW] set PATH=C:\MinGW\bin;%PATH%
-- if [%COMPILER%]==[MinGW] mingw-get update
-- if [%COMPILER%]==[MinGW] rename "C:\Program Files (x86)\Git\bin\sh.exe" "sh2.exe"
-- if [%COMPILER%]==[MinGW-w64] set PATH=C:\mingw64\bin;%PATH%
-- if [%COMPILER%]==[MinGW-w64] rename "C:\Program Files (x86)\Git\bin\sh.exe" "sh2.exe"
-- if [%COMPILER%]==[MinGW-w64] appveyor DownloadFile "https://raw.githubusercontent.com/symengine/dependencies/5cff7d1736877336cf9fb58267111beea4fa152f/x86_64-4.9.1-release-posix-seh-rt_v3-rev1.7z" -FileName mw64.7z || appveyor DownloadFile "https://raw.githubusercontent.com/symengine/dependencies/5cff7d1736877336cf9fb58267111beea4fa152f/x86_64-4.9.1-release-posix-seh-rt_v3-rev1.7z" -FileName mw64.7z
-- if [%COMPILER%]==[MinGW-w64] 7z x -oC:\ mw64.7z > NUL
-- if [%COMPILER%]==[MSYS2] set PATH=C:\msys64\bin,%PATH%
+# Strawberry perl is the one to work with gcc
+- choco install --limit-output strawberryperl -version 5.20.1.1
+- SET PATH=C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;%PATH%
+- cpanm --notest --quiet Win32API::File
+- cpanm --notest --quiet IPC::Run
+# Lua
+#- choco install lua53
+# Basic dependencies: gcc and Cmake (must be placed before Perl in the path)
+- SET PATH=C:\tools\mingw64\bin;%PATH%
+- choco install --limit-output mingw cmake
+- rename "C:\Program Files\Git\usr\bin\sh.exe" "sh-ignored.exe"
build_script:
-- if [%COMPILER%]==[MSVC15] if [%PLATFORM%]==[Win32] cmake -G "Visual Studio 14 2015" -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF .
-- if [%COMPILER%]==[MSVC15] if [%PLATFORM%]==[x64] cmake -G "Visual Studio 14 2015 Win64" -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF .
-- if not [%COMPILER%]==[MSVC15] cmake -G "MinGW Makefiles" -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF .
-- if [%COMPILER%]==[MSVC15] msbuild ALL_BUILD.vcxproj /verbosity:normal
-- if not [%COMPILER%]==[MSVC15] mingw32-make VERBOSE=1
+- SET CFLAGS=-Wno-deprecated-declarations # ignore C:/Libraries/boost_1_59_0/boost/smart_ptr/shared_ptr.hpp:461:22: warning: 'template<class> class std::auto_ptr' is deprecated [-Wdeprecated-declarations]
+- SET CPPFLAGS=-Wno-deprecated-declarations # ignore issues within boost
+- cmake -G "MinGW Makefiles" -Denable_lua=OFF -Denable_java=ON -Denable_smpi=OFF -Denable_mallocators=OFF -Denable_lto=OFF .
+- C:\tools\mingw64\bin\mingw32-make.exe VERBOSE=1
- cd C:/projects/simgrid/examples/java && java -classpath ".;../../simgrid.jar" masterslave.Masterslave ../platforms/platform.xml masterslave/masterslaveDeployment.xml || true
-
# I cant use the cmake test because of the following error:
# Test project C:/projects/simgrid
# Start 1: mc-replay-random-bug
# How dafuq am I supposed to press N on appveyor?? I tried closing stdin, in vain
#- bash -c "cd C:/projects/simgrid; exec 0<&-; ctest --output-on-failure" < nul || true
-test_script:
-- perl %TESH_ARGS% %SGROOT%/examples/java/async/async.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/bittorrent/bittorrent.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/master_slave_bypass/bypass.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/chord/chord.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/cloud/cloud.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/cloud/migration/migration.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/commTime/commtime.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/kademlia/kademlia.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/master_slave_kill/kill.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/masterslave/masterslave.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/migration/migration.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/mutualExclusion/mutualexclusion.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/pingPong/pingpong.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/priority/priority.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/startKillTime/startKillTime.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/surfCpuModel/surf_cpu_model.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/surfPlugin/surf_plugin.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/reservationSurfPlugin/reservation_surf_plugin.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/suspend/suspend.tesh
-- perl %TESH_ARGS% %SGROOT%/examples/java/tracing/tracingPingPong.tesh
+#test_script:
+# find examples/java -name '*tesh'|sed 's|^|- perl %TESH_ARGS% C:/projects/simgrid/|' |sort
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/app/bittorrent/app_bittorrent.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/app/centralizedmutex/app_centralizedmutex.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/app/masterworker/app_masterworker.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/app/pingpong/app_pingpong.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/async/dsend/async_dsend.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/masterworker/cloud_masterworker.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/cloud/migration/cloud_migration.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/dht/chord/dht_chord.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/dht/kademlia/dht_kademlia.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/energy/consumption/energy_consumption.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/energy/vm/energy_vm.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/io/file/io_file.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/io/storage/io_storage.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/process/kill/process_kill.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/process/migration/process_migration.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/process/startkilltime/process_startkilltime.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/process/suspend/process_suspend.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/task/priority/task_priority.tesh
+- perl %TESH_ARGS% C:/projects/simgrid/examples/java/trace/pingpong/trace_pingpong.tesh
artifacts:
- path: simgrid.jar
# https://github.com/polysquare/cmake-unit/blob/master/appveyor.yml
# https://github.com/openvswitch/ovs/blob/master/appveyor.yml
-# https://github.com/behdad/harfbuzz/pull/112/files
\ No newline at end of file
+# https://github.com/behdad/harfbuzz/pull/112/files