aboutsummaryrefslogtreecommitdiff
path: root/round2_32_test.go
diff options
context:
space:
mode:
authorGravatar Duncan Overbruck <github@duncano.de> 2023-08-24 20:39:33 +0200
committerGravatar GitHub <noreply@github.com> 2023-08-24 20:39:33 +0200
commit6aea1e0d440708a970c8294978b57ee27097bfc5 (patch)
tree56c42e7c231a28d3c46253d240fa9b8b8c1e07c8 /round2_32_test.go
parentUpdate ErrNoMultipartForm (diff)
downloadfasthttp-6aea1e0d440708a970c8294978b57ee27097bfc5.tar.gz
fasthttp-6aea1e0d440708a970c8294978b57ee27097bfc5.tar.bz2
fasthttp-6aea1e0d440708a970c8294978b57ee27097bfc5.zip
fix round2_32, split round2 tests because they depend on sizeof int at compile time (#1607)
Diffstat (limited to 'round2_32_test.go')
-rw-r--r--round2_32_test.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/round2_32_test.go b/round2_32_test.go
new file mode 100644
index 0000000..1bb2c0d
--- /dev/null
+++ b/round2_32_test.go
@@ -0,0 +1,32 @@
+//go:build !amd64 && !arm64 && !ppc64 && !ppc64le && !s390x
+// +build !amd64,!arm64,!ppc64,!ppc64le,!s390x
+
+package fasthttp
+
+import (
+ "math"
+ "testing"
+)
+
+func TestRound2ForSliceCap(t *testing.T) {
+ t.Parallel()
+
+ testRound2ForSliceCap(t, 0, 0)
+ testRound2ForSliceCap(t, 1, 1)
+ testRound2ForSliceCap(t, 2, 2)
+ testRound2ForSliceCap(t, 3, 4)
+ testRound2ForSliceCap(t, 4, 4)
+ testRound2ForSliceCap(t, 5, 8)
+ testRound2ForSliceCap(t, 7, 8)
+ testRound2ForSliceCap(t, 8, 8)
+ testRound2ForSliceCap(t, 9, 16)
+ testRound2ForSliceCap(t, 0x10001, 0x20000)
+
+ testRound2ForSliceCap(t, math.MaxInt32-1, math.MaxInt32-1)
+}
+
+func testRound2ForSliceCap(t *testing.T, n, expectedRound2 int) {
+ if roundUpForSliceCap(n) != expectedRound2 {
+ t.Fatalf("Unexpected round2(%d)=%d. Expected %d", n, roundUpForSliceCap(n), expectedRound2)
+ }
+}