Skip to main content

testsuite for FATE

Project description

A useful script to running FATE’s testsuites.

quick start

  1. (optional) create virtual env

    python -m venv venv
    source venv/bin/activate
  2. install fate_testsuite

    pip install fate_testsuite
    fate_testsuite --help
  3. new and edit the testsuite_config.yaml

    # create a testsuite_config.yaml in current dir
    testsuite config new
    # edit priority config file with system default editor
    # filling some field according to comments
    fate_testsuite config edit
  4. run some testsuites

    fate_testsuite suite -i <path contains *testsuite.json>
  5. useful logs or exception will be saved to logs dir with namespace showed in last step

testsuite_config.yaml examples

  1. no need ssh tunnel:

    • 9999, service: service_a

    • 10000, service: service_b

    and both service_a, service_b can be requested directly:

    work_mode: 1 # 0 for standalone, 1 for cluster
    data_base_dir: <path_to_data>
    parties:
      guest: [10000]
      host: [9999, 10000]
      arbiter: [9999]
    services:
      - flow_services:
        - {address: service_a, parties: [9999]}
          {address: service_b, parties: [10000]}
  2. need ssh tunnel:

    • 9999, service: service_a

    • 10000, service: service_b

    service_a, can be requested directly while service_b don’t, but you can request service_b in other node, say B:

    work_mode: 0 # 0 for standalone, 1 for cluster
    data_base_dir: <path_to_data>
    parties:
      guest: [10000]
      host: [9999, 10000]
      arbiter: [9999]
    services:
      - flow_services:
        - {address: service_a, parties: [9999]}
      - flow_services:
        - {address: service_b, parties: [10000]}
        ssh_tunnel: # optional
        enable: true
        ssh_address: <ssh_ip_to_B>:<ssh_port_to_B>
        ssh_username: <ssh_username_to B>
        ssh_password: # optional
        ssh_priv_key: "~/.ssh/id_rsa"

command options

  1. exclude:

    testsuite suite -i <path1 contains *testsuite.json> -e <path2 to exclude> -e <path3 to exclude> ...

    will run testsuites in path1 but not in path2 and path3

  2. replace:

    testsuite suite -i <path1 contains *testsuite.json> -r '{"maxIter": 5}'

    will find all key-value pair with key “maxIter” in data conf or conf or dsl and replace the value with 5

  3. glob:

    testsuite suite -i <path1 contains *testsuite.json> -g "hetero*"

    will run testsuites in sub directory start with hetero of path1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sage_testsuite-0.1.0a6.tar.gz (12.6 kB view hashes)

Uploaded Source

Built Distribution

sage_testsuite-0.1.0a6-py3-none-any.whl (16.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page