Skip to content

eddie-dunn/test-selection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

volkswagen status

Difference Engine project

The Difference Engine project aims to analyze historical test data and, based on this analysis, provide suggestions on which tests to run given a set of changed packages.

The main application is called diffeng and is used to produce the package <-> test correlations. There is also a subpackage, simulatron, which produces simulated historical test data that the Difference Engine can analyze.

Additionally, there are some utility scripts in the scripts/ folder.

For more information regarding the different applications or scripts, look for a README.md file in their respective folders.

Installation

For general usage, the normal pip install --user . procedure should work.

For development, it is highly recommended to install DiffEng in a python virtualenv. See below for info on how to configure this, with a convenient wrapper script.

External dependencies

  • numpy
  • scipy
  • scikit-learn

You will need numpy, scipy, and scikit-learn in order to run all the applications that are a part of this project. These are not specified as dependencies when installing via pip as upstream does not really support installing them that way. Instead, the recommended method of installing them is via your distro's package manager.

Development

Development should be done in a virtualenv. Therefore, you need to setup virtualenv and virtualenvwrapper before installing DifferenceEngine in editable mode for development.

I recommend installing the virtualenvwrapper script to ease managment of your python virtualenvs. You can add the export and source lines below to your .bashrc file to avoid running them in every new terminal you open.

pip install --user virtualenvwrapper
export WORKON_HOME=~/.virtualenvs  # or whichever dir you prefer
source ~/.local/bin/virtualenvwrapper.sh
mkvirtualenv -ppython3 temp3  # or whatever name you prefer
workon temp3
cd <folder containing DiffEng setup.py>
pip install --editable .

In order to run the tests you should install pytest in your virtualenv.

workon temp3
pip install pytest
deactivate    # these two steps are necessary if you have py.test
workon temp3  # installed on the system already
which py.test  # should point to py.test in your virtualenv
py.test tests/

About

This repo contains the code written for my master's thesis, "Test Selection Based on Historical Test Data".

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published