shithub: kwa

Download patch

ref: a288969bf6c2d73cb8e77ece798a6009ffb57d99
parent: 34c2bbec85008430bd4858c2b12ce0dbbc47acb0
author: qwx <qwx@sciops.net>
date: Thu Sep 25 16:46:37 EDT 2025

test: add missing tt.* files

--- /dev/null
+++ b/test/tt.01
@@ -1,0 +1,1 @@
+{ print }
--- /dev/null
+++ b/test/tt.02
@@ -1,0 +1,1 @@
+{ print NR, NF, $0 }
--- /dev/null
+++ b/test/tt.02a
@@ -1,0 +1,1 @@
+{ $2 = length($2); print }
--- /dev/null
+++ b/test/tt.03
@@ -1,0 +1,2 @@
+{ s += length($2) }
+END { print s }
--- /dev/null
+++ b/test/tt.03a
@@ -1,0 +1,2 @@
+{ s += $3 }
+END { print s }
--- /dev/null
+++ b/test/tt.04
@@ -1,0 +1,3 @@
+{ for (i = NF; i > 0; i--)
+	printf "%s ", $i
+}
--- /dev/null
+++ b/test/tt.05
@@ -1,0 +1,6 @@
+{
+	s = ""
+	for (i = NF; i > 0; i--)
+		s = s " " $i
+	print s
+}
--- /dev/null
+++ b/test/tt.06
@@ -1,0 +1,7 @@
+{
+	x[$1] += length
+}
+END {
+	for (i in x)
+		print i, x[i] | "sort"
+}
--- /dev/null
+++ b/test/tt.07
@@ -1,0 +1,1 @@
+NF % 2 == 0
--- /dev/null
+++ b/test/tt.08
@@ -1,0 +1,1 @@
+length % 2 == 0
--- /dev/null
+++ b/test/tt.09
@@ -1,0 +1,1 @@
+! /^./
--- /dev/null
+++ b/test/tt.10
@@ -1,0 +1,1 @@
+/.$/
--- /dev/null
+++ b/test/tt.10a
@@ -1,0 +1,2 @@
+BEGIN { x = ".$" }
+$0 ~ x
--- /dev/null
+++ b/test/tt.11
@@ -1,0 +1,1 @@
+{ print substr($0, 10,10) }
--- /dev/null
+++ b/test/tt.12
@@ -1,0 +1,1 @@
+{ $3 = "xxx" $3 "xxx"; $4--; print }
--- /dev/null
+++ b/test/tt.13
@@ -1,0 +1,5 @@
+{ for (i = 1; i <= NF; i++)
+	x[i] = $i
+  for (i = 1; i <= NF; i++)
+	print x[i]
+}
--- /dev/null
+++ b/test/tt.13a
@@ -1,0 +1,5 @@
+{ for (i = 1; i <= NF; i++)
+	x[i] = $i
+  for (i = 1; i <= NF; i++)
+	printf "%d %s\n", i, x[i]
+}
--- /dev/null
+++ b/test/tt.14
@@ -1,0 +1,7 @@
+function abs(x) { return (x < 0) ? -x : x }
+BEGIN {	n = 1000
+	for (i = 1; i < n; i++) x[i] = rand()
+	for (i in x)
+		for (j in x)
+			if (abs(x[i]-x[j]) < .01) break
+      }
--- /dev/null
+++ b/test/tt.15
@@ -1,0 +1,33 @@
+# fmt - format
+#    input:  text
+#    output: text formatted into lines of <= 72 characters
+
+BEGIN {
+        maxlen = 72
+}
+
+/^[ \t]/ { printline(); print; next }      # verbatim
+###/^ +/ { printline();  }			# whitespace == break
+
+/./  { for (i = 1; i <= NF; i++) addword($i); next }
+
+/^$/ { printline(); print "" }
+END  { printline() }
+
+function addword(w) {
+    print "adding [", w, "] ", length(w), length(line), maxlen
+    if (length(line) + length(w) > maxlen)
+        printline()
+    if (length(w) > 2 && ( w ~ /[\.!]["?)]?$/ || w ~ /[?!]"?$/) &&
+		w !~ /^(Mr|Dr|Ms|Mrs|vs|Ph.D)\.$/)
+        w = w " "
+    line = line " " w
+}
+
+function printline() {
+    if (length(line) > 0) {
+        sub(/ +$/, "", line)
+        print substr(line, 2)   # removes leading blank
+        line = ""
+    }
+}
--- /dev/null
+++ b/test/tt.16
@@ -1,0 +1,6 @@
+
+{ for (i = 1; i <= NF; i++)
+	w[$i]++
+}
+
+END { for (i in w) print w[i], i | "sort -nr" }
--- /dev/null
+++ b/test/tt.big
@@ -1,0 +1,51 @@
+{ print }
+{ print NR, NF, $0 }
+{ $2 = length($2); print }
+{ s += length($2) }
+END { print s }
+{ s += $3 }
+END { print s }
+{ for (i = NF; i > 0; i--)
+	printf "%s ", $i
+  printf("\n")
+}
+	$1 == $1 && $2 == $2	# test some string compares
+	$1 != $2
+{
+	sss = ""
+	for (i = NF; i > 0; i--)
+		sss = sss " " $i
+	print sss
+}
+{
+	xx[$1] += length
+}
+END {
+	for (i in xx)
+		print i, xx[i] | "sort"
+}
+NF % 2 == 0
+length % 2 == 0
+! /^./
+/.$/
+BEGIN { xxx = ".$" }
+$0 ~ xxx
+{ print substr($0, 10,10) }
+{ $3 = "xxx" $3 "xxx"; $4--; print }
+{ for (i = 1; i <= NF; i++)
+	x[i] = $i
+  for (i = 1; i <= NF; i++)
+	print x[i]
+}
+{ for (i = 1; i <= NF; i++)
+	y[i] = $i
+  for (i = 1; i <= NF; i++)
+	printf "%d %s\n", i, y[i]
+}
+function abs(x) { return (x < 0) ? -x : x }
+BEGIN {	n = 1000
+	for (i = 1; i < n; i++) x[i] = rand()
+	for (i in x)
+		for (j in x)
+			if (abs(x[i]-x[j]) < .01) break
+      }
--