Skip to content
This repository has been archived by the owner on Oct 5, 2022. It is now read-only.

Merges dev branch into master #90

Merged
merged 27 commits into from
May 9, 2017
Merged

Merges dev branch into master #90

merged 27 commits into from
May 9, 2017

Conversation

nkinkade
Copy link

@nkinkade nkinkade commented May 9, 2017

See this closed PR for details on this one:

ndt-project#219

To summarize:

@gfr10598 said:

LGTM. I probably was waiting for you to get back from leave, and then forgot about it.
Not looking in detail, as this was definitely the intention at the time. You should probably scan through it briefly though.

@nkinkade said:

There are 21 commits in this PR, most of which I don't know the intention without read a lot of history. I'm going to just assume that they are safe to merge since they were probably all code reviewed. We can rollback any change that breaks something. :)


This change is Reviewable

pboothe and others added 27 commits July 20, 2016 17:52
Increase robustness in the face of partial failures, and improve error logging
The NDT client assumes that the server supports all test types and the
official NDT server respects this assumption.

However, the [neubot/botticelli](https://github.com/neubot/botticelli)
server only implements TEST_META, TEST_S2C, and TEST_S2C.

Therefore, when using the NDT client with a botticelli server, the
client crahes in processing the results of the TEST_MID that however
has not been executed.

Fix by making sure that, when processing results, we use a bitmak where
only bits corresponding to tests that run are actually set.

(There is also another reason why NDT client crashes when testing with
botticelli, addressed by neubot/botticelli#18.)

Problems between NDT client and botticelli reported by @nkinkade, thanks!
1) Do not assume that the first line we receive contains a space

2) Do not assume that the first line we receive contains an integer

3) Be robust to the case where input is an empty string

4) Do not assume that after the first token delimited by space we
   will find a second token delimited by newline

Tested under the following conditions:

a) web100clt -n ndt.iupui.mlab1.trn01.measurement-lab.org that sends
   back all variables and checked via printf() that the variables that
   are parsed by the new code are the ones received in resultstr

b) web100clt -n neubot.mlab.mlab1.mil01.measurement-lab.org that at
   the moment is running botticelli v0.0.5 (which is buggy and doesn't
   send any MSG_RESULTS messages) and make sure it does not crash

c) web100clt -n neubot.mlab.mlab1.trn01.measurement-lab.org that at
   the moment is running botticelli v0.0.6 (which sends a single
   dummy variable not considered by NDT) and make sure it doesn't crash

Note that a) and c) did not changed after this patch. What this patch
changes is the behavior in case b).

xref: neubot/botticelli#18.
Make transitive includes of web100.h explicit, and add log_first_n
…rting_only_some_tests

Don't assume server supports all test types
web100clt.c: make results parsing more robust
Rebase to pickup some changes in ndt-project (upstream)
* Made the unit tests create the logfile in /tmp

* Clarified the test code
@nkinkade nkinkade merged commit 7718feb into master May 9, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants