Cargo doc says: > Note that when using the cargo test and cargo bench commands, the test/bench profiles only apply to the final test executable. Dependencies will continue to use the dev/release profiles. So with the current settings, `cargo test` optimizes all dependencies but not the top level crate (e.g. `test/foo.rs`) This commit adds optimizations to the last `rustc` invocation of `cargo test`. This results in a 6% reduction in binary size when doing `cargo test` on our sample test file.
66 lines
1.7 KiB
TOML
66 lines
1.7 KiB
TOML
[package]
|
|
# TODO(1) fix `authors` and `name` if you didn't use `cargo-generate`
|
|
authors = ["{{authors}}"]
|
|
name = "{{project-name}}"
|
|
edition = "2018"
|
|
version = "0.1.0"
|
|
|
|
[workspace]
|
|
members = ["testsuite"]
|
|
|
|
[dependencies]
|
|
cortex-m = "0.6.4"
|
|
cortex-m-rt = "0.6.13"
|
|
defmt = "0.1.2"
|
|
defmt-rtt = "0.1.0"
|
|
panic-probe = { version = "0.1.0", features = ["print-defmt"] }
|
|
# TODO(4) enter your HAL here
|
|
# some-hal = "1.2.3"
|
|
|
|
[features]
|
|
# set logging levels here
|
|
default = [
|
|
"defmt-default",
|
|
# "dependency-a/defmt-trace",
|
|
]
|
|
|
|
# do NOT modify these features
|
|
defmt-default = []
|
|
defmt-trace = []
|
|
defmt-debug = []
|
|
defmt-info = []
|
|
defmt-warn = []
|
|
defmt-error = []
|
|
|
|
[profile.dev]
|
|
codegen-units = 1
|
|
debug = 2
|
|
debug-assertions = true # <-
|
|
incremental = false
|
|
opt-level = 3 # <-
|
|
overflow-checks = true # <-
|
|
|
|
[profile.test]
|
|
codegen-units = 1
|
|
debug = 2
|
|
debug-assertions = true # <-
|
|
incremental = false
|
|
opt-level = 3 # <-
|
|
overflow-checks = true # <-
|
|
|
|
[profile.release]
|
|
codegen-units = 1
|
|
debug = 2
|
|
debug-assertions = false # <-
|
|
incremental = false
|
|
lto = 'fat'
|
|
opt-level = 3 # <-
|
|
overflow-checks = false # <-
|
|
|
|
# uncomment this to switch from the crates.io version of defmt to its git version
|
|
# check app-template's README for instructions
|
|
# [patch.crates-io]
|
|
# defmt = { git = "https://github.com/knurling-rs/defmt", rev = "use defmt version reported by `probe-run --version`" }
|
|
# defmt-rtt = { git = "https://github.com/knurling-rs/defmt", rev = "use defmt version reported by `probe-run --version`" }
|
|
# defmt-test = { git = "https://github.com/knurling-rs/defmt", rev = "use defmt version reported by `probe-run --version`" }
|
|
# panic-probe = { git = "https://github.com/knurling-rs/defmt", rev = "use defmt version reported by `probe-run --version`" } |