Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

client api and tests #76

Open
twood02 opened this issue Apr 30, 2015 · 2 comments
Open

client api and tests #76

twood02 opened this issue Apr 30, 2015 · 2 comments

Comments

@twood02
Copy link
Member

twood02 commented Apr 30, 2015

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.

@twood02
Copy link
Member Author

twood02 commented Apr 30, 2015

to follow the conventions, it looks like client-tests.c and client-perf.c should go in a separate tests subdirectory.

@kstats
Copy link
Member

kstats commented Apr 30, 2015

We will make the changes!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants