Skip to content

Commit f262c9b

Browse files
committed
Upgrade to Go 1.7
- Upgrades to Go 1.7 - Introduces test-throughout to test with the race detector and (new) with the address sanitizer if it is supported by the environment - Cleanup of some scripts Fixes #113 and #124
1 parent 12a5893 commit f262c9b

File tree

7 files changed

+44
-19
lines changed

7 files changed

+44
-19
lines changed

.travis.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
language: go
22
go:
3-
- 1.5
3+
- 1.7.1
44

55
addons:
66
apt:
@@ -13,21 +13,27 @@ addons:
1313
- libclang1-3.4
1414
- libclang-3.4-dev
1515

16+
env:
17+
global:
18+
- CC=clang CXX=clang++
19+
# Coveralls.io
20+
- secure: "pMyHrYdVIexMTlzQJj9lH6OJWEOSjeAg1qlq2BWndzTZgQ7etsokg3B6z7Lafpyt9bMFPt6ZIMwmSe5K4wa9UiGvroadjlHqNwl298Xa5P3ixbZYMtCNWHMz4y/FluzZPNOSKMpdXUcqF+pOPlmaxEh8Me3vvGTaQcNGXiqC1h//FDJNrtuBNymOkTRV7Us5bnVgwgXOrwSdVoOe4MvLcTeCOYn/iXCSjI+bZDdx3t3M3os5l2dbgW1xWSPlYojnHK3etByHNwJyK+LzVOY0TCbQCyxRQwtURmI+f9Ljgws9lEPbv7GCINi2y9RWxNydRHlxmoS/fsj1aWAPtmsVIVZpHE9wrXeY3zcCeQ7tYC8qI7JFba/IWnqplq5Z6Y3y998d1JzoSF4FZc6f34rEfMZEZOdk2PwqUzosB9lBGw/n3hOC6meth3SkqhZfW7QC1vM8EvsvOxdXQpsDluTX8DOace50YM3HTiSYls2KpNwXxSzAqVu46CZiqsbkQHjAXa2fdgmJzFpgRaXU3Ln8GOU4aVDI+2wJCR/XBTDHl32jR3uHlAdLPLpYpALm9ZcgzzDXRDFq5zUnKhEgau1HIOLeKL6HdVGD1x5W+/FP8PTtblgLkCMTctOQt+49Go9fk6DqI4Rv95tbUAnF+NXU/Zd4TA1eroG/wpuRIj2/e/E="
21+
1622
install:
1723
- mkdir -p /home/travis/bin
24+
- sudo ln -s /usr/bin/clang-3.4 /home/travis/bin/clang
1825
- sudo ln -s /usr/bin/llvm-config-3.4 /home/travis/bin/llvm-config
1926
- sudo ln -s /usr/lib/llvm-3.4/lib/libclang.so.1 /usr/lib/x86_64-linux-gnu/libclang.so
2027
- sudo ldconfig
2128

2229
- llvm-config --version
2330
- llvm-config --includedir
2431
- llvm-config --libdir
32+
- clang --version
2533

2634
- make install-dependencies
2735
- make install-tools
2836

29-
- CGO_LDFLAGS="-L`llvm-config --libdir`" go get -u github.com/go-clang/bootstrap/...
30-
3137
script:
3238
# Install the project
3339
- make install
@@ -36,10 +42,8 @@ script:
3642
- make lint
3743

3844
# Do tests and code coverage
39-
- ginkgo -r -cover -skipPackage="testdata"
45+
- make test-throughout
46+
47+
- ginkgo -cover -skipPackage="testdata"
4048
- gover
4149
- if [ "$TRAVIS_SECURE_ENV_VARS" = "true" ]; then goveralls -coverprofile=gover.coverprofile -service=travis-ci -repotoken $COVERALLS_TOKEN; fi
42-
43-
env:
44-
# Coveralls.io
45-
secure: "pMyHrYdVIexMTlzQJj9lH6OJWEOSjeAg1qlq2BWndzTZgQ7etsokg3B6z7Lafpyt9bMFPt6ZIMwmSe5K4wa9UiGvroadjlHqNwl298Xa5P3ixbZYMtCNWHMz4y/FluzZPNOSKMpdXUcqF+pOPlmaxEh8Me3vvGTaQcNGXiqC1h//FDJNrtuBNymOkTRV7Us5bnVgwgXOrwSdVoOe4MvLcTeCOYn/iXCSjI+bZDdx3t3M3os5l2dbgW1xWSPlYojnHK3etByHNwJyK+LzVOY0TCbQCyxRQwtURmI+f9Ljgws9lEPbv7GCINi2y9RWxNydRHlxmoS/fsj1aWAPtmsVIVZpHE9wrXeY3zcCeQ7tYC8qI7JFba/IWnqplq5Z6Y3y998d1JzoSF4FZc6f34rEfMZEZOdk2PwqUzosB9lBGw/n3hOC6meth3SkqhZfW7QC1vM8EvsvOxdXQpsDluTX8DOace50YM3HTiSYls2KpNwXxSzAqVu46CZiqsbkQHjAXa2fdgmJzFpgRaXU3Ln8GOU4aVDI+2wJCR/XBTDHl32jR3uHlAdLPLpYpALm9ZcgzzDXRDFq5zUnKhEgau1HIOLeKL6HdVGD1x5W+/FP8PTtblgLkCMTctOQt+49Go9fk6DqI4Rv95tbUAnF+NXU/Zd4TA1eroG/wpuRIj2/e/E="

