19 | | Code resides in assign+ branch of the repository, in assign+ folder. |
| 19 | Testing code resides in assign+ branch of the repository, in assign+/test folder. There are several files that jointly perform tests that compare performance of ''assign'' and ''assign+''. |
| 20 | * '''removefixed.pl''' |
| 21 | * PURPOSE: Remove fixed nodes from a ''topfile'' |
| 22 | * INPUT: ''topfile'' |
| 23 | * OUTPUT: ''topfile'' in correct format minus lines that talk about fixed nodes |
| 24 | * '''makefixed.pl''' |
| 25 | * PURPOSE: Make a ''topfile'' with fixed nodes taken from the output of ''assign'' or ''assign+'' |
| 26 | * INPUT: output-file-of-assign-or-assign+ ''topfile'' |
| 27 | * OUTPUT: ''topfile'' in correct format plus lines that enforce fixed nodes and fixed interfaces for links |
| 28 | * '''parseinfo.pl''' |
| 29 | * PURPOSE: measure performance of ''assign'' or ''assign+'' |
| 30 | * INPUT: a file containing output of ''assign'' or ''assign+'' |
| 31 | * OUTPUT: success or failure of allocation, time the allocation took, number of nodes and interswitch links allocated |
| 32 | * '''runtests.pl''' |
| 33 | * PURPOSE: run a number of tests with ''assign'' and ''assign+'' |
| 34 | * INPUT: a file containing lines with ''ptopfile'' and ''topfile'' |
| 35 | * OUTPUT: file ''testresults'' that contains performance of these two allocation algorithms for each line of input |
| 36 | * '''processresults.pl''' |
| 37 | * PURPOSE: process the results file generated in the previous step |
| 38 | * INPUT: name of the results file |
| 39 | * OUTPUT: statistics about successes and failures of ''assign'' and ''assign+''. The code also produces files that contain inputs that lead to following potentially anomalous cases: |
| 40 | * ''checktests'' - ''assign+'' failed and ''assign'' didn't |
| 41 | * ''failedtests'' - both ''assign+'' and ''assign'' failed |
| 42 | * ''weirdtests'' - ''assign+'' succeeded and ''assign'' didn't |
| 43 | * ''impossibletests'' - ''assign+'' succeeded and ''assign'' didn't with fixed nodes from output of ''assign+''. This most often happens because ''assign+'' cannot deal properly with fixed interfaces on links. |
| 44 | |
| 45 | |
| 46 | |