Skip to content

Latest commit

 

History

History
99 lines (80 loc) · 1.6 KB

MUTATION_TESTING.md

File metadata and controls

99 lines (80 loc) · 1.6 KB

Mutation Testing

The Vimes package provides functionality for mutation testing a Julia package.

Follow these instructions for running Vimes on ClassImbalance:

Step 1

Delete your existing .julia directory:

rm -rf ~/.julia

Step 2

Open a Julia REPL:

julia

Step 3

Once in Julia, import Pkg:

import Pkg

Step 4

Add the MikeInnes fork of CSTParser at the location branch:

Pkg.add(Pkg.PackageSpec(url="https://github.com/MikeInnes/CSTParser.jl", rev="location"))

Step 5

Add Vimes:

Pkg.add(Pkg.PackageSpec(url="https://github.com/MikeInnes/Vimes.jl"))

Step 6

Checkout ClassImbalance for development:

Pkg.develop("ClassImbalance")

Step 7

Run the ClassImbalance test suite once. This allows us to install and build all of our test-only dependencies. It also lets us confirm that the test suite passes before we start running Vimes.

Pkg.test("ClassImbalance")

Step 8

Exit Julia

exit()

Step 9

cd to the ClassImbalance.jl repo:

cd ~/.julia/dev/ClassImbalance

Step 10

Open a Julia REPL:

julia

Step 11

Once in Julia, import Vimes:

import Vimes

Step 12

Run Vimes:

Vimes.go(".")

Step 13:

Exit Julia:

exit()

Step 14:

cd into the .vimes folder:

cd .vimes

Step 15:

List all of the files in the .vimes folder:

ls -la

Step 16:

Take a look at the .diff files in the `.vimes`` folder, and write tests to cover each of the patches found by Vimes.