diff --git a/src/client/distren.c b/src/client/distren.c --- a/src/client/distren.c +++ b/src/client/distren.c @@ -25,20 +25,36 @@ int main(int argc, char *argv[]) { + char buf[10]; struct execio *testrem; - char *execargv[] = + char *execargv[] = { "ssh", "protofusion.org", "sh", "-c", - "\"echo hello from ${HOSTNAME} 1>&2\"", + "\"echo hello from ${HOSTNAME}\"", (char *)NULL }; + + size_t readlen; + fprintf(stderr, "testing execio (It shouldn't work) :-)\n"); + fprintf(stderr, "execio_open returns %d\n", execio_open(&testrem, "ssh", execargv)); - fprintf(stderr, "execio_open returns %d\n", execio_open(&testrem, "ssh", execargv)); + buf[9] = '\0'; + while(!execio_read(testrem, buf, 9, &readlen)) + { + if(readlen > 9) + { + fprintf(stderr, "execio_read doesn't set readlen correctly or read() is messed up\n"); + return 1; + } + buf[readlen] = '\0'; + fprintf(stderr, "read \"%s\"\n", buf); + } + return 0; };