Jump to content
REDD

[SCRIPT] Battery Tester/CPU Stress

Recommended Posts

Battery Tester/CPU Stress
For the SharkJack

 

I keep seeing people talk about how the battery lasts less then 10 minutes, etc etc etc.. I made a script to test and prove the Battery Drains incredibly fast under load. Further more... The Script..


(NOTE: This Script should be ran on the SharkJack itself!)
battery-tester.sh

#!/bin/bash
# Title        :  Battery Tester/CPU Stress
# Author       :  REDD of Private-Locker
# Version      :  1.1
# Description  :  The script uses a simple log system to pull the
#                 batteries status, date, and time into a log file for Hak5
#                 to help diagnose the issues. Also uses "sha256sum" to verify
#                 a null file leaving it to stress the CPU.
#
# Log File     :  /root/battery.log

# Set to YES to stress the CPU during Battery Test.
MAX_LOAD=YES
STRESS="sha256sum"
# Time in seconds to report in log. (20 mins = 1200)
TIME=600


# Initial Script Variables - DO NOT CHANGE
UNDER_LOAD=0
DATE_NOW=$(date +'%r')
START_TIME=$(date)
CPU_USAGE=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}')
BATTERY_STATUS=$(BATTERY)
LOG_FILE="/root/battery.log"
function DISPLAY_TIME () {
	MINS=$((TIME / 60))
	SECS=$((TIME % 60))
	if [ "$TIME" -ge "60" ]; then
		printf "$MINS minutes and $SECS seconds"
	else
		printf "$SECS seconds"
	fi
}
TOTAL_TIME=$(DISPLAY_TIME "$TIME")
if [ ! -f "$LOG_FILE" ]; then
	touch "$LOG_FILE"
fi
if [ -f "$LOG_FILE" ]; then
	echo -e "" >> "$LOG_FILE"
	echo -e "  Battery Test Date: $START_TIME" >> "$LOG_FILE"
	echo -e "==================================================" >> "$LOG_FILE"
	echo -e "" >> "$LOG_FILE"
	echo -e ""
	echo -e "  Battery Test Date: $START_TIME"
	echo -e "\n  Battery Test running for $TOTAL_TIME."
	echo -e "  Battery Test running for $TOTAL_TIME." >> "$LOG_FILE"
	echo -e "        Battery Status: $BATTERY_STATUS"
	echo -e "        Battery Status: $BATTERY_STATUS" >> "$LOG_FILE"
	echo -e ""
	if [ "$MAX_LOAD" == "YES" ]; then
		echo -e "\n\n   -> LOAD created by $STRESS."
		echo -e "   -> LOAD created by $STRESS." >> "$LOG_FILE"
		echo -e "" >> "$LOG_FILE"
		echo -e "==================================================" >> "$LOG_FILE"
		echo -e "" >> "$LOG_FILE"
	fi
	echo -e "" >> "$LOG_FILE"
fi
echo -e "[${DATE_NOW}] -> LOAD: $MAX_LOAD - CPU Load: ${CPU_USAGE} [Battery Status: ${BATTERY_STATUS}]" >> "$LOG_FILE" 
for  ((i=0; i<=TIME; i++)); do
		if [ "$MAX_LOAD" == "YES" ]; then
			if [ "$UNDER_LOAD" == "0" ]; then
				UNDER_LOAD=1
				$STRESS /dev/zero &
			fi
		fi
		DATE_NOW=$(date +'%r')
		CPU_USAGE=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}')
		BATTERY_STATUS=$(BATTERY)
        printf "[%s%s] -> LOAD: %s - CPU Load: %s [Battery Status: %s]\r" $DATE_NOW $MAX_LOAD $CPU_USAGE $BATTERY_STATUS
		echo -e "[${DATE_NOW}] -> LOAD: $MAX_LOAD - CPU Load: ${CPU_USAGE} [Battery Status: ${BATTERY_STATUS}]" >> "$LOG_FILE"
        sleep 1;
done
if [ "$UNDER_LOAD" == "1" ]; then
	killall -9 $STRESS
fi
echo -e "" >> "$LOG_FILE"
echo -e "==================================================" >> "$LOG_FILE"
echo -e "" >> "$LOG_FILE"
# Blank line for running in Terminal.
printf "                                                                             \n"
printf "Finished.\n"

 

 

Output Example:
 


  Battery Test Date: Tue Jan 28 13:47:30 UTC 2020
