- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道编译器可以直接在 arm-linux-androideabi
上运行,但是 Android 模拟器(我的意思是在 x86/amd64 上模拟 ARM)很慢,所以我不想在模拟器上使用 cargo
和 rustc
,我只想在上面运行测试。
我想在我的 PC 上交叉编译测试 (cargo test --target=arm-linux-androideabi --no-run
?),然后上传并在模拟器上运行它们,希望能捕获像 this 这样的错误.
如何在不运行 cargo test
的情况下运行 cargo test
?是否像运行所有使用 cargo test --no-run
构建的二进制文件一样简单?
最佳答案
cargo test
支持两种测试,一个是正常测试( #[test] fn
s 和 tests/
内的文件),另一个是文档测试。
正常的测试是就像运行所有二进制文件一样简单。如果测试以错误代码 0 退出,则认为测试成功。
文档测试不能进行交叉测试。 Doc测试由rustdoc
直接编译执行使用编译器库,因此必须在 ARM 机器上安装编译器才能运行文档测试。事实上,运行 cargo test --doc
当 HOST ≠ TARGET 时什么都不做。
因此,只要您不依赖文档测试进行覆盖,您最后一个问题的答案是是。
从 Rust 1.19 开始,cargo
支持target specific runners , 它允许您指定一个脚本来上传并在 ARM 机器上执行测试程序。
#!/bin/sh
set -e
adb push "$1" "/sdcard/somewhere/$1"
adb shell "chmod 755 /sdcard/somewhere/$1 && /sdcard/somewhere/$1"
# ^ note: may need to change this line, see https://stackoverflow.com/q/9379400
把这个放到你的 .cargo/config
:
[target.arm-linux-androideabi]
runner = ["/path/to/your/run/script.sh"]
然后 cargo test --target=arm-linux-androideabi
应该 Just Work™。
如果您的项目托管在 GitHub 上并使用 Travis CI,您可能还想查看 trust
.它提供了一个预打包的解决方案,用于在 CI 上测试许多架构,包括 ARMv7 Linux(不幸的是没有 Android)。
关于rust - 我如何在没有 Rust 编译器的情况下在另一台机器上运行 cargo 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44947640/
如何禁用 cargo update或 cargo build试图访问 github.com;但仍然从 crates.io 下载适当的包 我的cargo.toml 中只有一个依赖项 [dependenc
Cargo README陈述如下: Compiling from Source Cargo requires the following tools and packages to build: py
如何禁止 cargo update 或 cargo build 尝试访问 github.com;但仍然从 crates.io 下载合适的包 我的 cargo.toml 中只有一个依赖项 [depend
cargo install 说: error: failed to write /tmp/rustcaq37XH/lib.rmeta: No space left on device (os erro
我不知道为什么这两种情况下的行为相同 最佳答案 找到答案。 cargo init 没有 args 按预期工作:创建文件当前位置。 cargo init 带有 args 的行为类似于 cargo new
我在 VS 代码终端中使用命令 (Cargo run) 运行 Cargo 时遇到了这个问题。我的电脑是 32 位的。 我也尝试使用这个命令分别运行和编译 main.rs 文件,但编译时出现同样的错误。
我编译了 Rust GTK examples这样: $ cargo build --features gtk_3_10 当我尝试运行示例时,出现错误: $ cargo run --bin gtk
我正在尝试使用 CI 构建和测试我的 Rust 代码,我想知道 cargo clippy(可能带有选项)是否涵盖了 cargo check 的所有内容做。我只需要运行 cargo clippy,还是需
我想在我的 Cargo 包裹中捆绑一个纯文本格式的单词列表。我可以编辑 Cargo.toml 来执行此操作吗? 如果我使用 npm,我会将其添加到我的 package.json 中: "files":
现在我有一个包含三个成员的 Cargo 工作区。 [workspace] members = [ "foo", "bar", "baz", ] 如果我在根目录中运行 cargo
我正在学习 Rust 入门,我需要获得 the rand crate在我的系统上。我没有做 Cargo 包装的事情(例如创建 Cargo.toml),因为我对语言感兴趣,而不是包装。 我可以在我的系统
在 cargo check 重新编译许多(但不是全部)依赖项之后立即 cargo build 的可能原因是什么? cargo .toml [package] name = "greeter" vers
cargo 功能允许conditional compilation , 因此最终构建将只包含特定的功能组,最终用户可以过滤这些功能。 现在,根据库 crate 的复杂性,您可能会以形成依赖树的几个功能
所以我有一项任务,要求我编程并创建 cargo ID 并更新每个新订单的状态。 cargo ID:这应该是使用以下简单算法自动生成的唯一编号。 • 使用数字“1939”作为第一个 cargo ID。下
假设我想通过 rust-clippy 对我的所有代码进行 lint。现在,我必须写 #![feature(plugin)] #![plugin(clippy)] 在我的每个来源中。我可以以某种方式配置
集成pom.xml看起来像 org.apache.maven.plugins maven-failsafe-plugin
我正在尝试克隆 SFML github repo在我的本地项目目录中并使用 build.rs Cargo 解决方案构建它,我收到此错误: Could not find Cargo.toml 我没有找到
我创建了一个简单的 hello world 程序: fn main() { println!("Hello, world"); } 当使用 rustc 与 cargo build 编译代码时,
我有一个项目,其中包含一些相关 Assets (Lua 脚本),我需要在运行时找到这些 Assets 。这可能意味着两件事: 在开发过程中(例如cargo run),我想找到它相对于源 当通过 car
我正在尝试使用 cargo 插件在 tomcat8 上部署 war 我的条目如下: org.codehaus.cargo cargo-maven
我是一名优秀的程序员,十分优秀!