Annotate

spec/util_random_spec.lua @ 13794:471b676e64eb 13.0

util.adminstream: Fix traceback on double-close (fixes #1913) In some circumstances, particularly with 'opportunistic_writes' and 'fatal_errors' enabled in the epoll backend, the connection may be closed halfway through the session close process (because it contains debug logging, which in the case of the watch:log() command, will trigger a write to the socket). The chosen fix is to cache session.conn in a local variable (we already did this later on, but this pulls it up to the top of the function, which is generally more correct anyway).
author Matthew Wild <mwild1@gmail.com>
date Mon, 31 Mar 2025 16:25:09 +0100
parent 8450:3a9a3d90c44c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8236
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
1
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
2 local random = require "util.random";
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
3
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
4 describe("util.random", function()
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
5 describe("#bytes()", function()
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
6 it("should return a string", function()
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
7 assert.is_string(random.bytes(16));
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
8 end);
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
9
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
10 it("should return the requested number of bytes", function()
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
11 -- Makes no attempt at testing how random the bytes are,
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
12 -- just that it returns the number of bytes requested
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
13
8450
3a9a3d90c44c spec/util.random: Check a larger range of sizes
Kim Alvefur <zash@zash.se>
parents: 8236
diff changeset
14 for i = 1, 20 do
3a9a3d90c44c spec/util.random: Check a larger range of sizes
Kim Alvefur <zash@zash.se>
parents: 8236
diff changeset
15 assert.are.equal(2^i, #random.bytes(2^i));
8236
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
16 end
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
17 end);
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
18 end);
4878e4159e12 Port tests to the `busted` test runner
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
19 end);