Migrate abandoned prettytable-rs to comfy-table (#11430)

* Migrate to comfy-table

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* disable the default features

Signed-off-by: koushiro <koushiro.cqx@gmail.com>
This commit is contained in:
Qinxuan Chen
2022-05-18 00:38:51 +08:00
committed by GitHub
parent 96006322bb
commit 8f78f4bb89
3 changed files with 34 additions and 102 deletions
+19 -90
View File
@@ -615,17 +615,6 @@ dependencies = [
"constant_time_eq", "constant_time_eq",
] ]
[[package]]
name = "blake2b_simd"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
dependencies = [
"arrayref",
"arrayvec 0.5.2",
"constant_time_eq",
]
[[package]] [[package]]
name = "blake2b_simd" name = "blake2b_simd"
version = "1.0.0" version = "1.0.0"
@@ -1048,6 +1037,17 @@ dependencies = [
"bitflags", "bitflags",
] ]
[[package]]
name = "comfy-table"
version = "5.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b103d85ca6e209388771bfb7aa6b68a7aeec4afbf6f0a0264bfbf50360e5212e"
dependencies = [
"strum",
"strum_macros",
"unicode-width",
]
[[package]] [[package]]
name = "concurrent-queue" name = "concurrent-queue"
version = "1.2.2" version = "1.2.2"
@@ -1665,17 +1665,6 @@ dependencies = [
"dirs-sys-next", "dirs-sys-next",
] ]
[[package]]
name = "dirs"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
dependencies = [
"libc",
"redox_users 0.3.5",
"winapi",
]
[[package]] [[package]]
name = "dirs-sys" name = "dirs-sys"
version = "0.3.6" version = "0.3.6"
@@ -1683,7 +1672,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780"
dependencies = [ dependencies = [
"libc", "libc",
"redox_users 0.4.0", "redox_users",
"winapi", "winapi",
] ]
@@ -1694,7 +1683,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
dependencies = [ dependencies = [
"libc", "libc",
"redox_users 0.4.0", "redox_users",
"winapi", "winapi",
] ]
@@ -1844,12 +1833,6 @@ dependencies = [
"zeroize", "zeroize",
] ]
[[package]]
name = "encode_unicode"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
[[package]] [[package]]
name = "enum-as-inner" name = "enum-as-inner"
version = "0.4.0" version = "0.4.0"
@@ -2152,6 +2135,7 @@ dependencies = [
"Inflector", "Inflector",
"chrono", "chrono",
"clap 3.1.18", "clap 3.1.18",
"comfy-table",
"frame-benchmarking", "frame-benchmarking",
"frame-support", "frame-support",
"frame-system", "frame-system",
@@ -2165,7 +2149,6 @@ dependencies = [
"log", "log",
"memory-db", "memory-db",
"parity-scale-codec", "parity-scale-codec",
"prettytable-rs",
"rand 0.8.4", "rand 0.8.4",
"rand_pcg 0.3.1", "rand_pcg 0.3.1",
"sc-block-builder", "sc-block-builder",
@@ -4365,7 +4348,7 @@ version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3db354f401db558759dfc1e568d010a5d4146f4d3f637be1275ec4a3cf09689" checksum = "e3db354f401db558759dfc1e568d010a5d4146f4d3f637be1275ec4a3cf09689"
dependencies = [ dependencies = [
"blake2b_simd 1.0.0", "blake2b_simd",
"blake2s_simd", "blake2s_simd",
"blake3", "blake3",
"core2", "core2",
@@ -6588,7 +6571,7 @@ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"instant", "instant",
"libc", "libc",
"redox_syscall 0.2.10", "redox_syscall",
"smallvec", "smallvec",
"winapi", "winapi",
] ]
@@ -6601,7 +6584,7 @@ checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"libc", "libc",
"redox_syscall 0.2.10", "redox_syscall",
"smallvec", "smallvec",
"windows-sys", "windows-sys",
] ]
@@ -6893,20 +6876,6 @@ dependencies = [
"output_vt100", "output_vt100",
] ]
[[package]]
name = "prettytable-rs"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fd04b170004fa2daccf418a7f8253aaf033c27760b5f225889024cf66d7ac2e"
dependencies = [
"atty",
"csv",
"encode_unicode",
"lazy_static",
"term",
"unicode-width",
]
[[package]] [[package]]
name = "primitive-types" name = "primitive-types"
version = "0.11.1" version = "0.11.1"
@@ -7416,12 +7385,6 @@ dependencies = [
"rand_core 0.3.1", "rand_core 0.3.1",
] ]
[[package]]
name = "redox_syscall"
version = "0.1.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.2.10" version = "0.2.10"
@@ -7431,17 +7394,6 @@ dependencies = [
"bitflags", "bitflags",
] ]
[[package]]
name = "redox_users"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
dependencies = [
"getrandom 0.1.16",
"redox_syscall 0.1.57",
"rust-argon2",
]
[[package]] [[package]]
name = "redox_users" name = "redox_users"
version = "0.4.0" version = "0.4.0"
@@ -7449,7 +7401,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
dependencies = [ dependencies = [
"getrandom 0.2.3", "getrandom 0.2.3",
"redox_syscall 0.2.10", "redox_syscall",
] ]
[[package]] [[package]]
@@ -7684,18 +7636,6 @@ dependencies = [
"thiserror", "thiserror",
] ]
[[package]]
name = "rust-argon2"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
dependencies = [
"base64",
"blake2b_simd 0.5.11",
"constant_time_eq",
"crossbeam-utils",
]
[[package]] [[package]]
name = "rustc-demangle" name = "rustc-demangle"
version = "0.1.18" version = "0.1.18"
@@ -10791,22 +10731,11 @@ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"fastrand", "fastrand",
"libc", "libc",
"redox_syscall 0.2.10", "redox_syscall",
"remove_dir_all", "remove_dir_all",
"winapi", "winapi",
] ]
[[package]]
name = "term"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
dependencies = [
"byteorder",
"dirs",
"winapi",
]
[[package]] [[package]]
name = "termcolor" name = "termcolor"
version = "1.1.2" version = "1.1.2"
@@ -16,6 +16,7 @@ targets = ["x86_64-unknown-linux-gnu"]
chrono = "0.4" chrono = "0.4"
clap = { version = "3.1.18", features = ["derive"] } clap = { version = "3.1.18", features = ["derive"] }
codec = { package = "parity-scale-codec", version = "3.0.0" } codec = { package = "parity-scale-codec", version = "3.0.0" }
comfy-table = { version = "5.0.1", default-features = false }
handlebars = "4.2.2" handlebars = "4.2.2"
hash-db = "0.15.2" hash-db = "0.15.2"
hex = "0.4.3" hex = "0.4.3"
@@ -26,7 +27,6 @@ lazy_static = "1.4.0"
linked-hash-map = "0.5.4" linked-hash-map = "0.5.4"
log = "0.4.17" log = "0.4.17"
memory-db = "0.29.0" memory-db = "0.29.0"
prettytable-rs = "0.8.0"
rand = { version = "0.8.4", features = ["small_rng"] } rand = { version = "0.8.4", features = ["small_rng"] }
rand_pcg = "0.3.1" rand_pcg = "0.3.1"
serde = "1.0.136" serde = "1.0.136"
@@ -20,6 +20,12 @@
pub mod hardware; pub mod hardware;
use std::{boxed::Box, fs, path::Path};
use clap::Parser;
use comfy_table::{Row, Table};
use log::{error, info, warn};
use sc_cli::{CliConfiguration, Result, SharedParams}; use sc_cli::{CliConfiguration, Result, SharedParams};
use sc_service::Configuration; use sc_service::Configuration;
use sc_sysinfo::{ use sc_sysinfo::{
@@ -27,11 +33,6 @@ use sc_sysinfo::{
benchmark_memory, benchmark_sr25519_verify, ExecutionLimit, benchmark_memory, benchmark_sr25519_verify, ExecutionLimit,
}; };
use clap::Parser;
use log::{error, info, warn};
use prettytable::{cell, row, table};
use std::{boxed::Box, fmt::Debug, fs, path::Path};
use crate::shared::check_build_profile; use crate::shared::check_build_profile;
pub use hardware::{Metric, Requirement, Requirements, Throughput, SUBSTRATE_REFERENCE_HARDWARE}; pub use hardware::{Metric, Requirement, Requirements, Throughput, SUBSTRATE_REFERENCE_HARDWARE};
@@ -160,7 +161,8 @@ impl MachineCmd {
/// Prints a human-readable summary. /// Prints a human-readable summary.
fn print_summary(&self, requirements: Requirements, results: Vec<BenchResult>) -> Result<()> { fn print_summary(&self, requirements: Requirements, results: Vec<BenchResult>) -> Result<()> {
// Use a table for nicer console output. // Use a table for nicer console output.
let mut table = table!(["Category", "Function", "Score", "Minimum", "Result"]); let mut table = Table::new();
table.set_header(["Category", "Function", "Score", "Minimum", "Result"]);
// Count how many passed and how many failed. // Count how many passed and how many failed.
let (mut passed, mut failed) = (0, 0); let (mut passed, mut failed) = (0, 0);
for (requirement, result) in requirements.0.iter().zip(results.iter()) { for (requirement, result) in requirements.0.iter().zip(results.iter()) {
@@ -217,15 +219,16 @@ impl MachineCmd {
impl BenchResult { impl BenchResult {
/// Format [`Self`] as row that can be printed in a table. /// Format [`Self`] as row that can be printed in a table.
fn to_row(&self, req: &Requirement) -> prettytable::Row { fn to_row(&self, req: &Requirement) -> Row {
let passed = if self.passed { "✅ Pass" } else { "❌ Fail" }; let passed = if self.passed { "✅ Pass" } else { "❌ Fail" };
row![ vec![
req.metric.category(), req.metric.category().into(),
req.metric.name(), req.metric.name().into(),
format!("{}", self.score), format!("{}", self.score),
format!("{}", req.minimum), format!("{}", req.minimum),
format!("{} ({: >5.1?} %)", passed, self.rel_score * 100.0) format!("{} ({: >5.1?} %)", passed, self.rel_score * 100.0),
] ]
.into()
} }
} }