| # Only trigger if persist.debug.trigger_watchdog.apex is non-empty. |
| on boot && property:persist.debug.trigger_watchdog.apex=* |
| setprop debug.trigger_watchdog.status start |
| exec -- /system/bin/log -t TriggerWatchdog "Starting trigger_watchdog" |
| exec_background u:r:su:s0 -- /system/bin/sh /system/bin/trigger_watchdog.sh |
| |
| # Only trigger if persist.debug.trigger_reboot_after_activation is non-empty. |
| on boot && property:debug.trigger_reboot_once_after_activation=1 && property:persist.debug.trigger_reboot_after_activation=* |
| setprop debug.trigger_watchdog.status start |
| exec -- /system/bin/log -t TriggerWatchdog "Rebooting once after activation" |
| exec_background u:r:su:s0 -- /system/bin/sh /system/bin/trigger_reboot.sh |
| |
| on boot && property:persist.debug.trigger_reboot_twice_after_activation=1 && property:persist.debug.trigger_reboot_after_activation=* |
| setprop debug.trigger_watchdog.status start |
| exec -- /system/bin/log -t TriggerWatchdog "Checking checkpointing revert" |
| exec_background u:r:su:s0 -- /system/bin/sh /system/bin/trigger_reboot.sh |
| |
| on boot && property:persist.debug.trigger_updatable_crashing_for_testing=1 |
| # Mock the fact that a service was crashing. |
| setprop sys.init.updatable_crashing_process_name test_process |
| setprop sys.init.updatable_crashing 1 |
| |
| on boot && property:test.apex_revert_test_force_reboot=1 |
| exec_start rebooting_service |
| |
| # Simulate a situation when userspace reboot fails to remount userdata. Since triggers in |
| # rootdir/init.rc are guaranteed to be executed before ones in other .rc files, by the time this is |
| # executed init already executed `on userspace-reboot-fs-remount` trigger in rootdir/init.rc, |
| # meaning that /system/bin/vdc checkpoint markBootAttempt was already called. |
| on userspace-reboot-fs-remount && property:test.apex_userspace_reboot_simulate_remount_failed=1 |
| exec_start rebooting_service |
| |
| # Simulate a situation when userspace reboot fails during a shutdown sequence. This is a very crude |
| # simulation, better one would be to actually start a service that ignores SIGKILL. |
| on userspace-reboot-requested && property:test.apex_userspace_reboot_simulate_shutdown_failed=1 |
| exec_start rebooting_service |
| |
| service rebooting_service /system/bin/false |
| reboot_on_failure reboot,apex-revert-test |
| disabled |