summaryrefslogtreecommitdiffstats
path: root/test-runner
Commit message (Collapse)AuthorAgeFilesLines
* Fix (mostly) issue #5109947: Race condition between retrieving a...Dianne Hackborn2012-05-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...content provider and updating its oom adj This introduces the concept of an "unstable" reference on a content provider. When holding such a reference (and no normal stable ref), the content provider dying will not cause the client process to be killed. This is used in ContentResolver.query(), .openAssetFileDescriptor(), and .openTypedAssetFileDescriptor() to first access the provider with an unstable reference, and if at the point of calling into the provider we find it is dead then acquiring a new stable reference and doing the operation again. Thus if the provider process dies at any point until we get the result back, our own process will not be killed and we can safely retry the operation. Arguably there is still the potential for a race -- if somehow the provider is killed way late by the OOM killer after the query or open has returned -- but this should now be *extremely* unlikely. We also continue to have the issue with the other calls, but these are much less critical, and the same model can't be used there (we wouldn't want to execute two insert operations for example). The implementation of this required some significant changes to the underlying plumbing of content providers, now keeping track of the two different reference counts, and managing them appropriately. To facilitate this, the activity manager now has a formal connection object for a client reference on a content provider, which hands to the application when opening the provider. These changes have allowed a lot of the code to be cleaned up and subtle issues closed. For example, when a process is crashing, we now have a much better idea of the state of content provider clients (olding a stable ref, unstable ref, or waiting for it to launch), so that we can correctly handle each of these. The client side code is also a fair amount cleaner, though in the future there is more than should be done. In particular, the two ProviderClientRecord and ProviderRefCount classes should be combined into one, part of which is exposed to the ContentResolver internal API as a reference on a content provider with methods for updating reference counts and such. Some day we'll do that. Change-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c
* Add infrastructure for accessing "unstable" content providers.Dianne Hackborn2012-05-091-0/+12
| | | | | | | We have an API and some stuff that purports to this, but no real implementation yet. Change-Id: I93555440014a50fdf79fa3f65318d90fb82265b4
* Merge "Move CancellationSignal to android.os package." into jb-devJeff Brown2012-05-082-2/+2
|\
| * Move CancellationSignal to android.os package.Jeff Brown2012-05-072-2/+2
| | | | | | | | | | Bug: 6427830 Change-Id: I39451bb1e1d4a8d976ed1c671234f0c8c61658dd
* | Add encryption parameters to package installationAnonymous Coward2012-05-071-5/+3
|/ | | | Change-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3
* Upgrade junit.runner classes to their JUnit4.10 implementation.Brett Chabot2012-04-1117-776/+810
| | | | | | Bug 5826326 Change-Id: If7e4c48a4369c1056dee5a2049c891bb6ab7d8d0
* Try Alternate Constructor for Single Method TestsBrian Muramatsu2012-04-031-2/+23
| | | | | | | | | Some tests do not have a no argument constructor. If they don't have one, then try a constructor with a String argument. A lot of CTS tests from open source projects have different practices and may not have a no arg constructor. Change-Id: I87c490c22347a2f4b03c3125308be0d2259f9208
* User management and switchingAmith Yamasani2012-03-271-0/+9
| | | | | | | | | | | | | | | | | | | Broadcast intents that get sent out when users are added/removed/switched. More work on generating user-specific information in package manager queries. APIs to update user name and query a user by id. Removed Package.mSetStopped and mSetEnabled, since they're not user specific. User removal: - Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService and AccountManager. - Shutdown processes belonging to the user. Don't show vibrate option in long-press power if there's no vibrator. Lock the screen when switching users, to force unlocking. Change-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa
* Remove unused BandwidthTestRunnerDavid Hu2012-03-191-92/+0
| | | | Change-Id: I5d77682cf662cc88e3d182501c78bb77805e74d1
* BandwidthTestCaseDavid Hu2012-03-191-32/+0
| | | | | | | A test case that measures bandwidth metrics when annotated with android.test.BandwidthTest and adds the metrics to the status bundle Change-Id: I085110c66c7fcf651aefeeac3d4cdf5bd438ff67
* Add new "options" argument to all startActivity APIs.Dianne Hackborn2012-03-141-0/+17
| | | | | | | | This will be used to allow new features to be requested... such as, say, a special kind of animation. Right now there are no options defined. Change-Id: I4eb6f27275cdd4bf186f6da316ab93a2372ad4b7
* New development permissions.Dianne Hackborn2012-02-231-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are permissions that an application can request, but won't normally be granted. To have the permission granted, the user must explicitly do so through a new "adb shell pm grant" command. I put these permissions in the "development tools" permission group. Looking at the stuff there, I think all of the permissions we already had in that group should be turned to development permissions; I don't think any of them are protecting public APIs, and they are really not things normal applications should use. The support this, the protectionLevel of a permission has been modified to consist of a base protection type with additional flags. The signatureOrSystem permission has thus been converted to a signature base type with a new "system" flag; you can use "system" and/or "dangerous" flags with signature permissions as desired. The permissions UI has been updated to understand these new types of permissions and know when to display them. Along with doing that, it also now shows you which permissions are new when updating an existing application. This also starts laying the ground-work for "optional" permissions (which development permissions are a certain specialized form of). Completing that work requires some more features in the package manager to understand generic optional permissions (having a facility to not apply them when installing), along with the appropriate UI for the app and user to manage those permissions. Change-Id: I6571785c6bb5f6b291862b7a9be584885f88f3a5
* Fix Power Control widgetAmith Yamasani2012-02-161-0/+6
| | | | | | | | | | Some changes in AppWidgetService were interfering with widget permissions. Added some hidden methods in Context to communicate the requesting user information instead of using the calling uid. Bug: 6019296 Change-Id: I5e519fd3fbbfa5b3fcc5c297b729c671dac8e7c7
* Multi-user - wallpaper serviceAmith Yamasani2012-02-101-0/+6
| | | | | | | | | | | | - Allow each user to have their own wallpaper (live or static). - Migrate old wallpaper on upgrade. - Update SystemBackupAgent to backup/restore from primary user's new wallpaper directory. Reduce dependency on Binder.getOrigCallingUser() by passing the userId for bindService. Change-Id: I19c8c3296d3d2efa7f28f951d4b84407489e2166
* Rename CancellationSignal using preferred spelling.Jeff Brown2012-02-022-6/+6
| | | | | Bug: 5943637 Change-Id: I12a339f285f4db58e79acb5fd8ec2fc1acda5265
* Implement a cancelation mechanism for queries.Jeff Brown2012-01-272-2/+14
| | | | | | | | | | | | | Added new API to enable cancelation of SQLite and content provider queries by means of a CancelationSignal object. The application creates a CancelationSignal object and passes it as an argument to the query. The cancelation signal can then be used to cancel the query while it is executing. If the cancelation signal is raised before the query is executed, then it is immediately terminated. Change-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61
* Merge "BandwidthTestRunner"David Hu2012-01-053-0/+134
|\
| * BandwidthTestRunnerDavid Hu2011-12-143-0/+134
| | | | | | | | | | | | | | Added BandwidthTest annotation and BandwidthTestRunner to start and stop the network traffic profiler Change-Id: Id29ac21ab99ff36bd864121276db59b61eb6e154
* | docs: Add developer guide cross-references, Project ACRE, round 4Joe Fernandez2011-12-225-2/+33
|/ | | | Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
* Fix ownership of CursorWindows across processes.Jeff Brown2011-10-092-35/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 5332296 Ensure that there is always an owner for each CursorWindow and that references to each window are acquired/released appropriately at all times. Added synchronization to CursorToBulkCursorAdaptor to prevent the underlying Cursor and CursorWindow from being remotely accessed in ways that might violate invariants, resulting in leaks or other problems. Ensured that CursorToBulkCursorAdaptor promptly releases its references to the Cursor and CursorWindow when closed so they don't stick around longer than they should, even if the remote end hangs onto the IBulkCursor for some reason. CursorWindow respects Parcelable.FLAG_WRITE_RETURN_VALUE as an indication that one reference to the CursorWindow is being released. Correspondingly, CursorToBulkCursorAdaptor acquires a reference to the CursorWindow before returning it to the caller. This change also prevents races from resulting in the transfer of an invalid CursorWindow over the wire. Ensured that BulkCursorToCursorAdaptor promptly releases its reference to the IBulkCursor when closed and throws on attempts to access the cursor while closed. Modified ContentProviderNative to handle both parts of the wrapping and unwrapping of Cursors into IBulkCursors. This makes it a lot easier to ensure that the right things happen on both ends. Also, it turns out that the only caller of IContentProvider.bulkQuery was ContentProviderNative itself so there was no need to support bulkQuery on ContentProviderProxy and it was just getting in the way. Implement CloseGuard on CursorWindow. Change-Id: Ib3c8305d3cc62322f38a06698d404a2989bb6ef9
* Allow non-required package verifiersKenny Root2011-09-231-0/+2
| | | | | | | | | | * Verifiers can be specified in the AndroidManifest.xml * Those verifiers can respond to the new Intent action * PackageManager API for those verifiers: verifyPendingInstall Change-Id: I4892bce2e6984871e6e93c60a1ca0dae145f5df5
* am 9c711282: Merge "Unhide new PackageManager APIs for API 14" into ↵Kenny Root2011-09-211-4/+1
|\ | | | | | | | | | | | | ics-factoryrom * commit '9c711282ad234e104c34eb4408d85fc1bb149ded': Unhide new PackageManager APIs for API 14
| * Unhide new PackageManager APIs for API 14Kenny Root2011-09-201-4/+1
| | | | | | | | Change-Id: I83110285ccee39a4cd872a1c2af8357f541833d4
* | Merge "Return the bundle object"David Hu2011-09-191-0/+12
|\ \ | |/ |/|
| * Return the bundle objectDavid Hu2011-09-191-0/+12
| | | | | | | | | | | | | | Added the ability for the test runner to return the bundle object so the tests can get access to input arguments Change-Id: I73a704bb2279238bd91a376aacecbe5f607af649
* | Add verifier device identityKenny Root2011-09-131-0/+9
|/ | | | | | | | This adds a special device identifier that is usable only for device validation. The user will be presented with this number encoded in easily-transcribable Base32 in the Developer options of Settings. Change-Id: I4843f55ee90d689a51d0269b22454ca04c1be7ec
* Remove frameworks' reference to an obsolete Bouncycastle keystore file.Jesse Wilson2011-09-071-28/+26
| | | | | | | | | | | | | | | | | | | | | | | Without this, some SSL code fails with an exception: java.io.FileNotFoundException: /system/etc/security/cacerts.bks: open failed: ENOENT (No such file or directory) at libcore.io.IoBridge.open(IoBridge.java:410) at java.io.FileInputStream.<init>(FileInputStream.java:78) at java.io.FileInputStream.<init>(FileInputStream.java:105) at org.apache.harmony.xnet.provider.jsse.DefaultSSLContextImpl.getTrustManagers(DefaultSSLContextImpl.java:115) at org.apache.harmony.xnet.provider.jsse.SSLContextImpl.<init>(SSLContextImpl.java:71) at org.apache.harmony.xnet.provider.jsse.OpenSSLContextImpl.<init>(OpenSSLContextImpl.java:34) at org.apache.harmony.xnet.provider.jsse.DefaultSSLContextImpl.<init>(DefaultSSLContextImpl.java:59) at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1319) at java.security.Provider.newInstance(Provider.java:989) ... 15 more Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory) at libcore.io.Posix.open(Native Method) at libcore.io.BlockGuardOs.open(BlockGuardOs.java:98) at libcore.io.IoBridge.open(IoBridge.java:393) ... 24 more Change-Id: I91de30746c1355ff9e0c2a9479392a50fe45aa23
* Infrastructure to support package verifierKenny Root2011-08-151-0/+19
| | | | | | | Allow a package verifier to approve or disapprove of a package being installed. Change-Id: Ibfea0f2b1aaa4ab1589a4e59f96144702b9bf94b
* Fixing initialization cleanup in activity instrumentation test caseRodrigo Damazio Bovendorp2011-08-011-2/+2
| | | | Change-Id: I798fed657ccdc27430edc07d1e911b34c45426b5
* Test runner cleanup: delete unused old classes.Brett Chabot2011-06-0116-1423/+0
| | | | Change-Id: Iaaabd47d4074f936a811fc1b6575088d70842564
* Rework display size access.Dianne Hackborn2011-04-211-10/+11
| | | | | | | | Applications now get the display size from the window manager. No behavior should be changed yet, this is just prep for some real changes. Change-Id: I2958a6660895c1cba2b670509600014e55ee9273
* Merge "Package manager changes to store and update user information."Amith Yamasani2011-04-111-19/+57
|\
| * Package manager changes to store and update user information.Amith Yamasani2011-04-111-19/+57
| | | | | | | | | | | | | | | | | | | | Some API stubs for managing users and storing their details. List of users is stored in an xml file. Each user's properties are stored in a separate xml file. Some unit tests for modifying the XML files. Change-Id: If2ce2420723111bd426f6762def3c2afc19a0ae5
* | Remove the deprecated things from Config.java. These haven't been working ↵Joe Onorato2011-04-071-2/+1
|/ | | | | | since before 1.0. Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
* Tracking merge of dalvik-dev to masterBrian Carlstrom2011-04-011-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git cherry-pick --no-commit a80febd83c8bf0b6717da2a7136179bdc906a5b7 git cherry-pick --no-commit 5e642b41cf44c5da7afdd95ab3d5e2bdbf7b31dd git cherry-pick --no-commit 4886db14c9eee4b6fee69bd54c57c5af04709c4c git cherry-pick --no-commit 560c685e448769904047507b9484ce8111967d7e git cherry-pick --no-commit 63dde7a2fcfa53dc531558635b64cea613d3cdb4 git cherry-pick --no-commit 74e5cb91060a379d98dd3a333b5f231bfb4f502e git cherry-pick --no-commit 1cc8c9708b555e2e338b7798d38887a2fefcfea6 git cherry-pick --no-commit 09625a21f5abe0c0db15757f58585d552d62c3d7 git cherry-pick --no-commit fcb02dfe0f5a2bb7c07e6d6fc69f756a484b5458 git cherry-pick --no-commit a68cb7fa3ab42854768b8145ff85231663770292 git cherry-pick --no-commit 716beb1c131dd2c6b805d4f681debaa20075010c git cherry-pick --no-commit 8c29b1097a7afe3a77e27546a56e396f3620a4ec git cherry-pick --no-commit 9c6a1a55d1c8086c1cc57464eea43725694ff70c git cherry-pick --no-commit b14f5ea5c57acdd009ba5b51f1bbe430f3d353b8 Change-Id: I8cc94175441b009e23549762d6baee1dbace4881
* am 79b66725: am 25be2c72: am e0537f18: Merge "Fix of tearDown() in ↵Jean-Baptiste Queru2011-02-281-1/+1
|\ | | | | | | | | | | | | SingleLaunchActivityTestCase." * commit '79b66725b7755e403e10a9d073121789f09b1a9e': Fix of tearDown() in SingleLaunchActivityTestCase.
| * am e0537f18: Merge "Fix of tearDown() in SingleLaunchActivityTestCase."Jean-Baptiste Queru2011-02-281-1/+1
| |\ | | | | | | | | | | | | * commit 'e0537f1859664ba9c9cf87eb9d6dc3c16986dbb8': Fix of tearDown() in SingleLaunchActivityTestCase.
| | * Fix of tearDown() in SingleLaunchActivityTestCase.Mikael Andreen2011-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before a suite of SingleLaunchActivityTestCase tests are run, an activity is started. The activity is supposed to close when all the tests in the suite have run. The activity is however finished one test too early. This causes problems for the last test. Change-Id: Ie9fb2df350a70f827495a0dc30952e30fbe491e0
| * | am 524133cc: Remove API that snuck into MockPackageManagerKenny Root2011-01-171-4/+0
| |\ \ | | | | | | | | | | | | | | | | * commit '524133cc793b5e372cc97c62653281605f57b5b3': Remove API that snuck into MockPackageManager
| | * | Remove API that snuck into MockPackageManagerKenny Root2011-01-171-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We didn't release the get/setPackageObbPath API, but it snuck into MockPackageManager. However, it is not usable as a developer anyway. Removing it so it doesn't stay in the API forever. Change-Id: Ia569754691dc3a9f2672c1f25e4e08d780db6028
| * | | am 34d2b41e: Revert "Add the {get,set}PackageObbPaths calls to API"Kenny Root2011-01-171-10/+0
| |\ \ \ | | |/ / | | | | | | | | | | | | * commit '34d2b41e48281d1df2c844e004740f008e699093': Revert "Add the {get,set}PackageObbPaths calls to API"
| | * | Revert "Add the {get,set}PackageObbPaths calls to API"Kenny Root2011-01-171-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6c4d904851772313930f800ac7c323cf90c709bb. Going with a different tactic that doesn't dump stuff on PackageManagerService. Bug: 3214719 Change-Id: I0bbeccf3c21d264deda4256eb53713d2c98284f4
| * | | am e8c04db7: Merge "Add the {get,set}PackageObbPaths calls to API" into ↵Kenny Root2011-01-121-1/+10
| |\ \ \ | | |/ / | | | / | | |/ | |/| | | | | | | gingerbread * commit 'e8c04db71e347396e9537ead7113ba9f46706e44': Add the {get,set}PackageObbPaths calls to API
| | * Add the {get,set}PackageObbPaths calls to APIKenny Root2011-01-091-1/+10
| | | | | | | | | | | | | | | | | | | | | Add getPackageObbPaths() and setPackageObbPaths() to the public API. Bug: 3214719 Change-Id: Icb9f2f92f8c59bb3d31317f609854e81abbd1449
* | | docs: fix links to revised fundamentals documentsScott Main2011-02-081-3/+3
| | | | | | | | | | | | Change-Id: Ie2a660cce1d00f924c9fde5c6a00776307e5e1c7
* | | Remove API that snuck into MockPackageManagerKenny Root2011-01-171-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We didn't release the get/setPackageObbPath API, but it snuck into MockPackageManager. However, it is not usable as a developer anyway. Removing it so it doesn't stay in the API forever. Cherry-pick from gingerbread Change-Id: I2083a8f398d983d53661c33270854442e34f9bc9
* | | Revert "Add the {get,set}PackageObbPaths calls to API"Kenny Root2011-01-171-10/+0
| | | | | | | | | | | | | | | | | | This reverts commit 5d40fe9c6846ba765072e50ed1254293cb9195e4. Change-Id: Ie41010c92fb860b19a12bcf63f6fe95ffa68da81
* | | Add API to get path to OBBs.Dianne Hackborn2011-01-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Also hide the bitmap thumbnail stuff, we can't support it in its current form. And fix some bugs with propagating paths to native code. Yikes! Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
* | | Add the {get,set}PackageObbPaths calls to APIKenny Root2011-01-141-1/+10
| | | | | | | | | | | | | | | | | | | | | Add getPackageObbPaths() and setPackageObbPaths() to the public API. Bug: 3214719 Change-Id: I8627b5f674a795d5780eb5c08911419110670a41
* | | Prevent ActivityTestCase from erasing constants.Dmitri Plotnikov2011-01-071-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | If you test case is declaring a non-primitive constant, this method would clear out the constant between individual tests. Change-Id: I570f2bbbbbb0a170bf63b7473b4aaf84869e93e0