Skip to content

Commit 38da27b

Browse files
committed
Fix.
1 parent 23737a6 commit 38da27b

File tree

4 files changed

+23
-18
lines changed

4 files changed

+23
-18
lines changed

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ jobs:
162162
- name: Test ppc64le (interpreter)
163163
run: GOARCH=ppc64le go test -v -short ./...
164164

165-
- name: Test s390x (big-endian, z/OS like)
166-
run: GOARCH=s390x go test -v -short -tags sqlite3_flock ./...
165+
- name: Test s390x (big-endian)
166+
run: GOARCH=s390x go test -v -short -tags sqlite3_dotlk ./...
167167

168168
test-vm:
169169
runs-on: ubuntu-latest

vfs/shm_dotlk.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,17 +114,21 @@ func (s *vfsShm) shmMap(ctx context.Context, mod api.Module, id, size int32, ext
114114
defer s.Unlock()
115115
defer s.shmAcquire()
116116

117+
// Extend shared memory.
117118
if int(id) >= len(s.shared) {
118119
if !extend {
119120
return 0, _OK
120121
}
121122
s.shared = append(s.shared, make([][_WALINDEX_PGSZ]byte, int(id)-len(s.shared)+1)...)
122123
}
123124

125+
// Allocate shadow memory.
124126
if int(id) >= len(s.shadow) {
125127
s.shadow = append(s.shadow, make([][_WALINDEX_PGSZ]byte, int(id)-len(s.shadow)+1)...)
128+
s.shadow[0][4] = 1 // force invalidation
126129
}
127130

131+
// Allocate local memory.
128132
for int(id) >= len(s.ptrs) {
129133
s.stack[0] = uint64(size)
130134
if err := s.alloc.CallWithStack(ctx, s.stack[:]); err != nil {

vfs/shm_windows.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -94,21 +94,20 @@ func (s *vfsShm) shmMap(ctx context.Context, mod api.Module, id, size int32, ext
9494
}
9595
}
9696

97-
// Map the region into memory.
98-
r, err := util.MapRegion(ctx, mod, s.File, int64(id)*int64(size), size)
99-
if err != nil {
100-
return 0, _IOERR_SHMMAP
101-
}
102-
s.regions = append(s.regions, r)
103-
104-
if int(id) >= len(s.shared) {
105-
s.shared = append(s.shared, make([][]byte, int(id)-len(s.shared)+1)...)
97+
// Maps regions into memory.
98+
for int(id) >= len(s.shared) {
99+
r, err := util.MapRegion(ctx, mod, s.File, int64(id)*int64(size), size)
100+
if err != nil {
101+
return 0, _IOERR_SHMMAP
102+
}
103+
s.regions = append(s.regions, r)
104+
s.shared = append(s.shared, r.Data)
106105
}
107-
s.shared[id] = r.Data
108106

109107
// Allocate shadow memory.
110108
if int(id) >= len(s.shadow) {
111109
s.shadow = append(s.shadow, make([][_WALINDEX_PGSZ]byte, int(id)-len(s.shadow)+1)...)
110+
s.shadow[0][4] = 1 // force invalidation
112111
}
113112

114113
// Allocate local memory.

vfs/tests/mptest/mptest_test.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ var compressed string
3535
//go:embed testdata/*.*test
3636
var scripts embed.FS
3737

38+
const qemuCI = runtime.GOARCH != "386" && runtime.GOARCH != "amd64" && runtime.GOARCH != "arm64"
39+
3840
var (
3941
rt wazero.Runtime
4042
module wazero.CompiledModule
@@ -160,8 +162,8 @@ func Test_crash01(t *testing.T) {
160162
}
161163

162164
func Test_multiwrite01(t *testing.T) {
163-
if testing.Short() {
164-
t.Skip("skipping in short mode")
165+
if os.Getenv("CI") != "" && qemuCI {
166+
t.Skip("skipping in CI")
165167
}
166168
if !vfs.SupportsFileLocking {
167169
t.Skip("skipping without locks")
@@ -190,8 +192,8 @@ func Test_config01_memory(t *testing.T) {
190192
}
191193

192194
func Test_multiwrite01_memory(t *testing.T) {
193-
if testing.Short() {
194-
t.Skip("skipping in short mode")
195+
if os.Getenv("CI") != "" && qemuCI {
196+
t.Skip("skipping in CI")
195197
}
196198

197199
memdb.Create("test.db", nil)
@@ -225,8 +227,8 @@ func Test_crash01_wal(t *testing.T) {
225227
}
226228

227229
func Test_multiwrite01_wal(t *testing.T) {
228-
if testing.Short() {
229-
t.Skip("skipping in short mode")
230+
if os.Getenv("CI") != "" && qemuCI {
231+
t.Skip("skipping in CI")
230232
}
231233
if !vfs.SupportsSharedMemory {
232234
t.Skip("skipping without shared memory")

0 commit comments

Comments
 (0)