Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9692ffe4 authored by Andrew Walbran's avatar Andrew Walbran
Browse files

Prepare for clap 4.

Bug: 260823636
Tag: #gd-refactor
Test: atest pdl_tests
Change-Id: Ie9e9592718735f365b0780583b0a4915fe2a50bb
parent 8ba79099
Loading
Loading
Loading
Loading
+22 −17
Original line number Diff line number Diff line
//! Starts the facade services that allow us to test the Bluetooth stack

use bluetooth_with_facades::RootFacadeService;
use clap::{value_t, App, Arg};
use clap::{value_parser, Arg, Command};
use futures::channel::mpsc;
use futures::executor::block_on;
use futures::stream::StreamExt;
@@ -20,37 +20,42 @@ fn main() {
}

async fn async_main(rt: Arc<Runtime>, mut sigint: mpsc::UnboundedReceiver<()>) {
    let matches = App::new("bluetooth_with_facades")
    let matches = Command::new("bluetooth_with_facades")
        .about("The bluetooth stack, with testing facades enabled and exposed via gRPC.")
        .arg(
            Arg::with_name("root-server-port")
            Arg::new("root-server-port")
                .long("root-server-port")
                .default_value("8897")
                .takes_value(true),
                .value_parser(value_parser!(u16))
                .default_value("8897"),
        )
        .arg(Arg::with_name("grpc-port").long("grpc-port").default_value("8899").takes_value(true))
        .arg(
            Arg::with_name("signal-port")
            Arg::new("grpc-port")
                .long("grpc-port")
                .value_parser(value_parser!(u16))
                .default_value("8899"),
        )
        .arg(
            Arg::new("signal-port")
                .long("signal-port")
                .default_value("8895")
                .takes_value(true),
                .value_parser(value_parser!(u16))
                .default_value("8895"),
        )
        .arg(Arg::with_name("rootcanal-port").long("rootcanal-port").takes_value(true))
        .arg(Arg::with_name("btsnoop").long("btsnoop").takes_value(true))
        .arg(Arg::with_name("btsnooz").long("btsnooz").takes_value(true))
        .arg(Arg::with_name("btconfig").long("btconfig").takes_value(true))
        .arg(Arg::new("rootcanal-port").long("rootcanal-port").value_parser(value_parser!(u16)))
        .arg(Arg::new("btsnoop").long("btsnoop"))
        .arg(Arg::new("btsnooz").long("btsnooz"))
        .arg(Arg::new("btconfig").long("btconfig"))
        .get_matches();

    let root_server_port = value_t!(matches, "root-server-port", u16).unwrap();
    let grpc_port = value_t!(matches, "grpc-port", u16).unwrap();
    let rootcanal_port = value_t!(matches, "rootcanal-port", u16).ok();
    let root_server_port = *matches.get_one::<u16>("root-server-port").unwrap();
    let grpc_port = *matches.get_one::<u16>("grpc-port").unwrap();
    let rootcanal_port = matches.get_one::<u16>("rootcanal-port").copied();
    let env = Arc::new(Environment::new(2));
    let mut server = ServerBuilder::new(env)
        .register_service(RootFacadeService::create(
            rt,
            grpc_port,
            rootcanal_port,
            matches.value_of("btsnoop").map(String::from),
            matches.get_one::<String>("btsnoop").cloned(),
        ))
        .bind("0.0.0.0", root_server_port)
        .build()
+24 −19
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@

use bt_topshim::btif;

use clap::{value_t, App, Arg};
use clap::{value_parser, Arg, Command};
use futures::channel::mpsc;
use futures::executor::block_on;
use futures::stream::StreamExt;
@@ -41,35 +41,40 @@ fn main() {
}

async fn async_main(rt: Arc<Runtime>, mut sigint: mpsc::UnboundedReceiver<()>) {
    let matches = App::new("bluetooth_topshim_facade")
    let matches = Command::new("bluetooth_topshim_facade")
        .about("The bluetooth topshim stack, with testing facades enabled and exposed via gRPC.")
        .arg(Arg::with_name("grpc-port").long("grpc-port").default_value("8899").takes_value(true))
        .arg(
            Arg::with_name("root-server-port")
            Arg::new("grpc-port")
                .long("grpc-port")
                .value_parser(value_parser!(u16))
                .default_value("8899"),
        )
        .arg(
            Arg::new("root-server-port")
                .long("root-server-port")
                .default_value("8897")
                .takes_value(true),
                .value_parser(value_parser!(u16))
                .default_value("8897"),
        )
        .arg(
            Arg::with_name("signal-port")
            Arg::new("signal-port")
                .long("signal-port")
                .default_value("8895")
                .takes_value(true),
                .value_parser(value_parser!(u16))
                .default_value("8895"),
        )
        .arg(Arg::with_name("rootcanal-port").long("rootcanal-port").takes_value(true))
        .arg(Arg::with_name("btsnoop").long("btsnoop").takes_value(true))
        .arg(Arg::with_name("btsnooz").long("btsnooz").takes_value(true))
        .arg(Arg::with_name("btconfig").long("btconfig").takes_value(true))
        .arg(Arg::new("rootcanal-port").long("rootcanal-port").value_parser(value_parser!(u16)))
        .arg(Arg::new("btsnoop").long("btsnoop"))
        .arg(Arg::new("btsnooz").long("btsnooz"))
        .arg(Arg::new("btconfig").long("btconfig"))
        .arg(
            Arg::with_name("start-stack-now")
            Arg::new("start-stack-now")
                .long("start-stack-now")
                .default_value("true")
                .takes_value(true),
                .value_parser(value_parser!(bool))
                .default_value("true"),
        )
        .get_matches();

    let grpc_port = value_t!(matches, "grpc-port", u16).unwrap();
    let _rootcanal_port = value_t!(matches, "rootcanal-port", u16).ok();
    let grpc_port = *matches.get_one::<u16>("grpc-port").unwrap();
    let _rootcanal_port = matches.get_one::<u16>("rootcanal-port").cloned();
    let env = Arc::new(Environment::new(2));

    let btif_intf = Arc::new(Mutex::new(btif::get_btinterface().unwrap()));
@@ -90,7 +95,7 @@ async fn async_main(rt: Arc<Runtime>, mut sigint: mpsc::UnboundedReceiver<()>) {

    let media_service_impl = media_service::MediaServiceImpl::create(rt.clone(), btif_intf.clone());

    let start_stack_now = value_t!(matches, "start-stack-now", bool).unwrap();
    let start_stack_now = *matches.get_one::<bool>("start-stack-now").unwrap();

    if start_stack_now {
        btif_intf.clone().lock().unwrap().enable();
+4 −4
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ mod test_utils;

use crate::lint::Lintable;

#[derive(Debug)]
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
enum OutputFormat {
    JSON,
    Rust,
@@ -34,12 +34,12 @@ impl std::str::FromStr for OutputFormat {
#[clap(name = "pdl-parser", about = "Packet Description Language parser tool.")]
struct Opt {
    /// Print tool version and exit.
    #[clap(short, long = "--version")]
    #[clap(short, long = "version")]
    version: bool,

    /// Generate output in this format ("json" or "rust"). The output
    /// will be printed on stdout in both cases.
    #[clap(short, long = "--output-format", name = "FORMAT", default_value = "JSON")]
    #[clap(short, long = "output-format", name = "FORMAT", default_value = "JSON")]
    output_format: OutputFormat,

    /// Input file.
@@ -48,7 +48,7 @@ struct Opt {
}

fn main() -> std::process::ExitCode {
    let opt = Opt::from_args();
    let opt = Opt::parse();

    if opt.version {
        println!("Packet Description Language parser version 1.0");