Commit Graph

180 Commits

Author SHA1 Message Date
Marco A L Barbosa
0ee3935ed3 Add x86_64-unknown-linux-gnux32 docker image 2017-10-27 11:06:14 -02:00
Marco A L Barbosa
9a0d37f517 Add sparc64-unknown-linux-gnu to CI (with disabled tests) 2017-10-27 09:09:45 -02:00
Marco A L Barbosa
56b3403fa5 Add mips64el to CI 2017-10-27 08:21:40 -02:00
Marco A L Barbosa
31309536e9 Add powerpc64le to CI 2017-10-24 19:04:02 -02:00
Alex Crichton
9029cfb9eb Add more Linux-based syscall tables
* Add syscall tables to most remaining arches in `src/unix/notbsd`
* Add aarch64/arm musl to CI
* Update dependencies
2017-10-18 15:17:00 -07:00
Alex Crichton
bccba4a996 Disable https on Android SDK fetch
Apparently it no longer works
2017-10-04 16:57:31 -07:00
Tom Kirchner
b9fdcf9467 Add support for aarch64-unknown-linux-musl
Signed-off-by: Tom Kirchner <tjk@amazon.com>
Signed-off-by: Ben Cressey <bcressey@amazon.com>
2017-09-25 14:30:52 -07:00
Alex Crichton
fbfb69b3bc Tweak x86 gnu images
Apparently the 17.10 image broke?
2017-09-19 18:19:35 -07:00
Alex Crichton
050d8c8b0f Update s3 download locations 2017-09-16 09:13:07 -07:00
Alex Crichton
d2044231dc Remove caching and fix FreeBSD tests 2017-09-05 20:18:21 -07:00
Alex Crichton
5822645eb8 Update emscripten to latest 2017-08-27 08:37:15 -07:00
Alex Crichton
22b98dedfe Add asmjs/wasm32 to CI
Rebase of #610 and also move emscripten up much higher in the hierarchy to
ensure that it doesn't have too much of a ripple effect on other platforms.

This involved moving down a good number of definitions, but hopefully was done
with care to not break anything!
2017-08-26 22:15:29 -07:00
Alex Crichton
d424022005 Update Android images/runners 2017-08-21 22:52:06 -07:00
Alex Crichton
bcbfa85651 Leverage Cargo's target runner support to execute tests 2017-08-21 21:41:37 -07:00
Bryant Mairs
2f06a79e23 Run CI tests using cargo
This works by specifying a "runner" for actually executing the binary.
This doesn't apply to the Android or NetBSD runs because there
isn't a simple binary that just runs the executable.
2017-08-21 21:10:28 -07:00
Bryant Mairs
362134d8d6 Simplify iOS builds by using Cargo's RUSTFLAGS support 2017-08-21 10:46:26 -07:00
Bryant Mairs
2e11d9e14c Add more fcntl and seal constants for Android/Linux
We now create an additional binary `linux_fcntl` for testing this
since there are header conflicts when including all necessary headers.
This binary is run on all platforms even though it's empty on all non-
Android/non-Linux platforms.

Testing has been switched from a custom binary to using a runner-less
test (or pair of tests). This means that for local development a simple
`cd libc-test && cargo test` will run all the tests. CI has also been
updated here to reflect that.
2017-08-20 20:52:43 -07:00
Alex Crichton
201d539465 Remove OpenBSD CI
It's now broken due to changes in the `gcc` crate and having a too-old compiler,
and in general it's unfortunately architecturally so different from the other
test frameworks that it's difficult to maintain over time.
2017-08-18 09:34:08 -07:00
Gabriel
39a75af8ee Use Ubuntu 17.10 as the base image 2017-07-19 06:52:06 +02:00
Alex Crichton
7d74c0993c Clean up CI configuration and add s390x
We can't test s390x because qemu segfaults but we can at least verify that it
compiles.

