Skip to content
This repository was archived by the owner on Jul 6, 2019. It is now read-only.

Commit 6190b00

Browse files
committed
Merge pull request #70 from farcaller/coverage
Added coverage support for master branch Reviewed-by: farcaller,me
2 parents 653ac43 + 6f135b0 commit 6190b00

File tree

3 files changed

+41
-20
lines changed

3 files changed

+41
-20
lines changed

.travis.yml

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,44 @@
11
before_install:
2-
- yes | sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
3-
- sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/terry_guo-gcc-arm-embedded-precise.list" -o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
2+
- yes | sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
3+
- sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/terry_guo-gcc-arm-embedded-precise.list"
4+
-o Dir::Etc::sourceparts="-" -o APT::Get::List-Cleanup="0"
45
install:
5-
- sudo apt-get install gcc-arm-none-eabi
6-
- curl http://static.rust-lang.org/dist/rust-nightly-x86_64-unknown-linux-gnu.tar.gz | tar xz
7-
- mkdir thirdparty
8-
- cd thirdparty
9-
- curl http://static.rust-lang.org/dist/rust-nightly.tar.gz | tar xz
10-
- mv rust-nightly rust
11-
- cd ..
6+
- wget http://vfp.in/kcov.gz && gunzip kcov.gz && chmod 755 kcov
7+
- sudo apt-get install gcc-arm-none-eabi
8+
- curl http://static.rust-lang.org/dist/rust-nightly-x86_64-unknown-linux-gnu.tar.gz
9+
| tar xz
10+
- mkdir thirdparty
11+
- cd thirdparty
12+
- curl http://static.rust-lang.org/dist/rust-nightly.tar.gz | tar xz
13+
- mv rust-nightly rust
14+
- cd ..
1215
before_script:
13-
- export RUNTIME_LIB="/usr/lib/gcc/arm-none-eabi/4.8.4/<%= @platform.arch.arch %>/libgcc.a"
14-
- export RUSTC="`pwd`/rust-nightly-x86_64-unknown-linux-gnu/bin/rustc"
15-
- $RUSTC --version
16+
- export RUNTIME_LIB="/usr/lib/gcc/arm-none-eabi/4.8.4/<%= @platform.arch.arch %>/libgcc.a"
17+
- export RUSTC="`pwd`/rust-nightly-x86_64-unknown-linux-gnu/bin/rustc"
18+
- "$RUSTC --version"
1619
script:
17-
- rake build_all test
20+
- rake build_all test
1821
after_success:
19-
- test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && ./support/record_stats.sh
22+
- test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && ./support/record_stats.sh
2023
env:
2124
global:
22-
- STATS_REPO="[email protected]:bharr/zinc-stats"
23-
- secure: "NPM3mliwtjsO/W6ywlL36WvjgtMLKI5ZOR5Pd1OJNFVYTTJXE6sKfKDYhVVyn9kp+6eieXal/ntBaXpABTY5W1UrgnG4uFKoz5Bi06oQAZDxnwK1bH3EowGbiXtEkI50tD5SfhnLig2cNjabgu8eg/u/UrXyZovLz1oOgCpaUWc="
25+
- STATS_REPO="[email protected]:bharr/zinc-stats"
26+
- secure: NPM3mliwtjsO/W6ywlL36WvjgtMLKI5ZOR5Pd1OJNFVYTTJXE6sKfKDYhVVyn9kp+6eieXal/ntBaXpABTY5W1UrgnG4uFKoz5Bi06oQAZDxnwK1bH3EowGbiXtEkI50tD5SfhnLig2cNjabgu8eg/u/UrXyZovLz1oOgCpaUWc=
2427
matrix:
25-
- PLATFORM=lpc17xx
26-
- PLATFORM=stm32f4
28+
- PLATFORM=lpc17xx
29+
- PLATFORM=stm32f4
2730
matrix:
2831
allow_failures:
29-
- env: PLATFORM=stm32f4
32+
- env: PLATFORM=stm32f4
33+
deploy:
34+
provider: s3
35+
access_key_id: AKIAIXCRAWKV367B373A
36+
secret_access_key:
37+
secure: "DyKmiVjiehWB76WjTYiDqbnYL97L7s/udXL6iUe4kQz7qvjZ6ZTqwhhR/OQEPmVOXE+JWyW4ZRblegBGrrXLpt1RpL7i5fve5ds541pPvskwJtgBqHjNj/X4icZU0MsW5aVY9V+0NcRiPxyuG1o7FFTOtMBoMAfktIHPcBpraYs="
38+
bucket: cov.zinc.rs
39+
local-dir: build/coverage
40+
skip_cleanup: true
41+
endpoint: cov.zinc.rs.s3-website-us-east-1.amazonaws.com
42+
region: us-east-1
43+
on:
44+
branch: master

support/build/context.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ def initialize_environment!
122122
@env[:rustcflags] = [
123123
'--opt-level 2',
124124
'-Z no-landing-pads',
125+
'-g',
125126
] + @config_flags
126127

127128
@env[:ldflags] = [resolve_runtime_lib]

support/rake.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,12 @@ def rust_tests(n, h)
136136
h[:test] = true
137137
compile_rust n, h
138138
run_task = Rake::Task.define_task("run_#{n}".to_sym => h[:produce]) do |t|
139-
sh t.prerequisites.first
139+
if File.exists?('kcov')
140+
path = "build/coverage/#{n}"
141+
sh "mkdir -p #{path} && ./kcov #{path} #{t.prerequisites.first}"
142+
else
143+
sh t.prerequisites.first
144+
end
140145
end
141146

142147
Rake::Task[:test].enhance([run_task])

0 commit comments

Comments
 (0)