Merge "block_suspend: test util to block suspend from shell" am: 52e6536018

am: 89e661c090

Change-Id: Ia8108fc5ccf32b957438c3fbc14d87a1015d04ea
This commit is contained in:
Tri Vo 2019-11-12 14:17:45 -08:00 committed by android-build-merger
commit f2a03b6762
2 changed files with 50 additions and 0 deletions

View file

@ -74,3 +74,14 @@ cc_library_shared {
"uevent.c", "uevent.c",
], ],
} }
cc_test {
name: "block_suspend",
defaults: ["libpower_defaults"],
srcs: ["block_suspend.cpp"],
static_libs: ["libpower"],
shared_libs: [
"android.system.suspend@1.0",
],
gtest: false,
}

39
block_suspend.cpp Normal file
View file

@ -0,0 +1,39 @@
/*
* Copyright 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <iostream>
#include <wakelock/wakelock.h>
static constexpr const char *gWakeLockName = "block_suspend";
static void usage() {
std::cout << "Usage: block_suspend\n"
<< "Prevent device from suspending indefinitely. "
<< "Process must be killed to unblock suspend.\n";
}
int main(int argc, char ** /* argv */) {
if (argc > 1) {
usage();
return 0;
}
android::wakelock::WakeLock wl{gWakeLockName}; // RAII object
while (true) {};
std::abort(); // should never reach here
return 0;
}