==================================================

  Battery Test running for 10 seconds.
        Battery Status: full

[01:47:30 PM] -> LOAD: NO - CPU Load: 18.0325% [Battery Status: full]
[01:47:30 PM] -> LOAD: NO - CPU Load: 18.0437% [Battery Status: full]
[01:47:31 PM] -> LOAD: NO - CPU Load: 18.0428% [Battery Status: full]
[01:47:32 PM] -> LOAD: NO - CPU Load: 18.0432% [Battery Status: full]
[01:47:33 PM] -> LOAD: NO - CPU Load: 18.0469% [Battery Status: full]
[01:47:34 PM] -> LOAD: NO - CPU Load: 18.0515% [Battery Status: full]
[01:47:35 PM] -> LOAD: NO - CPU Load: 18.0556% [Battery Status: full]
[01:47:37 PM] -> LOAD: NO - CPU Load: 18.0596% [Battery Status: full]
[01:47:38 PM] -> LOAD: NO - CPU Load: 18.0641% [Battery Status: full]
[01:47:39 PM] -> LOAD: NO - CPU Load: 18.0678% [Battery Status: full]
[01:47:40 PM] -> LOAD: NO - CPU Load: 18.0718% [Battery Status: full]
[01:47:41 PM] -> LOAD: NO - CPU Load: 18.0759% [Battery Status: full]

==================================================



I really hope this helps everyone else in their troubles in finding out if their Battery is just defective or it's just "Under Load" that makes it so short.

Edited by REDD

Share this post


Link to post
Share on other sites

@Darren Kitchen Currently mine only gets like 2 mins "Under Load".. Not sure if that's good thing..

  Battery Test Date: Tue Jan 28 13:48:57 UTC 2020
==================================================

  Battery Test running for 20 minutes and 0 seconds.
        Battery Status: full
   -> LOAD created by sha256sum.

==================================================


