The test only needs echo, and Android currently doesn't use mksh's builtin printf; the toybox printf is fuller featured and less buggy, but a lot slower to call in a loop like this (and mksh doesn't fall back to the printf on the path if given something it can't handle, so we can't have the best of both worlds).
Without this hack, the tail test takes as long as all the other tests put together. --- tests/tail.test | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
From 6a029bbba68122ff5c23a4da058db07be9d526c2 Mon Sep 17 00:00:00 2001 From: Elliott Hughes <e...@google.com> Date: Fri, 7 Apr 2017 23:15:52 -0700 Subject: [PATCH] Speed up tail.test for shells without builtin printf. The test only needs echo, and Android currently doesn't use mksh's builtin printf; the toybox printf is fuller featured and less buggy, but a lot slower to call in a loop like this (and mksh doesn't fall back to the printf on the path if given something it can't handle, so we can't have the best of both worlds). Without this hack, the tail test takes as long as all the other tests put together. --- tests/tail.test | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/tail.test b/tests/tail.test index 81dc871..b148aeb 100755 --- a/tests/tail.test +++ b/tests/tail.test @@ -43,13 +43,12 @@ testing "noseek -c+ out of bonds" "tail -c +999" "" "" "$BIGTEST" makebigfile() { - for j in $(seq 1 100) do - printf "%s " $j + echo -n "$j " for i in $(seq 1 100) do - printf %s 123456789abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ + echo -n 123456789abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ done echo done -- 2.12.2.715.g7642488e1d-goog
_______________________________________________ Toybox mailing list Toybox@lists.landley.net http://lists.landley.net/listinfo.cgi/toybox-landley.net