Closes #650
2017-07-07 14:19:06 -07:00
Aidan Hobson Sayers
f305647377 Remove --privileged from docker 2017-07-07 15:01:29 +01:00
Nicolas Dusart
4abc3cefef Update to NDK r15b (with unified headers) and add missing symbols needed by nix crate 2017-07-03 13:26:35 +02:00
Mateusz Sieczko
60d93226ff Add structs defined in linux/input.h 2017-06-14 21:48:41 +02:00
Marco A L Barbosa
2fd7f7a43f Add x86_64-linux-android test 2017-05-03 20:12:49 -03:00
Aidan Hobson Sayers
fef01d6513 Remove docker flags that can cause issues (rust-lang/rust#39036) 2017-04-23 17:48:34 +01:00
Marco A L Barbosa
e1c6dedf62 Add test support for x86_64-linux-android 2017-04-19 11:03:19 -03:00
Marco A L Barbosa
0b05b2a845 Enable kvm in docker images if available 2017-04-19 10:59:04 -03:00
Marco A L Barbosa
599eec3781 Add test support for {aarch64, i686}-linux-android 2017-02-23 16:08:29 -03:00
Alex Crichton
d862a3698c Fix the i686-unknown-linux-musl target 2017-02-03 10:59:40 -08:00
Alex Crichton
d4a5fce471 Touch up the iOS deploy script 2017-01-18 10:20:13 -08:00
Kevin Brothaler
a40c92aa27 Removed non-mandatory UIRequiredDeviceCapabilities
It’s not clear if these values are used or needed by the simulator. The doc only seems to mention arm values for the actual device:
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW3
2017-01-17 21:35:27 -04:00
Kevin Brothaler
f8e12769ca Replace Python script with Rust script. 2017-01-17 21:19:30 -04:00
Kevin Brothaler
938955c0f4 Fix i386-apple-ios 2017-01-17 14:47:08 -04:00
Kevin Brothaler
fdee442356 Pass the tests only if we find an expected positive output (rather than checking for negative output to fail the tests). 2017-01-17 14:47:08 -04:00
Kevin Brothaler
a6f50bb61a Update output check based on all.rs test output 2017-01-17 14:47:08 -04:00
Kevin Brothaler
c8a4d214eb Run the unit tests on the iOS simulator for x86_64-apple-ios 2017-01-17 14:47:08 -04:00
Christian Legnitto
a41c074645 Fix doc generation on travis.
Documentation generation appears to be failing on master (https://travis-ci.org/rust-lang/libc/jobs/183483333):

```
Collecting ghp-import
  Downloading ghp-import-0.4.1.tar.gz
Collecting travis
  Could not find a version that satisfies the requirement travis (from versions: )
No matching distribution found for travis
```

Basically `--user` doesn't appear to take an option, so `pip install ghp_import --user $USER` makes pip think the user is a package that needs to be installed (in this case `travis`). As there is no `travis` package, it dies.
2016-12-14 23:35:58 -08:00
Alex Crichton
b9430b034d Update both mips musl download locations 2016-12-02 16:22:11 -08:00
Alex Crichton
93dbca015f Bump to 0.2.18 2016-12-02 12:57:44 -08:00
Alex Crichton
c2842463e5 Share the host's target directory for tests
This helps caching between runs and can help speed up turnaround time for
various operations. The old android container didn't work out for some reason
due to permissions so the definition has now been vendored locally to just
rebuild it each time.
2016-11-17 11:30:17 -08:00
Alex Crichton
cffe1f245d Update CI download location 2016-11-06 00:31:02 -07:00
Alex Crichton
dcf47d21ba Add a number of constants to mips64 2016-10-14 16:36:40 -07:00
Alex Crichton
739edbc468 Use workspaces in this repo
Also cache on appveyor to speed up builds.
2016-10-08 17:26:56 -07:00
Ian Denhardt
cd03b14093 Fix musl-i686 CI failures.
* Override the compiler via CC; ./configure can't seem to detect it.
* Unset CROSS_COMPILE when running make. Per the comment, we otherwise
  end up invoking commands like i686-ar.
2016-10-05 18:53:52 -04:00
Ian Denhardt
8ff1c4172e Test against newer c libraries
Specifically:

* Update the base docker images to ubuntu 16.10
* Update musl to version 1.1.15

This is necessary since the versions we were previously using do not
define CLONE_NEWCGROUP, so adding the symbol to the libc crate causes
test failures.
2016-10-05 18:53:51 -04:00
Jorge Aparicio
c0fd46fa36 handle mips-musl in ci/run.sh 2016-09-29 21:12:54 -05:00
Jorge Aparicio
48dab1af48 don't strip some many components 2016-09-14 22:53:53 -05:00
Jorge Aparicio
56c87dedaf mips-musl SDK: peel off another layer of directories when extracting 2016-09-12 23:40:21 -05:00
Jorge Aparicio
3df0057247 add CI for mips-musl
and fix the statvfs struct for this target
2016-09-11 23:57:37 -05:00
Jorge Aparicio
be5969bca1 aarch64: test against Ubuntu 16.04
also "backport" two glibc fixes:

- ipc_perm.mode is c_uint. [commit][1] [discussion][2]
- bump SIGSTKSZ to 16384. [commit][3] [discussion][4]

so libc-test passes.

[1]: https://sourceware.org/git/?p=glibc.git;a=commit;h=5c40c3bab2
[2]: https://www.sourceware.org/ml/libc-alpha/2014-10/msg00446.html
[3]: https://sourceware.org/git/?p=glibc.git;a=commit;h=b763f6ae859ecea70a5dacb8ad45c71d5f667e2e
[4]: https://sourceware.org/ml/libc-alpha/2015-04/msg00033.html

closes #231
2016-09-11 17:07:41 -05:00
Sébastien Marie
919939451f extend QEMU image management
- allow QEMU name to have subdirectory inside (replace `/` by `__` in
  the filename)
- add a new code path for plain qcow2 image (for efficient bandwidth
  usage, the qcow2 is expected to use compressed qcow2 format)
- move freebsd image to explicitly download the gzipped QEMU
2016-09-09 06:24:46 +02:00
Sébastien Marie
a40adc68cd use new openbsd-6.0 qcow2 image 2016-09-09 06:24:40 +02:00
Alex Crichton
ed32e3fc8e Add CI for mipsel-unknown-linux-musl
Download a trunk OpenWRT toolchain and verify bindings against that. Also fixup
a few stray errors today
2016-08-28 11:53:38 -07:00
Alex Crichton
d00f4329a2 Fix CC for powerpc64 2016-08-27 11:26:17 -07:00
Alex Crichton
a6b1c2d296 Fix and add testing for powerpc64 2016-08-26 23:11:45 -07:00
Alex Crichton
fc900ee6c9 Update the mips docker image
Use the standard mips compilers from Ubuntu now
2016-08-26 22:59:26 -07:00
Alex Crichton
8018a50514 Get powerpc-unknown-linux-gnu working and tested 2016-08-26 22:59:19 -07:00
Alex Crichton
a097ff6d35 Add ci for i686-unknown-linux-musl 2016-08-26 19:49:16 -07:00
Alex Crichton
3eb4a48b1b Use docker for all CI tests and images
Previously we were somewhat half-Docker, half-Travis, half apt-get, etc. This
commit alters the CI infrastructure to use Docker images for each target. This
should make it much easier to update the images and tweak various bits and
pieces of installed software. Additionally, it's also much clearer now what's
needed for each suite of tests!

Some images were updated a bit (e.g. musl is now 1.1.14), but other images
encountered failures when updating so they're not getting updated just yet.
2016-06-15 03:33:30 -07:00
Alex Crichton
621aa7cbd6 Use rustup to add targets, not manual curl 2016-04-25 11:12:06 -07:00
Alex Crichton
19e64f3cfb Swap header/footer... dunno how they got that way?
Apparently they were swapped accidentally already!

Closes #240
2016-03-28 13:58:13 -07:00
Alex Crichton
518e09f8b7 Merge branch 'style' of https://github.com/alexcrichton/libc into merge
Conflicts:
	src/unix/notbsd/linux/musl/b32/arm.rs
	src/unix/notbsd/linux/musl/b32/asmjs.rs
	src/unix/notbsd/linux/musl/b32/x86.rs
	src/unix/notbsd/linux/musl/b64/mod.rs
	src/unix/notbsd/linux/other/b32/x86.rs
	src/unix/notbsd/linux/other/b64/aarch64.rs
	src/unix/notbsd/linux/other/b64/powerpc64.rs
	src/unix/notbsd/linux/other/b64/x86_64.rs
2016-03-06 11:22:42 -08:00
Alex Crichton
c02a5c237a Use nightlies for iOS and rumprun
iOS was fixed awhile back and we should have rumprun nightlies now, so let's use
them!
2016-03-03 13:40:09 -08:00
Alex Crichton
8a8bc668d0 Add a style checking script to CI
It's tough to have PRs bounce or to have a back and forth with contributors
about minor style quibbles. Sometimes it ends up just being easier to fix style
after the fact, but let's add some automation to help this!

This commit adds a script to run on CI and locally to verify the style of this
repository. There's a few stylistic guidelines to ensure that definitions are
understandable across the jungle of modules. This consistency should help assist
readability for any future readers!
2016-03-01 22:03:34 -08:00
Alex Crichton
28a493a8cf Move iOS back to a known good date 2016-02-18 13:53:46 -08:00
Alex Crichton
36ae2359b3 Use iOS nightlies instead of a pinned version 2016-02-04 15:35:58 -08:00
Alex Crichton
d820c4a8f7 Add OpenBSD and FreeBSD CI to Travis
This commit adds support to test all libc definitions on both OpenBSD and
FreeBSD via QEMU userspace emulation. Specially prepared images for each OS are
used which are essentially intended to run a script on startup and then exit.
Documentation has been added to the `ci/README.md` file describing this new
system.
2016-01-18 22:54:28 -08:00
Alex Crichton
a5d830a8a0 Move docker container and don't re-symlink mips compilers 2016-01-10 14:36:27 -08:00
Alexander Polakov
2cdb21ea2b Use docker for MIPS 2015-12-27 12:22:59 +03:00
Alex Crichton
881ef9b966 Update the android CI image
It's got a new toolchain which should hopefully support some more modern
definitions.
2015-12-18 13:15:09 -08:00
Alex Crichton
8dce9ada5c Add a load of constants/definitions from nix
This is a blanket import of lots of constants and function from nix-rust
2015-12-16 08:16:41 -08:00
Alex Crichton
49d7bca8aa Add rumprun CI and get tests passing 2015-12-01 17:16:43 -08:00
Alex Crichton
ba0aea06b5 Fix links to docs
Closes #49
2015-11-15 13:04:43 -08:00
Alex Crichton
67567dfb63 Revert "Fix links to docs"
This reverts commit 767ba143e3.
2015-11-09 13:54:55 -08:00
Alex Crichton
767ba143e3 Fix links to docs
Closes #49
2015-11-07 15:52:15 -08:00
Alex Crichton
9f52b89c2e Add NI_MAXHOST 2015-11-07 15:50:40 -08:00
Alex Crichton
f0c68f383f Tweak run-all.sh script 2015-11-02 15:25:18 -08:00
Alex Crichton
2995f5595c Use the standard android slave docker image 2015-10-29 16:34:55 -07:00
Alex Crichton
657eeec3b6 Run more extra targets on nightly 2015-10-29 11:08:34 -07:00
Alex Crichton
b017b5e72f Really fix ci... 2015-10-28 14:46:38 -07:00
Alex Crichton
354693de77 Update CI 2015-10-28 14:11:53 -07:00
Alex Crichton
573f2de6ac Another attempt at fixing nightly 2015-10-21 10:23:08 -07:00
Alex Crichton
a1da67dbaa Try to fix nightly CI 2015-10-21 10:04:09 -07:00
Alex Crichton
cc12d2b2d3 Pass -y to apt-get 2015-10-14 15:58:08 -07:00
Alex Crichton
ab0442cd15 AppVeyor has MSYS2 installed by default now! 2015-10-07 14:38:47 -07:00
Alex Crichton
baef6116da iOS support 2015-09-21 14:37:14 -07:00
Alex Crichton
9cb1634164 Move to master branch 2015-09-21 13:37:36 -07:00
Alex Crichton
32dc2279e0 add a script to run everything locally 2015-09-18 18:51:20 -07:00
Alex Crichton
22f3c5e1a7 Use a switch instead of if/else 2015-09-18 17:33:14 -07:00
Alex Crichton
2536b35aa8 OK, apparently MIPS can run now? 2015-09-18 17:33:14 -07:00
Alex Crichton
a760061227 Add sample OpenBSD VM 2015-09-18 17:33:14 -07:00
Alex Crichton
70b1f23f27 Try running MIPS again 2015-09-18 16:32:03 -07:00
Alex Crichton
a1b948e34a Fix FreeBSD 2015-09-18 14:33:42 -07:00
Alex Crichton
b66b8a4424 Run apt-get update before installing 2015-09-17 20:55:52 -07:00
Alex Crichton
145ac09cf9 Describe CI processes 2015-09-17 17:52:13 -07:00
Alex Crichton
d86471cb4a Only install gcc-multilib when necessary 2015-09-17 17:46:58 -07:00
Alex Crichton
d9962f4bd1 CI dox 2015-09-17 17:45:10 -07:00
Alex Crichton
15b83c244f Use musl-gcc, fix musl headers 2015-09-17 17:25:52 -07:00
Alex Crichton
684cfa4691 Add aarch64 support/CI 2015-09-17 15:19:58 -07:00
Alex Crichton
730a17fd1c Root urls for everyone!
Also refator to only list all the triples once
2015-09-17 10:05:36 -07:00