![Diality](images/logo.jpg) # Dialin This repository contains the source code for the Dialin API. The Dialin API supports cross-functional testing of the Denali system. It supports the Systems level testing, Software Verification & Validation, and pre-release SW and FW developmental testing by exposing and simulating interaction with the UI, HD, and DG sub-components. To use this API, it is recommended to install the API directly from this locally hosted git repository. It is also possible to install it from a pre-packaged .whl file. Once installed to your local virtual python environment with pip, you can import modules as needed to develop your tests. All released versions of this API will be officially versioned so backwards compatibility is maintained and API updates can continue without affecting day-to-day testing. Please understand that the structure of this repository is still under review and the architecture is likely to change as improvements are made. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Using the API ### Install directly from this repository - Assumes your ssh key has already been setup with our internal BitBucket servers - Assumes your computer is in the office or that you are using LogMeIn. The VPN has a DNS issue which may break the installation. All release versions will eventually be placed on their own separate branch to facilitate backwards compatibility and a fully accessible and testable API version history. How to install from the master branch ``` #!/bin/bash virtualenv --python=python3 venv source venv/bin/activate pip3 install git+ssh://git@dvm-linux02:7999/vv/dialin.git ``` How to install a build from a specific branch. To change the branch, replace staging with the desired branch ``` #!/bin/bash virtualenv --python=python3 venv source venv/bin/activate branch="staging" pip3 install git+ssh://git@dvm-linux02:7999/vv/dialin.git@$branch ``` ### Install from a pre-built .whl file: ``` #!/bin/bash virtualenv --python=python3 venv source venv/bin/activate pip3 install dialin--py3-none-any.whl ``` ### Modules - Consult the Dialin API documentation which can be generated using the `tools/document.sh` script. - See the tests directory for example usages of the API. ## Dialin API Internal Development Environment ### Linux After cloning this repository, inside the repository root directory: ``` $ cd tools $ ./setup_environment.sh ``` ### Windows Due to a limitation in the underlying python-can library, Dialin does not currently support Windows. ## Unit Testing All unit tests of the Dialin API can be found in tests/unit_tests. To run them: ``` $ cd tools $ ./run_unit_tests.sh 127 ↵ ``` If there is a failure, the script will indicate what failed. No output means all tests have passed. ## Building the Dialin package ``` $ ./build.sh ``` [Changelog](CHANGELOG.md) [LICENSE](./LICENSE)