commit | f2f199db501ab5a0c68a7b0be18a3a228d187f26 | [log] [tgz] |
---|---|---|
author | Paul Moy <pmoy@chromium.org> | Thu May 19 19:17:07 2022 |
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu May 26 18:39:20 2022 |
tree | 06d5e04498a69dd5d3997c8877482f3e2e597bf8 | |
parent | 8c2bbc2ba6f6de584db97a376e57077449e1de64 [diff] |
Reland "virtual-usb-printer: fix unit tests" This is a reland of commit d10a77b4b080ba927755c20d1d8556ba544e1c27 Original change's description: > virtual-usb-printer: fix unit tests > > Remove the requesting-user-name, document-format and > requested-attributes fields from the libipp wrapper unit tests. > > BUG=b:175631323 > TEST=FEATURES=test emerge-nami virtual-usb-printer > > Change-Id: Ic3970bf30ace3e6901ae55c296e9e2d6e6e9eb11 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/virtual-usb-printer/+/3655109 > Commit-Queue: Paul Moy <pmoy@chromium.org> > Reviewed-by: Piotr Pawliczek <pawliczek@chromium.org> > Tested-by: Paul Moy <pmoy@chromium.org> Bug: b:175631323 Cq-Depend: chromium:3669474 Change-Id: I599491d2df996b57b66ce4ceb34dd4e85288505a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/virtual-usb-printer/+/3669005 Commit-Queue: Paul Moy <pmoy@chromium.org> Reviewed-by: Piotr Pawliczek <pawliczek@chromium.org> Tested-by: Paul Moy <pmoy@chromium.org>
Virtual USB Printer provides a server which can be used with USBIP in order to emulate a USB printing device and bind it to the system as if it were physically connected to a USB port.
Virtual USB Printer supports both regular USB printers as well as IPP-over-USB devices.
This project was created in order to make on-device tests which check for any regressions in the native USB printing system.
As of https://crrev.com/c/3093381, virtual-usb-printer
is built and installed by default on all test images that support it.
If for some reason you need to build it yourself, you can USE=usbip
when building packages for your board - i.e.
USE="usbip" ./build_packages --board=$BOARD
virtual-usb-printer
relies on usbip
to manifest as a virtual USB device. Most test images seem to come with this built-in by default. If you need to build your own kernel with usbip
support, make sure to build with CONFIG_USBIP_CORE
and CONFIG_USBIP_VHCI_HCD
.virtual-usb-printer
can behave like
For ease of human operation, start virtual-usb-printer
via its Upstart unit. Pass the appropriate arguments to the invocation as needed.
For example, to start and connect the virtual-usb-printer
as an IPP-over-USB printer, issue
start virtual-usb-printer USB_DESCRIPTORS=ippusb_printer.json IPP_ATTRIBUTES=ipp_attributes.json
Consult the Upstart config file to see the arguments understood in this context.
virtual-usb-printer
sends its output to the system log.The printer's USB descriptors and defined IPP attributes can be configured using a JSON file and are loaded at run-time using command line flags. Example configurations can be found in the config/
directory.
The configuration files can be loaded with the following flags:
--descriptors_path
- full path to the JSON file which defines the USB descriptors--attributes_path
- full path to the JSON file which defines the supported IPP attributes--record_doc_path
- full path to the file used to record documents received from print jobs--output_log_dir
- directory path specifying where scan settings will be loggedRefer to these existing tast tests for examples of how to use the virtual-usb-printer
to test the Chromium OS printing stack.