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

Unified Diff: device/bluetooth/test/README.md

Issue 2737343003: bluetooth: Add FakeBluetooth interface (Closed)
Patch Set: Add all the READMEs! 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 side-by-side diff with in-line comments
Download patch
Index: device/bluetooth/test/README.md
diff --git a/device/bluetooth/README.md b/device/bluetooth/test/README.md
similarity index 62%
copy from device/bluetooth/README.md
copy to device/bluetooth/test/README.md
index f3c0ed8939fe811a3fa248b596cae8c584f85e38..df057950e85b082e00f05cc113e9ac7365b693c7 100644
--- a/device/bluetooth/README.md
+++ b/device/bluetooth/test/README.md
@@ -1,56 +1,18 @@
-# Bluetooth
-
-`device/bluetooth` abstracts
-[Bluetooth Classic](https://en.wikipedia.org/wiki/Bluetooth) and
-[Low Energy](https://en.wikipedia.org/wiki/Bluetooth_low_energy) features
-across multiple platforms.
-
-Classic and Low Energy based profiles differ substantially. Platform
-implementations may support only one or the other, even though several classes
-have interfaces for both, e.g. `BluetoothAdapter` & `BluetoothDevice`.
-
-| | Classic | Low Energy |
-|-----------|:-------:|:-----------:|
-| Android | no | yes |
-| Chrome OS | yes | yes |
-| Linux | yes | yes |
-| Mac | yes | yes |
-| Windows | some | nearly |
-
-Chrome OS and Linux are supported via BlueZ, see `*_bluez` files.
-
-[Mojo](https://www.chromium.org/developers/design-documents/mojo)
-interfaces in [public/interfaces](public/interfaces) have been started
-but are *not* ready for production use.
-
-
-## Maintainer History
-
-Initial implementation OWNERS were youngki@chromium.org, keybuk@chromium.org,
-armansito@chromium.org, and rpaquay@chromium.org. They no longer contribute to
-chromium fulltime. They were responsible for support for Chrome OS Bluetooth
-features and the Chrome Apps APIs:
-
-* [chrome.bluetooth](https://developer.chrome.com/apps/bluetooth)
-* [chrome.bluetoothLowEnergy](https://developer.chrome.com/apps/bluetoothLowEnergy)
-* [chrome.bluetoothSocket](https://developer.chrome.com/apps/bluetoothSocket)
-
-Active development in 2015 & 2016 is focused on enabling GATT features for:
-
-* [Web Bluetooth](https://crbug.com/419413)
-* Peripheral mode for Chrome OS.
-
-Known future work is tracked in the
-[Refactoring meta issue](https://crbug.com/580406).
-
-
-## Testing
+# Testing
Implementation of the Bluetooth component is tested via unittests. Client code
uses Mock Bluetooth objects:
+## Mojo Testing Interface Implementation
+See [//public/interfaces/test/README.md](//device/bluetooth/public/interfaces/test/README.md)
+for details about the interface. The current implementation of this interface
+creates a fake implementation of the current non-mojo C++ Bluetooth interface.
+This interface is implemented across files with a "fake_" prefix.
+*This interface may be removed when a Bluetooth Mojo Service is introduced, if
+Web Bluetooth remains its only client. Testing code would implement the service
+as needed for tests.*
-### Cross Platform Unit Tests
+## Cross Platform Unit Tests
New feature development uses cross platform unit tests. This reduces test code
redundancy and produces consistency across all implementations.
@@ -67,7 +29,7 @@ operating system APIs as possible.
[More testing information](https://docs.google.com/document/d/1mBipxn1sJu6jMqP0RQZpkYXC1o601bzLCpCxwTA2yGA/edit?usp=sharing)
-### Legacy Platform Specific Unit Tests
+## Legacy Platform Specific Unit Tests
Early code (Classic on most platforms, and Low Energy on BlueZ) was tested with
platform specific unit tests, e.g. `bluetooth_bluez_unittest.cc` &
@@ -79,13 +41,13 @@ place. Long term these tests should be [refactored into cross platform
tests](https://crbug.com/580403).
-### Mock Bluetooth Objects
+## Mock Bluetooth Objects
`test/mock_bluetooth_*` files provide GoogleMock based fake objects for use in
client code.
-### Chrome OS Blueooth Controller Tests
+## Chrome OS Blueooth Controller Tests
Bluetooth controller system tests generating radio signals are run and managed
by the Chrome OS team. See:
@@ -94,7 +56,7 @@ https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/serve
https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/client/cros/bluetooth/
-## Android
+# Android
The android implementation requires crossing from C++ to Java using
[__JNI__](https://www.chromium.org/developers/design-documents/android-jni).
@@ -129,10 +91,3 @@ Fake objects are controlled by `bluetooth_test_android.cc`.
See also: [Class Diagram of Web Bluetooth through Bluetooth Android][Class]
[Class]: https://sites.google.com/a/chromium.org/dev/developers/design-documents/bluetooth-design-docs/web-bluetooth-through-bluetooth-android-class-diagram
-
-
-## Design Documents
-
-* [Bluetooth Notifications](https://docs.google.com/document/d/1guBtAnQUP8ZoZre4VQGrjR5uX0ZYxfK-lwKNeqY0-z4/edit?usp=sharing) 2016-08-26
- * Web Bluetooth through Android implementation details, class diagram and
- call flow.

Powered by Google App Engine
This is Rietveld 408576698