Things to consider:

  • Configuration Files
  • Test files
  • Multiple connections
  • Parallel testing
  • Failure handling

Requirements:

Server Connection
  • Ability to send and read command results
  • File verification (STOR command creates and stores a file)
Telnet
  • Connection which can be identified by a number and read/written to
  • Connection port is likely dynamic to server connection command
Testing
  • Output state used for comparing results.
  • May not be directly possible since there are things like ports that are not directly comparable
  • Perhaps ignore setup strings
Configuration
  • Ability to rerun each test using various different configurations

Test Format & Multiple Connections

  • <clientnum>:<input> Client Number - Multiple telnet clients can interface with the FTP server
  • Managing these clients requires us to map each number with a “subscriber”
  • Map # -> Connection

Requirement: Telnet connection which can be identified by a number and read/written to Requirement: Test Reader

Configuration Files

  • Can run every possible configuration test with the test file

Parallel Testing

  • We need to be able to compare binaries with the “clean” binary.
  • Singular string or state result which can be used to compare with other binary output Requirement: output state used for comparing results.