diff options
| author | bors <bors@rust-lang.org> | 2019-09-06 20:49:20 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-09-06 20:49:20 +0000 |
| commit | da13f06ea0dc368f1350bfc356b7f81a838defde (patch) | |
| tree | c26194ffc7711c1b60f812f8a148ca8d121ba2f9 /src | |
| parent | 6e19f3f383b99414490243665c96b9f4e0f313f9 (diff) | |
| parent | 414d1047291348b5b8bf49e1d76fec978238d89f (diff) | |
| download | rust-da13f06ea0dc368f1350bfc356b7f81a838defde.tar.gz rust-da13f06ea0dc368f1350bfc356b7f81a838defde.zip | |
Auto merge of #63789 - Wind-River:master, r=alexcrichton
Support both static and dynamic linking mode in testing for vxWorks 1. Support both static and dynamic linking mode in testing for vxWorks 2. Ignore unsupported test cases: net:tcp:tests:timeouts and net:ucp:tests:timeouts r? @alexcrichton
Diffstat (limited to 'src')
| -rw-r--r-- | src/libstd/net/tcp.rs | 3 | ||||
| -rw-r--r-- | src/libstd/net/udp.rs | 3 | ||||
| -rw-r--r-- | src/tools/compiletest/src/runtest.rs | 22 |
3 files changed, 24 insertions, 4 deletions
diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs index cdffa390223..d8b6fb6da93 100644 --- a/src/libstd/net/tcp.rs +++ b/src/libstd/net/tcp.rs @@ -1597,7 +1597,8 @@ mod tests { // FIXME: re-enabled openbsd tests once their socket timeout code // no longer has rounding errors. - #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd"), ignore)] + // VxWorks ignores SO_SNDTIMEO. + #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd", target_os = "vxworks"), ignore)] #[cfg_attr(target_env = "sgx", ignore)] // FIXME: https://github.com/fortanix/rust-sgx/issues/31 #[test] fn timeouts() { diff --git a/src/libstd/net/udp.rs b/src/libstd/net/udp.rs index c430e103951..a5e7cd992f2 100644 --- a/src/libstd/net/udp.rs +++ b/src/libstd/net/udp.rs @@ -1026,7 +1026,8 @@ mod tests { // FIXME: re-enabled openbsd/netbsd tests once their socket timeout code // no longer has rounding errors. - #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd"), ignore)] + // VxWorks ignores SO_SNDTIMEO. + #[cfg_attr(any(target_os = "netbsd", target_os = "openbsd", target_os = "vxworks"), ignore)] #[test] fn timeouts() { let addr = next_test_ip4(); diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index 11e6b06d553..9a3d24facc2 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -1727,6 +1727,21 @@ impl<'test> TestCx<'test> { } } + fn is_vxworks_pure_static(&self) -> bool { + if self.config.target.contains("vxworks") { + match env::var("RUST_VXWORKS_TEST_DYLINK") { + Ok(s) => s != "1", + _ => true + } + } else { + false + } + } + + fn is_vxworks_pure_dynamic(&self) -> bool { + self.config.target.contains("vxworks") && !self.is_vxworks_pure_static() + } + fn compose_and_run_compiler(&self, mut rustc: Command, input: Option<String>) -> ProcRes { let aux_dir = self.aux_output_dir_name(); @@ -1770,6 +1785,7 @@ impl<'test> TestCx<'test> { && !self.config.host.contains("musl")) || self.config.target.contains("wasm32") || self.config.target.contains("nvptx") + || self.is_vxworks_pure_static() { // We primarily compile all auxiliary libraries as dynamic libraries // to avoid code size bloat and large binaries as much as possible @@ -2001,7 +2017,8 @@ impl<'test> TestCx<'test> { } if !is_rustdoc { - if self.config.target == "wasm32-unknown-unknown" { + if self.config.target == "wasm32-unknown-unknown" + || self.is_vxworks_pure_static() { // rustc.arg("-g"); // get any backtrace at all on errors } else if !self.props.no_prefer_dynamic { rustc.args(&["-C", "prefer-dynamic"]); @@ -2046,7 +2063,8 @@ impl<'test> TestCx<'test> { } // Use dynamic musl for tests because static doesn't allow creating dylibs - if self.config.host.contains("musl") { + if self.config.host.contains("musl") + || self.is_vxworks_pure_dynamic() { rustc.arg("-Ctarget-feature=-crt-static"); } |
