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

Rebase to pickup some changes in ndt-project (upstream) #87

Merged
merged 13 commits into from
Mar 24, 2017
Merged

Conversation

gfr10598
Copy link

@gfr10598 gfr10598 commented Mar 24, 2017

This change is Reviewable

bassosimone and others added 12 commits January 7, 2017 14:35
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.
…rting_only_some_tests

Don't assume server supports all test types
web100clt.c: make results parsing more robust
@gfr10598 gfr10598 requested a review from pboothe March 24, 2017 01:02
@gfr10598
Copy link
Author

Not sure if this is the best way to merge these upstream changes. Suggestions welcome.

Copy link

@pboothe pboothe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@pboothe
Copy link

pboothe commented Mar 24, 2017

The upstream changes are a pretty small bugfix to web100clt. However they manage to get in is fine.

@gfr10598 gfr10598 merged commit aeaf958 into dev Mar 24, 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.

None yet

4 participants