[01:48:57 PM] -> LOAD: YES - CPU Load: 18.0481% [Battery Status: full]
[01:48:57 PM] -> LOAD: YES - CPU Load: 18.0588% [Battery Status: full]
[01:48:59 PM] -> LOAD: YES - CPU Load: 18.1068% [Battery Status: full]
[01:49:00 PM] -> LOAD: YES - CPU Load: 18.1528% [Battery Status: discharging]
[01:49:01 PM] -> LOAD: YES - CPU Load: 18.1969% [Battery Status: discharging]
[01:49:02 PM] -> LOAD: YES - CPU Load: 18.2414% [Battery Status: discharging]
[01:49:03 PM] -> LOAD: YES - CPU Load: 18.2865% [Battery Status: discharging]
[01:49:05 PM] -> LOAD: YES - CPU Load: 18.3312% [Battery Status: discharging]
[01:49:06 PM] -> LOAD: YES - CPU Load: 18.3785% [Battery Status: discharging]
[01:49:07 PM] -> LOAD: YES - CPU Load: 18.4227% [Battery Status: discharging]
[01:49:08 PM] -> LOAD: YES - CPU Load: 18.4666% [Battery Status: discharging]
[01:49:09 PM] -> LOAD: YES - CPU Load: 18.5114% [Battery Status: discharging]
[01:49:11 PM] -> LOAD: YES - CPU Load: 18.5555% [Battery Status: discharging]
[01:49:12 PM] -> LOAD: YES - CPU Load: 18.6026% [Battery Status: discharging]
[01:49:13 PM] -> LOAD: YES - CPU Load: 18.6469% [Battery Status: discharging]
[01:49:14 PM] -> LOAD: YES - CPU Load: 18.6905% [Battery Status: discharging]
[01:49:15 PM] -> LOAD: YES - CPU Load: 18.734% [Battery Status: discharging]
[01:49:17 PM] -> LOAD: YES - CPU Load: 18.7782% [Battery Status: discharging]
[01:49:18 PM] -> LOAD: YES - CPU Load: 18.8258% [Battery Status: discharging]
[01:49:19 PM] -> LOAD: YES - CPU Load: 18.8703% [Battery Status: discharging]
[01:49:20 PM] -> LOAD: YES - CPU Load: 18.9136% [Battery Status: discharging]
[01:49:21 PM] -> LOAD: YES - CPU Load: 18.9569% [Battery Status: discharging]
[01:49:22 PM] -> LOAD: YES - CPU Load: 19.0009% [Battery Status: discharging]
[01:49:24 PM] -> LOAD: YES - CPU Load: 19.0474% [Battery Status: discharging]
[01:49:25 PM] -> LOAD: YES - CPU Load: 19.0917% [Battery Status: discharging]
[01:49:26 PM] -> LOAD: YES - CPU Load: 19.1344% [Battery Status: discharging]
[01:49:27 PM] -> LOAD: YES - CPU Load: 19.1778% [Battery Status: discharging]
[01:49:28 PM] -> LOAD: YES - CPU Load: 19.2215% [Battery Status: discharging]
[01:49:30 PM] -> LOAD: YES - CPU Load: 19.2674% [Battery Status: discharging]
[01:49:31 PM] -> LOAD: YES - CPU Load: 19.3126% [Battery Status: discharging]
[01:49:32 PM] -> LOAD: YES - CPU Load: 19.3558% [Battery Status: discharging]
[01:49:33 PM] -> LOAD: YES - CPU Load: 19.399% [Battery Status: discharging]
[01:49:34 PM] -> LOAD: YES - CPU Load: 19.4421% [Battery Status: discharging]
[01:49:36 PM] -> LOAD: YES - CPU Load: 19.4889% [Battery Status: discharging]
[01:49:37 PM] -> LOAD: YES - CPU Load: 19.5334% [Battery Status: discharging]
[01:49:38 PM] -> LOAD: YES - CPU Load: 19.5764% [Battery Status: discharging]
[01:49:39 PM] -> LOAD: YES - CPU Load: 19.6208% [Battery Status: discharging]
[01:49:40 PM] -> LOAD: YES - CPU Load: 19.6644% [Battery Status: discharging]
[01:49:42 PM] -> LOAD: YES - CPU Load: 19.7087% [Battery Status: discharging]
[01:49:43 PM] -> LOAD: YES - CPU Load: 19.7544% [Battery Status: discharging]
[01:49:44 PM] -> LOAD: YES - CPU Load: 19.7972% [Battery Status: discharging]
[01:49:45 PM] -> LOAD: YES - CPU Load: 19.8395% [Battery Status: discharging]
[01:49:46 PM] -> LOAD: YES - CPU Load: 19.8826% [Battery Status: discharging]
[01:49:48 PM] -> LOAD: YES - CPU Load: 19.9259% [Battery Status: discharging]
[01:49:49 PM] -> LOAD: YES - CPU Load: 19.9717% [Battery Status: discharging]
[01:49:50 PM] -> LOAD: YES - CPU Load: 20.015% [Battery Status: discharging]
[01:49:51 PM] -> LOAD: YES - CPU Load: 20.0571% [Battery Status: discharging]
[01:49:52 PM] -> LOAD: YES - CPU Load: 20.0995% [Battery Status: discharging]
[01:49:54 PM] -> LOAD: YES - CPU Load: 20.1419% [Battery Status: discharging]
[01:49:55 PM] -> LOAD: YES - CPU Load: 20.1879% [Battery Status: discharging]
[01:49:56 PM] -> LOAD: YES - CPU Load: 20.2309% [Battery Status: discharging]
[01:49:57 PM] -> LOAD: YES - CPU Load: 20.2728% [Battery Status: discharging]
[01:49:58 PM] -> LOAD: YES - CPU Load: 20.315% [Battery Status: discharging]
[01:50:00 PM] -> LOAD: YES - CPU Load: 20.3575% [Battery Status: discharging]
[01:50:01 PM] -> LOAD: YES - CPU Load: 20.4021% [Battery Status: discharging]
[01:50:02 PM] -> LOAD: YES - CPU Load: 20.4453% [Battery Status: discharging]
[01:50:03 PM] -> LOAD: YES - CPU Load: 20.4869% [Battery Status: discharging]
[01:50:04 PM] -> LOAD: YES - CPU Load: 20.5289% [Battery Status: discharging]
[01:50:06 PM] -> LOAD: YES - CPU Load: 20.5712% [Battery Status: discharging]
[01:50:07 PM] -> LOAD: YES - CPU Load: 20.6152% [Battery Status: discharging]
[01:50:08 PM] -> LOAD: YES - CPU Load: 20.6585% [Battery Status: discharging]
[01:50:09 PM] -> LOAD: YES - CPU Load: 20.6996% [Battery Status: discharging]
[01:50:10 PM] -> LOAD: YES - CPU Load: 20.7406% [Battery Status: discharging]

--- END OF FILE ---

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...