Best Python code snippet using autotest_python
runtest_coverage.py
Source:runtest_coverage.py  
1from vowpalwabbit import pyvw2import json3import os4from pathlib import Path5def get_latest_tests(file_path=None):6    if file_path is None:7        test_ref_dir = Path(os.path.dirname(os.path.abspath(__file__)))8        file_path = Path(test_ref_dir).joinpath("core.vwtest.json")9    json_test_spec_content = open(file_path).read()10    tests = json.loads(json_test_spec_content)11    return [x.__dict__ for x in tests]12def get_all_options():13    return pyvw.get_all_vw_options()14def to_json():15    config = get_all_options()16    for name, config_group in config.items():17        for (group_name, options) in config_group:18            for option in options:19                option._type = str(type(option._default_value).__name__)20    import json21    with open("vw_options.json", "w") as f:22        f.write(json.dumps(config, indent=2, default=lambda x: x.__dict__))23def get_config_of_vw_cmd(test):24    vw = pyvw.Workspace(arg_str=test["vw_command"])25    config = vw.get_config()26    enabled_reductions = vw.get_enabled_reductions()27    vw.finish()28    return config, enabled_reductions29def update_option(config, name, group_name, option_name):30    for (g_n, options) in config[name]:31        if g_n == group_name:32            for option in options:33                if option.name == option_name:34                    option.value = True35    return config36def merge_config(tracker, b):37    for name, config_group in b.items():38        for (group_name, options) in config_group:39            for option in options:40                if option.value_supplied:41                    tracker = update_option(tracker, name, group_name, option.name)42    return tracker43def print_non_supplied(config):44    with_default = []45    without_default = []46    for name, config_group in config.items():47        for (group_name, options) in config_group:48            for option in options:49                if not option.value_supplied:50                    default_val_str = ""51                    if option.default_value_supplied:52                        default_val_str = ", BUT has default value"53                        agg = with_default54                    if len(config_group) <= 1:55                        agg.append(name + ", " + option.name + default_val_str)56                    else:57                        agg.append(58                            name59                            + ", "60                            + group_name61                            + ", "62                            + option.name63                            + default_val_str64                        )65                    agg = without_default66    for e in with_default:67        print(e)68    for e in without_default:69        print(e)70# this function needs more depedencies (networkx, matplotlib, graphviz)71def draw_graph(stacks):72    import networkx as nx73    import matplotlib.pyplot as plt74    from networkx.drawing.nx_agraph import write_dot, graphviz_layout75    G = nx.DiGraph()76    for l in stacks:77        reductions = l.split("->")78        for i, k in zip(reductions, reductions[1:]):79            G.add_edge(80                k.replace("cb_explore_adf_", ""), i.replace("cb_explore_adf_", "")81            )82        if len(reductions) == 1:83            G.add_node(reductions[0])84    plt.figure(num=None, figsize=(24, 12), dpi=120, facecolor="w", edgecolor="k")85    write_dot(G, "graphviz_format.dot")86    pos = graphviz_layout(87        G,88        prog="dot",89        args='-Nfontsize=10 -Nwidth=".2" -Nheight=".2" -Nmargin=0 -Gfontsize=12',90    )91    nx.draw(G, pos, with_labels=True, arrows=True, node_size=1600)92    plt.savefig("reduction_graph.png")93def main():94    stacks = []95    allConfig = get_all_options()96    tests = get_latest_tests()97    for test in tests:98        # fails for unknown reasons (possibly bugs with pyvw)99        if test["id"] in [100            195,101            236,102            237,103            238,104            239,105            240,106            241,107            242,108            243,109            244,110            245,...locust_tests.py
Source:locust_tests.py  
...7class UserBehavior(TaskSet):8    # Number of different calls:9    # 3310    @task11    def get_latest_tests(self):12        base = random.choice(CURRENCY)13        self.client.get(14            "/latest?base=%s" % base,15            name="Get the latest currency")16    # Number of different calls:17    # 33 * 33 * 10 = 1089018    @task19    def get_convert_tests(self):20        currencyTo = random.choice(CURRENCY)21        currencyFrom = random.choice(CURRENCY)22        amount = random.randint(0, 9)  # 0-923        self.client.get(24            "/convert?fromamount=%i&to=%s&from=%s" % (amount, currencyTo, currencyFrom),25            name="Convert amount of currencyFrom to currencyTo")...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
