Skip to content

Commit

Permalink
cleanup: remove jafar and the previous QA framework (#1244)
Browse files Browse the repository at this point in the history
## Checklist

- [x] I have read the [contribution
guidelines](https://github.com/ooni/probe-cli/blob/master/CONTRIBUTING.md)
- [x] reference issue for this pull request:
ooni/probe#1803
- [x] if you changed anything related to how experiments work and you
need to reflect these changes in the ooni/spec repository, please link
to the related ooni/spec pull request: N/A
- [x] if you changed code inside an experiment, make sure you bump its
version number: N/A

## Description

This is the final act of the quest to replace Jafar. Let's remove Jafar
itself and the QA framework using it. We now have a much better QA
framework, that runs for each commit, is faster, and allows to better
emulate censorship cases.

While working on the removal, I noticed some tutorials depended on a
limited set of Jafar functionality, namely the possibility of provoking
simple censorship conditions. So, I refactored the previous code for
managing iptables on Linux used by Jafar to produce a much slimmer,
fully unit tested tool implementing a subset of the original CLI.

By implementing this change, we make sure that we still have simple ways
for people to learn while reading tutorials.

What remains to be done at this point is to update existing issues,
close done issues, and generally make sure we explain clearly what we
achieved by working on this quest, and what new features are now
available.
  • Loading branch information
bassosimone committed Sep 6, 2023
1 parent 18f9dcb commit 2051a2d
Show file tree
Hide file tree
Showing 51 changed files with 601 additions and 3,102 deletions.
26 changes: 0 additions & 26 deletions .github/workflows/jafar.yml

This file was deleted.

15 changes: 0 additions & 15 deletions .github/workflows/qa.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
/citizenlab-test-lists
/gardener
/ghpublish.out.txt
/jafar
/libooniengine.*
/measurement.json
/miniooni
Expand All @@ -25,4 +24,5 @@
/ooniprobe
/ooporthelper
/probe-cli.cov
/tinyjafar
/tmp-*
7 changes: 3 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,9 @@ will understand you want to use the default pool)
## Code testing requirements

Make sure all tests pass with `go test -race ./...` run from the
top-level directory of this repository. (Integration tests may be
flaky, so there may be some failures here and and there; we know
in particular that `./internal/cmd/jafar` is one of the usual
suspects and that it's not super pleasant to test it under Linux.)
top-level directory of this repository. (Running [netem](
https://github.com/ooni/netem) based tests may not work as intended
with `-race` with macOS.)

## Writing a new OONI experiment

Expand Down
1 change: 0 additions & 1 deletion QA/.dockerignore

This file was deleted.

4 changes: 0 additions & 4 deletions QA/.gitignore

This file was deleted.

24 changes: 0 additions & 24 deletions QA/README.md

This file was deleted.

68 changes: 0 additions & 68 deletions QA/common.py

This file was deleted.

21 changes: 0 additions & 21 deletions QA/dockermain.sh

This file was deleted.

88 changes: 0 additions & 88 deletions QA/minioonilike.py

This file was deleted.

16 changes: 0 additions & 16 deletions QA/rundocker.bash

This file was deleted.

Loading

0 comments on commit 2051a2d

Please sign in to comment.