Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(930)

Side by Side Diff: device/bluetooth/test/README.md

Issue 2737343003: bluetooth: Add FakeBluetooth interface (Closed)
Patch Set: move web-bluetooth-test.js Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Testing
2
3 Implementation of the Bluetooth component is tested via unittests. Client code
4 uses Mock Bluetooth objects:
5
6 ## Mojo Testing Interface Implementation
7 See [//public/interfaces/test/README.md](//device/bluetooth/public/interfaces/te st/README.md)
8 for details about the interface. The current implementation of this interface
9 creates a fake implementation of the current non-mojo C++ Bluetooth interface.
10 This interface is implemented across files with a "fake_" prefix.
11 *This interface may be removed when a Bluetooth Mojo Service is introduced, if
12 Web Bluetooth remains its only client. Testing code would implement the service
13 as needed for tests.*
14
15 ## Cross Platform Unit Tests
16
17 New feature development uses cross platform unit tests. This reduces test code
18 redundancy and produces consistency across all implementations.
19
20 Unit tests operate at the public `device/bluetooth` API layer and the
21 `BluetoothTest` fixture controls fake operating system behavior as close to the
22 platfom as possible. The resulting test coverage spans the cross platform API,
23 common implementation, and platform specific implementation as close to
24 operating system APIs as possible.
25
26 `test/bluetooth_test.h` defines the cross platform test fixture
27 `BluetoothTestBase`. Platform implementations provide subclasses, such as
28 `test/bluetooth_test_android.h` and typedef to the name `BluetoothTest`.
29
30 [More testing information](https://docs.google.com/document/d/1mBipxn1sJu6jMqP0R QZpkYXC1o601bzLCpCxwTA2yGA/edit?usp=sharing)
31
32 ## Legacy Platform Specific Unit Tests
33
34 Early code (Classic on most platforms, and Low Energy on BlueZ) was tested with
35 platform specific unit tests, e.g. `bluetooth_bluez_unittest.cc` &
36 `bluetooth_adapter_win_unittest.cc`. The BlueZ style has platform specific
37 methods to create fake devices and the public API is used to interact with them.
38
39 Maintenance of these earlier implementation featuress should update tests in
40 place. Long term these tests should be [refactored into cross platform
41 tests](https://crbug.com/580403).
42
43
44 ## Mock Bluetooth Objects
45
46 `test/mock_bluetooth_*` files provide GoogleMock based fake objects for use in
47 client code.
48
49
50 ## Chrome OS Blueooth Controller Tests
51
52 Bluetooth controller system tests generating radio signals are run and managed
53 by the Chrome OS team. See:
54 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/serve r/site_tests/
55 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/serve r/cros/bluetooth/
56 https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/clien t/cros/bluetooth/
OLDNEW
« no previous file with comments | « device/bluetooth/public/interfaces/test/fake_bluetooth.mojom ('k') | device/bluetooth/test/fake_bluetooth.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698