language: csharp solution: Duplicati.sln install: - nuget restore Duplicati.sln - nuget install NUnit.Runners -Version 3.4.1 -OutputDirectory testrunner - sudo pip install selenium addons: sauce_connect: username: $SAUCE_USERNAME access_key: $SAUCE_ACCESS_KEY env: general: - USAGEREPORTER_Duplicati_LEVEL=none - AUTOUPDATER_Duplicati_SKIP_UPDATE=1 matrix: - JOB=job1 - JOB=job2 notifications: webhooks: urls: - $GITTER_WEBHOOK_URL on_success: always on_failure: always on_start: never cache: directories: - $HOME/download script: # build duplicati - echo "travis_fold:start:build_duplicati" - xbuild /p:Configuration=Release Duplicati.sln - echo "travis_fold:end:build_duplicati" - cp -r ./Duplicati/Server/webroot ./Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Release/webroot # download and extract testdata - echo "travis_fold:start:download_extract_testdata" - ls -la . - if [ ! -d ~/download ]; then mkdir ~/download; fi - if [ ! -f ~/download/DSMCBE.zip ]; then wget "https://s3.amazonaws.com/duplicati-test-file-hosting/DSMCBE.zip" -O ~/download/DSMCBE.zip; fi - if [ ! -f ~/download/data.zip ]; then wget "https://s3.amazonaws.com/duplicati-test-file-hosting/data.zip" -O ~/download/data.zip; fi - ls -la . - mkdir ~/testdata - mkdir ~/testdata/data - mkdir ~/testdata/DSMCBE - unzip -q ~/download/DSMCBE.zip -d ~/testdata/ - unzip -q ~/download/data.zip -d ~/testdata/ - chown -R travis ~/testdata/ - chmod -R 755 ~/testdata - ls -la ~/testdata - ls -la ~/testdata/DSMCBE - ls -la ~/testdata/data - echo "travis_fold:end:download_extract_testdata" # run unit tests - echo "travis_fold:start:unit_tests_border" - if [[ "$JOB" == "job1" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.4.1/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==Border --workers=1; fi - echo "travis_fold:end:unit_tests_border" - echo "travis_fold:start:unit_tests_bulknormal" - if [[ "$JOB" == "job2" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.4.1/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==BulkNormal --workers=1; fi - echo "travis_fold:end:unit_tests_bulknormal" - echo "travis_fold:start:unit_tests_bulknosize" - if [[ "$JOB" == "job2" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.4.1/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==BulkNoSize --workers=1; fi - echo "travis_fold:end:unit_tests_bulknosize" - echo "travis_fold:start:unit_tests_svndata" - if [[ "$JOB" == "job1" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.4.1/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==SVNData --workers=1; fi - echo "travis_fold:end:unit_tests_svndata" - echo "travis_fold:start:unit_tests_svndatalong" - if [[ "$JOB" == "job1" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.4.1/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==SVNDataLong --workers=1; fi - echo "travis_fold:end:unit_tests_svndatalong" - echo "travis_fold:start:unit_tests_targeted" - if [[ "$JOB" == "job1" ]]; then mono ./testrunner/NUnit.ConsoleRunner.3.4.1/tools/nunit3-console.exe ./Duplicati/UnitTest/bin/Release/Duplicati.UnitTest.dll --where:cat==Targeted --workers=1; fi - echo "travis_fold:end:unit_tests_targeted" # start server and run gui tests - mono ./Duplicati/GUI/Duplicati.GUI.TrayIcon/bin/Release/Duplicati.Server.exe & - if [[ "$JOB" == "job2" ]]; then python guiTests/guiTest.py; fi