Browse Source

Docker works as expected, README updated

Lindsey Tulloch 1 year ago
parent
commit
762329aab5
2 changed files with 28 additions and 25 deletions
  1. 9 6
      README.md
  2. 19 19
      run_tests_fast.sh

+ 9 - 6
README.md

@@ -1,7 +1,7 @@
 # Lox
 
 Lox is a reputation-based bridge distribution system that provides privacy protection to users and their social graph and is open to all users.
-Lox is written in rust and requires `cargo` to test. [Install Rust](https://www.rust-lang.org/tools/install)
+Lox is written in rust and requires `cargo` to test. [Install Rust](https://www.rust-lang.org/tools/install). We used Rust version 1.56.0.
 
 ### To use the docker environment to build the package:
 
@@ -10,10 +10,10 @@ Lox is written in rust and requires `cargo` to test. [Install Rust](https://www.
 ./run-lox.sh
 ```
 
-### To run the full tests used for our experimental results run:
+### To run each of the tests used for our experimental results run:
 
 ```
-cargo test --release -- --nocapture TESTNAME
+cargo test --release -- --nocapture TESTNAME >> TESTNAME.log
 ```
 
 Where `TESTNAME` is one of:
@@ -50,16 +50,19 @@ reported results (with larger error margins). To run individual tests with this
 flag run:
 
 ```
-  cargo test --release --features=fast -- --nocapture TESTNAME
+  cargo test --release --features=fast -- --nocapture TESTNAME >> TESTNAME.log
  ```
 
- To run all tests in fast mode and output the results to the Parsing-results
- directory, run:
+We have also included the scripts we used to parse the output from each of the Lox tests in the `Parsing-results` directory. For convenience, copy all of the output log files to the `Parsing-results` directory and run `./parse_data.sh`. This is a python script that uses Python 3.8+ and depends on `numpy`, `matplotlib`, and `pandas` which can be installed with `pip3`.
+
+To run all tests in fast mode, output the results to the `Parsing-results` directory, and generate the tables and graphs used in our paper, run:
 
 ```
 ./run_tests_fast
 ```
 
+This should take approximately 9 hours to complete.
+
 Note that: our implementation is coded such that the reachability certificate expires at 00:00 UTC. A workaround has been included in each test to pause if it is too close to this time so the request won't fail. In reality, if the bucket is still reachable, a user could simply request a new reachability token if their request fails for this reason (a new certificate should be available prior to the outdated certificate expiring).
 
 

+ 19 - 19
run_tests_fast.sh

@@ -2,25 +2,25 @@
 
 cargo test --release --features=fast -- --nocapture stats_test_trust_levels > trust_levels.log
 cargo test --release --features=fast -- --nocapture stats_test_invitations > invitations.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_05 > check_blockage05.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_010 > check_blockage010.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_20 > check_blockage20.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_25 > check_blockage25.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_30 > check_blockage30.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_35 > check_blockage35.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_40 > check_blockage40.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_45 > check_blockage45.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_50 > check_blockage50.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_55 > check_blockage55.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_60 > check_blockage60.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_65 > check_blockage65.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_70 > check_blockage70.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_75 > check_blockage75.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_80 > check_blockage80.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_85 > check_blockage85.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_90 > check_blockage90.log
-cargo test --release --features=fast -- --nocapture stats_test_percent_check_blockage_95 > check_blockage95.log
-cargo test release --features=fast -- --nocapture stats_test_percent_check_blockage_100 > check_blockage100.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_05 > check_blockage05.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_010 > check_blockage010.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_20 > check_blockage20.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_25 > check_blockage25.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_30 > check_blockage30.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_35 > check_blockage35.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_40 > check_blockage40.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_45 > check_blockage45.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_50 > check_blockage50.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_55 > check_blockage55.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_60 > check_blockage60.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_65 > check_blockage65.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_70 > check_blockage70.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_75 > check_blockage75.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_80 > check_blockage80.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_85 > check_blockage85.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_90 > check_blockage90.log
+cargo test --release --features=fast -- --nocapture stats_test_percent_blockage_migration_95 > check_blockage95.log
+cargo test release --features=fast -- --nocapture stats_test_percent_blockage_migration_100 > check_blockage100.log
 echo "Completed all tests, now parsing results"
 mv *.log Parsing-results
 cd Parsing-results