echo "none"
}
+log_rotate()
+{
+ local logfile="$1"
+ local lines=
+ lines=$(wc --lines "$logfile" | awk '{print $1}')
+ [ "$lines" -lt "100" ] && return 0
+ savelog "$logfile"
+}
+
log()
{
local config="$1"
logmsg="$datetime [$type] $msg"
echo "ℹ️ INFO: $logmsg -> $logfile"
echo "$logmsg" >> "$logfile"
+ log_rotate "$logfile"
}
exists_needed_commands()
--description "success log has logfile entry for type $type" \
-- \
write_log_entry "$type"
-done
\ No newline at end of file
+done
+
+# bats test_tags=backup:log
+@test "success no logrotate by 99 lines" {
+ mkdir --parents build/test
+ printf "logline%.0s\n" {1..99} > build/test/backup.log
+
+ run log_rotate "build/test/backup.log"
+
+ assert_success
+ [ -f "build/test/backup.log" ]
+ [ ! -f "build/test/backup.log.0" ]
+}
+
+# bats test_tags=backup:log
+@test "success logrotate by 100 lines" {
+ mkdir --parents build/test
+ printf "logline%.0s\n" {1..100} > build/test/backup.log
+
+ run log_rotate "build/test/backup.log"
+
+ assert_success
+ [ ! -f "build/test/backup.log" ]
+ [ -f "build/test/backup.log.0" ]
+}
\ No newline at end of file