language: erlang otp_release: - 17.5 - 18.2.1 services: - riak - redis-server before_install: # # We need MySQL 5.6 or newer in order to get support for FULLTEXT indexes # with InnoDB. As soon as Travis ships that version, the following lines # (except for the "apt-get update" call) can go away. # # See: https://github.com/travis-ci/travis-ci/issues/1986 # - sudo sed -i -e s/table_cache/table_open_cache/ -e /log_slow_queries/d /etc/mysql/my.cnf - sudo apt-key adv --import .travis/mysql_repo_key.asc - sudo add-apt-repository 'deb http://repo.mysql.com/apt/ubuntu/ precise mysql-5.6' - sudo apt-get -qq update - sudo apt-get -qq -o Dpkg::Options::=--force-confold install mysql-server-5.6 # /END MYSQL 5.6 - pip install --user cpp-coveralls coveralls-merge install: - sudo apt-get -qq install libexpat1-dev libyaml-dev libpam0g-dev libsqlite3-dev before_script: - mkdir "$PWD/ebin" - echo "[{riak_kv, [{add_paths, [\"$PWD/ebin/\"]}]}]." > advanced.config - sudo mv advanced.config /etc/riak/advanced.config - sudo service riak restart - mysql -u root -e "CREATE USER 'ejabberd_test'@'localhost' IDENTIFIED BY 'ejabberd_test';" - mysql -u root -e "CREATE DATABASE ejabberd_test;" - mysql -u root -e "GRANT ALL ON ejabberd_test.* TO 'ejabberd_test'@'localhost';" - psql -U postgres -c "CREATE USER ejabberd_test WITH PASSWORD 'ejabberd_test';" - psql -U postgres -c "CREATE DATABASE ejabberd_test;" - psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE ejabberd_test TO ejabberd_test;" script: - ./autogen.sh - ./configure --prefix=/tmp/ejabberd --enable-all --disable-odbc - make - make install - make xref - make quicktest - sed -i -e 's/ct:pal/ct:log/' test/suite.erl - ln -sf ../sql priv/ - escript ./rebar skip_deps=true ct -v - grep -q 'TEST COMPLETE, \([[:digit:]]*\) ok, .* of \1 ' logs/raw.log after_script: - find logs -name suite.log -exec cat '{}' ';' after_failure: - find logs -name ejabberd.log -exec cat '{}' ';' after_success: - coveralls --exclude lib --exclude tests --gcov-options '\-lp' --dump c.json - coveralls-merge c.json erlang.json notifications: email: false