Skip to content

Commit

Permalink
Enabled generic_webcam protocol
Browse files Browse the repository at this point in the history
  • Loading branch information
CurlyMoo committed Jul 26, 2017
1 parent df752d2 commit 17a2ae9
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,6 @@ script:
after_success:
- gem install coveralls-lcov
- lcov -c -d CMakeFiles/pilight.dir/libs/pilight/events/ -d CMakeFiles/pilight.dir/libs/pilight/core/ -d CMakeFiles/pilight.dir/libs/pilight/psutil/ -d CMakeFiles/pilight.dir/libs/pilight/protocols/API/ -d CMakeFiles/pilight.dir/libs/pilight/protocols/core/ -d CMakeFiles/pilight.dir/libs/pilight/protocols/generic/ -d CMakeFiles/pilight.dir/libs/pilight/protocols/network/ -d CMakeFiles/pilight.dir/libs/pilight/protocols/GPIO -o coverage.info
- lcov -r coverage.info '*proc.c' '*adhoc.c' '*gc.c' '*generic_webcam.c' '*mem.c' '*firmware.c' '*gpio_switch.c' '*relay.c' '*pushover.c' '*pushbullet.c' '*dht11.c' '*dht22.c' -o coverage-filtered.info
- lcov -r coverage.info '*proc.c' '*adhoc.c' '*gc.c' '*mem.c' '*firmware.c' '*gpio_switch.c' '*relay.c' '*pushover.c' '*pushbullet.c' '*dht11.c' '*dht22.c' -o coverage-filtered.info
- lcov --list coverage-filtered.info
- if [[ "$TRAVIS_EVENT_TYPE" != "pull_request" ]]; then coveralls-lcov --repo-token ${COVERALLS_TOKEN} coverage-filtered.info; fi
31 changes: 28 additions & 3 deletions libs/pilight/protocols/generic/generic_webcam.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,41 @@
#include "generic_webcam.h"

static int checkValues(JsonNode *code) {
int height = 300;
int height = 300, num = 0;
double itmp = -1;

if(json_find_number(code, "gui-image-height", &itmp) == 0)
if(json_find_number(code, "image-height", &itmp) == 0)
height = (int)round(itmp);

if(height <= 0) {
logprintf(LOG_ERR, "Generic webcam gui-image-height cannot <= 0");
logprintf(LOG_ERR, "Generic webcam image-height cannot <= 0");
return 1;
}

if(json_find_number(code, "image-width", &itmp) == 0)
num = (int)round(itmp);

if(num <= 0) {
logprintf(LOG_ERR, "Generic webcam image-width cannot <= 0");
return 1;
}

if(json_find_number(code, "poll-interval", &itmp) == 0)
num = (int)round(itmp);

if(num <= 0) {
logprintf(LOG_ERR, "Generic webcam poll-interval cannot <= 0");
return 1;
}

if(json_find_number(code, "show-webcam", &itmp) == 0)
num = (int)round(itmp);

if(num < 0 || num > 1) {
logprintf(LOG_ERR, "Generic webcam show-webcam can only be 1 or 0");
return 1;
}

return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion tests/cutest.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ int test_unittest(void) {
output = CuStringNew();
CuSuiteDetails(suite, output);

int len = strlen(output->buffer);
// int len = strlen(output->buffer);
// assert(len > 2150 && len < 2250);
free(output->buffer);
free(output);
Expand Down
54 changes: 41 additions & 13 deletions tests/protocols_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,23 +172,51 @@ static void test_protocols_generic_webcam(CuTest *tc) {

memtrack();

// char message[1024];
genericWebcamInit();

// genericWebcamInit();
struct JsonNode *jcode = json_mkobject();
json_append_member(jcode, "id", json_mknumber(1, 0));
json_append_member(jcode, "url", json_mkstring("foobar"));
json_append_member(jcode, "image-width", json_mknumber(400, 0));
json_append_member(jcode, "image-height", json_mknumber(300, 0));
json_append_member(jcode, "show-webcam", json_mknumber(1, 0));
json_append_member(jcode, "poll-interval", json_mknumber(1, 0));

// struct JsonNode *jcode = json_mkobject();
// json_append_member(jcode, "id", json_mknumber(1, 0));
// json_append_member(jcode, "url", json_mkstring("foobar"));
// json_append_member(jcode, "image-width", json_mknumber(400, 0));
// json_append_member(jcode, "image-height", json_mknumber(300, 0));
// json_append_member(jcode, "show-webcam", json_mknumber(1, 0));
// json_append_member(jcode, "poll-interval", json_mknumber(1, 0));
CuAssertIntEquals(tc, 0, generic_webcam->checkValues(jcode));
json_delete(jcode);

// char *p = message;
// CuAssertIntEquals(tc, 0, generic_webcam->createCode(jcode, &p));
// CuAssertStrEquals(tc, "{\"id\":1,\"url\":\"foobar\"}", message);
jcode = json_mkobject();
json_append_member(jcode, "id", json_mknumber(1, 0));
json_append_member(jcode, "url", json_mkstring("foobar"));
json_append_member(jcode, "image-width", json_mknumber(400, 0));
json_append_member(jcode, "image-height", json_mknumber(-1, 0));
json_append_member(jcode, "show-webcam", json_mknumber(1, 0));
json_append_member(jcode, "poll-interval", json_mknumber(1, 0));

// json_delete(jcode);
CuAssertIntEquals(tc, 1, generic_webcam->checkValues(jcode));
json_delete(jcode);

jcode = json_mkobject();
json_append_member(jcode, "id", json_mknumber(1, 0));
json_append_member(jcode, "url", json_mkstring("foobar"));
json_append_member(jcode, "image-width", json_mknumber(400, 0));
json_append_member(jcode, "image-height", json_mknumber(300, 0));
json_append_member(jcode, "show-webcam", json_mknumber(-1, 0));
json_append_member(jcode, "poll-interval", json_mknumber(1, 0));

CuAssertIntEquals(tc, 1, generic_webcam->checkValues(jcode));
json_delete(jcode);

jcode = json_mkobject();
json_append_member(jcode, "id", json_mknumber(1, 0));
json_append_member(jcode, "url", json_mkstring("foobar"));
json_append_member(jcode, "image-width", json_mknumber(400, 0));
json_append_member(jcode, "image-height", json_mknumber(300, 0));
json_append_member(jcode, "show-webcam", json_mknumber(1, 0));
json_append_member(jcode, "poll-interval", json_mknumber(-1, 0));

CuAssertIntEquals(tc, 1, generic_webcam->checkValues(jcode));
json_delete(jcode);

protocol_gc();

Expand Down

0 comments on commit 17a2ae9

Please sign in to comment.