2016-10-19 19:37:54 +03:00
branches :
- master
- auto
- try
2016-12-07 00:29:39 +03:00
required : true
2016-10-19 19:37:54 +03:00
container :
2016-10-19 23:49:56 +03:00
image : projectatomic/ostree-tester
2016-10-19 19:37:54 +03:00
2016-12-08 05:26:43 +03:00
packages :
- libasan
2016-11-09 05:37:43 +03:00
env :
2017-02-18 00:59:21 +03:00
CFLAGS : '-fsanitize=undefined -fsanitize-undefined-trap-on-error -fsanitize=address'
2016-12-08 05:26:43 +03:00
ASAN_OPTIONS : 'detect_leaks=0' # Right now we're not fully clean, but this gets us use-after-free etc
# TODO when we're doing leak checks: G_SLICE: "always-malloc"
2016-11-09 05:37:43 +03:00
build :
config-opts : >
--prefix=/usr
--libdir=/usr/lib64
--enable-installed-tests
--enable-gtk-doc
2016-10-19 19:37:54 +03:00
tests :
- make syntax-check
- make check
2016-12-08 21:35:29 +03:00
- gnome-desktop-testing-runner -p 0 ostree
2016-10-19 19:37:54 +03:00
timeout : 30m
artifacts :
- test-suite.log
2016-10-27 19:03:04 +03:00
---
inherit : true
2016-12-07 00:29:39 +03:00
required : true
2016-10-27 19:03:04 +03:00
context : Clang
2016-11-09 05:37:43 +03:00
env :
CC : 'clang'
CFLAGS : '-Werror=unused-variable'
tests :
2016-10-27 19:03:04 +03:00
artifacts :
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
---
inherit : true
context : f25-rust
packages :
- cargo
build :
config-opts : >
--prefix=/usr
--libdir=/usr/lib64
--enable-installed-tests
--enable-gtk-doc
--enable-rust
env :
CC : 'gcc'
tests :
- make check TESTS=tests/test-rollsum
2016-12-08 05:02:30 +03:00
---
inherit : true
required : true
context : curl
packages :
- pkgconfig(libcurl)
build :
config-opts : >
--prefix=/usr
--libdir=/usr/lib64
--enable-installed-tests
--enable-gtk-doc
--with-curl
tests :
- make check
- gnome-desktop-testing-runner -p 0 ostree
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
artifacts :
- test-suite.log