diff options
author | Koni Marti <koni.marti@gmail.com> | 2022-07-14 21:49:54 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-07-14 23:15:26 +0200 |
commit | e92573c5d7161e7d7fdaaeab9a7ced0b03fa2277 (patch) | |
tree | d770e889c55ea0cb5639da9afbb4e76d4d5ea1af | |
parent | 76b39311dc0ea6211a79d738b4fd8d335ade53fd (diff) | |
download | aerc-e92573c5d7161e7d7fdaaeab9a7ced0b03fa2277.tar.gz |
lib: fix tests for 386 platforms
Tests in lib/structure_helpers_test.go pass on amd64 platforms but fail
on 386 platforms. This can be reproduced with the following steps:
1. Create a Dockerfile in aerc's source folder:
FROM i386/alpine:edge
RUN apk update && apk upgrade
RUN apk add --no-cache go make scdoc
WORKDIR aerc
COPY . .
RUN make
CMD make tests
2. Build the image:
$ docker buildx build --platform=linux/386 -t test .
3. Run the image:
$ docker run --rm --platform=linux/386 -it test
The test in lib/structure_helpers_test.go will fail.
If the same above steps are done with this patch applied, all tests pass.
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r-- | lib/structure_helpers.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/structure_helpers.go b/lib/structure_helpers.go index 1b4a6e68..99a77a28 100644 --- a/lib/structure_helpers.go +++ b/lib/structure_helpers.go @@ -58,7 +58,9 @@ func FindAllNonMultipart(bs *models.BodyStructure, path []int, pathlist [][]int) cur := append(path, i+1) mimetype := strings.ToLower(part.MIMEType) if mimetype != "multipart" { - pathlist = append(pathlist, cur) + tmp := make([]int, len(cur)) + copy(tmp, cur) + pathlist = append(pathlist, tmp) } else if mimetype == "multipart" { if sub := FindAllNonMultipart(part, cur, nil); len(sub) > 0 { pathlist = append(pathlist, sub...) |