Skip to content

client api and tests #76

@twood02

Description

@twood02

What I'd like is to have these files in the client directory:

  • client-api.c - this contains the functions which could be used by several different clients
  • client-cmd.c - this is a command line-based client that reads arguments from the command line about whether to do a set or get and uses the library to make the request
  • client-perf.c - this is a performance tester. It should issue N requests (a command line parameter) and should measure the time taken by each request and store it in a histogram. Remember that each request will require creating a new socket connection. At the end of the program it should print out the histogram.
    • @SMonaghan and @Chryel - please work on this once the client-api.c is merged with final function names.
  • client-tests.c - this is a test program that can be used to test whether the server is working properly. It might for example might set key1 and then set key2 and then try to get them back to verify the values are correct. Then it might try to get key3 (which should not exist) and handle that appropriately. If the keys don't match or if the program segfaults that means the test fail. It may not be possible to run this as part of an automated Travis test because it will require that a server is actually running. That's OK with me.
    • I'll assign this to some of the others who didn't do a GENI project once we know what other tasks remain.

I don't think we need other automated tests for the client API since all of the interesting logic is related to sockets, and there is no easy way to test that with Travis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions