Skip to content

CESEL/FlakyTestsInPrioritization

Repository files navigation

Replication Package

Paper Title: "The Impact of Flaky Tests on Historical Test Prioritization on Chrome"

Authors: Emad Fallahzadeh, and Peter C. Rigby

Contact us: [email protected], [email protected]

Getting Started

The following instructions help you to get a copy of project up and running.

Prerequisites

To run this project you need to install the following:

  • Python 3.7 or higher
  • PostgreSQL 10.18 or higher

Installation

  1. Download data from https://doi.org/10.5281/zenodo.5576626
  2. Unzip compressed files by the following command in terminal:

cat x*.gz.part | tar -x -vz -f -

  1. Execute following command to create the chromium database in terminal:

createdb chromium

  1. To import test table run the following:

psql -U username -d database -1 -f chromium_dump.sql

Usage

  1. Run the following commands to prepare tables regarding blocking and non-blocking flaky failures scenarios:

blocking:

psql chromium -f convert_chromium.sql

non-blocking:

psql chromium -f convert_chromium_unexpected.sql

  1. In the following scripts replace ‘secret’ in the psycopg2.connect() with database password you set.
  2. To install dependency packages:

pip install -r requirements.txt

  1. To remove repeated tests in each build run:

python3 RemoveRepeatedTestsInEachBuild.py -t tests

python3 RemoveRepeatedTestsInEachBuild.py -t tests_unexpected

  1. Run the following commands to get the results from the algorithms:

No-Prioritization:

python3 fifo.py

Kim and Porter:

python3 kimporter.py

Elbaum:

python3 elbaum.py

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages