tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

usbDevice_claimInterface-manual.https.html (1427B)


      1 <!DOCTYPE html>
      2 <html>
      3  <head>
      4    <meta charset="utf-8">
      5    <title></title>
      6    <script src="/resources/testharness.js"></script>
      7    <script src="/resources/testharnessreport.js"></script>
      8    <script src="resources/manual.js"></script>
      9  </head>
     10  <body>
     11    <p>
     12      These tests require a USB device to be connected.
     13    </p>
     14    <script>
     15      manual_usb_test(async (t, device) => {
     16        await device.open();
     17        const interfacesClaimed = [];
     18        t.add_cleanup(async () => {
     19          for (const iface of interfacesClaimed) {
     20            await device.releaseInterface(iface.interfaceNumber);
     21          }
     22          await device.close();
     23        });
     24 
     25        await device.selectConfiguration(1);
     26 
     27        const promises = [];
     28        for (const iface of device.configuration.interfaces) {
     29          const promise = device.claimInterface(iface.interfaceNumber);
     30          promises.push(promise);
     31 
     32          // Create a subtest for each interface so that success or failure to
     33          // claim the interface is visible but does not affect the result of
     34          // the overall test.
     35          promise_test(async (t) => {
     36            await promise;
     37 
     38            interfacesClaimed.push(iface);
     39          }, `Can claim interface ${iface.interfaceNumber}`);
     40        }
     41 
     42        await Promise.allSettled(promises);
     43      }, 'claimInterface() resolves or rejects for all interfaces');
     44    </script>
     45  </body>
     46 </html>