/aedt-testing

Testing Framework for Ansys Electronics Desktop

Primary LanguagePythonMIT LicenseMIT

Description

This project aims to provide an Automated Framework to test Ansys Electronics Desktop (AEDT). Users can set up a suite of tests to validate stability/regression of results between different versions of Ansys Electronics Desktop.

Table of Contents

Features

The current framework provides the following features:

  • Compare results of XY plots, mesh statistics and simulation time.
  • Web page output format for visual comparison
  • JSON file output format to support automated workflows and use of test results downstream.
  • Parallel distribution of test projects
  • Cross-platform: support for Windows and Linux
  • Compatibility with local machine and most known cluster schedulers: LSF, SGE, Slurm, PBS, Windows HPC
  • Control of required resources for each project and optimized distribution of tasks
  • Automatic generation of reference results (AEDT versions 2019R1+)

Installation

To install the package use:

pip install aedttest

Usage

Electronics Desktop testing framework automatically identifies environment where it was launched. In this chapter we will show basic examples of starting tests on local machine or on clusters with scheduler. In all scenarios we use Command Line Interface (CLI).

Configuration file

Framework requires configuration file as input. Please see example of a configuration file config_with_comments.toml to understand how to create a file.

You can use both config_with_comments.toml or config_without_comments.toml as template.

CLI Commands

To expose the available commands use the following command line

Open CLI commands Help

aedt_test_runner -h

Examples

Local machine

To start test on local machine use following command line

Generate only reference results
aedt_test_runner --config-folder=examples/configs --aedt-version=193 --only-reference
Run comparison between versions
aedt_test_runner --config-folder=examples/configs --aedt-version=231 --reference-folder=reference_folder

Slurm

Generate only reference results
sbatch \
  --job-name aedttest \
  --partition ottc01 \
  --export "ALL,ANSYSEM_ROOT193=/apps/software/ANSYS_EM_2019R1/AnsysEM19.3/Linux64,ANS_NODEPCHECK=1" \
  --nodes 2-2 --ntasks 56 \
  --wrap "aedt_test_runner --config-folder=examples/configs --aedt-version=193 --only-reference"
Run comparison between versions
sbatch \
  --job-name aedttest \
  --partition ottc01 \
  --export "ALL,ANSYSEM_ROOT222=/ott/apps/software/ANSYS_EM_2022R2_211129/v222/Linux64,ANS_NODEPCHECK=1" \
  --nodes 2-2 --ntasks 56 \
  --wrap "aedt_test_runner --config-folder=examples/configs --aedt-version=222 --reference-folder=~/reference_folder"

Limitations

Currently, project does not support or partially supports following features:

  • Automatic results creation is possible only for versions 2019R1+
  • LS-DSO is not supported

Contributors

If you would like to contribute to this project, please see CONTRIBUTE.