• [^] # Re: My 0ドル.02

    Posté par (site web personnel) . En réponse au journal Faites des tests !. Évalué à 2.

    Pouvoir est un grand mot, j'ai juste utilisé Boost.Process pour lancer une commande et vérifier les sorties. Ça ressemble à :

    const auto [code, out, err] = exec({ "rule-info", "0" });
    BOOST_TEST(!code);
    BOOST_TEST(out.size() == 7U);
    BOOST_TEST(err.size() == 0U);
    BOOST_TEST(out[0] == "rule: 0");
    BOOST_TEST(out[1] == "servers: s1 s2 ");
    BOOST_TEST(out[2] == "channels: c1 c2 ");
    BOOST_TEST(out[3] == "plugins: p1 p2 ");
    BOOST_TEST(out[4] == "events: onCommand onMessage ");
    BOOST_TEST(out[5] == "action: drop");

    exec() est une fonction qui exécute boost::process::system, lit stdin, stderr et me renvoie un tuple avec le code de retour. C'est pas ce qu'il y a de plus convivial à écrire mais ça reste plutôt simple.

    AI is a mental disorder