Makefile

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
.PHONY: all install install-dependencies install-tools lint test test-verbose
1+
.PHONY: all install install-dependencies install-tools lint test test-throughout test-verbose
22

3-
ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
4-
export ROOT_DIR
3+
export ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
4+
5+
export CC := clang
6+
export CXX := clang++
57

68
ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
79
$(eval $(ARGS):;@:) # turn arguments into do-nothing targets
@@ -15,6 +17,8 @@ install-dependencies:
1517
go get -u golang.org/x/tools/imports/...
1618
go get -u github.com/stretchr/testify/...
1719
go get -u github.com/termie/go-shutil/...
20+
21+
CGO_LDFLAGS="-L`llvm-config --libdir`" go get -u github.com/go-clang/bootstrap/...
1822
install-tools:
1923
# Install linting tools
2024
go get -u github.com/golang/lint/...
@@ -26,8 +30,10 @@ install-tools:
2630
go get -u github.com/modocache/gover/...
2731
go get -u github.com/mattn/goveralls/...
2832
lint: install
29-
scripts/lint.sh
33+
$(ROOT_DIR)/scripts/lint.sh
3034
test:
31-
CGO_LDFLAGS="-L`llvm-config --libdir`" go test -timeout 60s -race ./...
35+
CGO_LDFLAGS="-L`llvm-config --libdir`" go test -timeout 60s ./...
36+
test-throughout:
37+
$(ROOT_DIR)/scripts/test-throughout.sh
3238
test-verbose:
33-
CGO_LDFLAGS="-L`llvm-config --libdir`" go test -timeout 60s -race -v ./...
39+
CGO_LDFLAGS="-L`llvm-config --libdir`" go test -timeout 60s -v ./...

scripts/generate-and-test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export LLVM_VERSION=$1
1010
cd clang/ || exit
1111

1212
rm -rf clang-c/
13-
rm *_gen.go
13+
rm -f *_gen.go
1414

1515
go-clang-gen || exit
1616

scripts/switch-clang-version.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ export LLVM_VERSION=$1
1111
sudo add-apt-repository --enable-source "deb http://llvm.org/apt/${CODENAME}/ llvm-toolchain-${CODENAME}-${LLVM_VERSION} main"
1212
sudo apt-get update
1313

14-
sudo rm /usr/bin/llvm-config
15-
sudo rm /usr/lib/x86_64-linux-gnu/libclang.so
14+
sudo rm -f /usr/bin/clang
15+
sudo rm -f /usr/bin/llvm-config
16+
sudo rm -f /usr/lib/x86_64-linux-gnu/libclang.so
1617
sudo apt-get install -y clang-$LLVM_VERSION libclang1-$LLVM_VERSION libclang-$LLVM_VERSION-dev llvm-$LLVM_VERSION llvm-$LLVM_VERSION-dev llvm-$LLVM_VERSION-runtime libclang-common-$LLVM_VERSION-dev
18+
sudo ln -s /usr/bin/clang-$LLVM_VERSION /usr/bin/clang
1719
sudo ln -s /usr/bin/llvm-config-$LLVM_VERSION /usr/bin/llvm-config
1820
sudo ln -s /usr/lib/x86_64-linux-gnu/libclang-$LLVM_VERSION.so /usr/lib/x86_64-linux-gnu/libclang.so
21+
sudo ldconfig

scripts/test-throughout.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
3+
set -exuo pipefail
4+
5+
LLVM_VERSION=$(clang --version | grep --max-count=1 "clang version" | sed -r 's/^.*clang version ([0-9]+\.[0-9]+).+$/\1/')
6+
7+
# Test with the address sanitizer
8+
# TODO there is maybe a problem within clang https://github.com/go-clang/gen/issues/123
9+
# if [ $(echo "$LLVM_VERSION>=3.9" | bc -l) -ne 0 ] && [ $(find `llvm-config --libdir` | grep libclang_rt.san-x86_64.a | wc -l) -ne 0 ]; then CGO_LDFLAGS="-L`llvm-config --libdir` -fsanitize=memory" CGO_CPPFLAGS='-fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer' go test -timeout 60s -v -msan ./...; fi
10+
11+
# Test with the race detector
12+
CGO_LDFLAGS="-L`llvm-config --libdir`" go test -timeout 60s -v -race ./...

scripts/update-bootstrap.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ make -C $GOPATH/src/github.com/go-clang/gen install
1212
cd $GOPATH/src/github.com/go-clang/bootstrap/clang/
1313

1414
rm -rf clang-c/
15-
rm *_gen.go
15+
rm -f *_gen.go
1616

1717
go-clang-gen
1818

scripts/vagrant-environment.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
export GO_VERSION=1.5.3
3+
export GO_VERSION=1.7.1
44

55
# Install Go
66
mkdir -p $HOME/go

0 commit comments

Comments
 (0)