summaryrefslogtreecommitdiff
path: root/utils
AgeCommit message (Expand)Author
2020-11-03libcamera: tracing: Implement tracing infrastructurePaul Elder
2020-11-02utils: hooks: pre-push: Reject commits with a Change-IdLaurent Pinchart
2020-10-26libcamera: controls: Fix rogue whitespaceJacopo Mondi
2020-10-26libcamera: controls: Generate an array of valid valuesJacopo Mondi
2020-10-26libcamera: controls: Rename enumerate valuesJacopo Mondi
2020-10-26libcamera: Support draft controls and propertiesKieran Bingham
2020-10-02utils: hooks: pre-push: Accept Acked-by in addition to Reviewed-byLaurent Pinchart
2020-09-24meson: Define python3 and python3-yaml required dependenciesEzequiel Garcia
2020-09-24libcamera: ipa: Move key generation to utilsKieran Bingham
2020-09-24libcamera: Move Header generation utilities to utilsKieran Bingham
2020-09-21Documentation: Adjust guidelines regarding math.h headerLaurent Pinchart
2020-08-06libcamera: Add build time to version string for dirty buildsNiklas Söderlund
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Add newline at end of outputLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Avoid spaces at end of linesLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Collapse newlinesLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Fix indentation handlingLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Add character write methodLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Skip all spacesLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Make test output to stdoutLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Make output file a class memberLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Turn printer into a classLaurent Pinchart
2020-07-03utils: raspberrypi: ctt: json_pretty_print: Fix printer testLaurent Pinchart
2020-06-29utils: raspberrypi: ctt: Fix pycodestyle W605Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E302Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E305Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E741Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle W504Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E722Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E721Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E713Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E116 and E117Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E123 and E126Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E711 and E712Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E222Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E261 and E262Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E303Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E701Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E228Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E225Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E128Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E251Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E211Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E241Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E203Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E201 and E202Laurent Pinchart
2020-05-13utils: raspberrypi: ctt: Fix pycodestyle E231Laurent Pinchart
2020-05-13licenses: License all meson files under CC0-1.0Laurent Pinchart
2020-05-11libcamera: utils: Raspberry Pi Camera Tuning ToolNaushir Patuck
2020-04-30utils: hooks: pre-push: Catch commits without reviewsLaurent Pinchart
2020-04-30utils: hooks: pre-push: Catch commits without committer's SoBLaurent Pinchart
="hl opt">.status()) { case InvokedObject::NoCall: cout << "Method not invoked for main thread" << endl; return TestFail; case InvokedObject::InvalidThread: cout << "Method invoked in incorrect thread for main thread" << endl; return TestFail; default: break; } if (object_.value() != 42) { cout << "Method invoked with incorrect value for main thread" << endl; return TestFail; } /* * Test that blocking invocation is delivered directly when the * caller and callee live in the same thread. */ object_.reset(); object_.invokeMethod(&InvokedObject::method, ConnectionTypeBlocking, 42); switch (object_.status()) { case InvokedObject::NoCall: cout << "Method not invoked for main thread (blocking)" << endl; return TestFail; case InvokedObject::InvalidThread: cout << "Method invoked in incorrect thread for main thread (blocking)" << endl; return TestFail; default: break; } /* * Move the object to a thread and verify that auto method * invocation is delivered in the correct thread. */ object_.reset(); object_.moveToThread(&thread_); thread_.start(); object_.invokeMethod(&InvokedObject::method, ConnectionTypeBlocking, 42); switch (object_.status()) { case InvokedObject::NoCall: cout << "Method not invoked for custom thread" << endl; return TestFail; case InvokedObject::InvalidThread: cout << "Method invoked in incorrect thread for custom thread" << endl; return TestFail; default: break; } if (object_.value() != 42) { cout << "Method invoked with incorrect value for custom thread" << endl; return TestFail; } /* Test that direct method invocation bypasses threads. */ object_.reset(); object_.invokeMethod(&InvokedObject::method, ConnectionTypeDirect, 42); switch (object_.status()) { case InvokedObject::NoCall: cout << "Method not invoked for custom thread" << endl; return TestFail; case InvokedObject::CallReceived: cout << "Method invoked in incorrect thread for direct call" << endl; return TestFail; default: break; } if (object_.value() != 42) { cout << "Method invoked with incorrect value for direct call" << endl; return TestFail; } /* * Test invoking a method that takes reference arguments. This * targets compilation, there's no need to check runtime * results. */ object_.invokeMethod(&InvokedObject::methodWithReference, ConnectionTypeBlocking, 42); /* Test invoking a method that returns a value. */ int ret = object_.invokeMethod(&InvokedObject::methodWithReturn, ConnectionTypeBlocking); if (ret != 42) { cout << "Method invoked return incorrect value (" << ret << ")" << endl; return TestFail; } return TestPass; } void cleanup() { thread_.exit(0); thread_.wait(); } private: Thread thread_; InvokedObject object_; }; TEST_REGISTER(ObjectInvokeTest)