Mercurial > vim
annotate src/testdir/test_random.vim @ 29189:d1e263ecf634 v8.2.5114
patch 8.2.5114: time limit on searchpair() does not work properly
Commit: https://github.com/vim/vim/commit/5ea38d1e7fd597ffde13b292d43e12747f20e97f
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jun 16 21:20:48 2022 +0100
patch 8.2.5114: time limit on searchpair() does not work properly
Problem: Time limit on searchpair() does not work properly.
Solution: Set the time limit once instead of for each regexp. (closes https://github.com/vim/vim/issues/10562)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 16 Jun 2022 22:30:03 +0200 |
parents | 08940efa6b4e |
children | 029c59bf78f1 |
rev | line source |
---|---|
18701
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Tests for srand() and rand() |
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 func Test_Rand() |
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 let r = srand(123456789) |
18732
2513e666aa82
patch 8.1.2356: rand() does not use the best algorithm
Bram Moolenaar <Bram@vim.org>
parents:
18703
diff
changeset
|
5 call assert_equal([1573771921, 319883699, 2742014374, 1324369493], r) |
2513e666aa82
patch 8.1.2356: rand() does not use the best algorithm
Bram Moolenaar <Bram@vim.org>
parents:
18703
diff
changeset
|
6 call assert_equal(4284103975, rand(r)) |
2513e666aa82
patch 8.1.2356: rand() does not use the best algorithm
Bram Moolenaar <Bram@vim.org>
parents:
18703
diff
changeset
|
7 call assert_equal(1001954530, rand(r)) |
2513e666aa82
patch 8.1.2356: rand() does not use the best algorithm
Bram Moolenaar <Bram@vim.org>
parents:
18703
diff
changeset
|
8 call assert_equal(2701803082, rand(r)) |
2513e666aa82
patch 8.1.2356: rand() does not use the best algorithm
Bram Moolenaar <Bram@vim.org>
parents:
18703
diff
changeset
|
9 call assert_equal(2658065534, rand(r)) |
2513e666aa82
patch 8.1.2356: rand() does not use the best algorithm
Bram Moolenaar <Bram@vim.org>
parents:
18703
diff
changeset
|
10 call assert_equal(3104308804, rand(r)) |
18701
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 |
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 call test_settime(12341234) |
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 let s = srand() |
19350
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
14 if !has('win32') && filereadable('/dev/urandom') |
18703
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
15 " using /dev/urandom |
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
16 call assert_notequal(s, srand()) |
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
17 else |
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
18 " using time() |
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
19 call assert_equal(s, srand()) |
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
20 call test_settime(12341235) |
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
21 call assert_notequal(s, srand()) |
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
22 endif |
18701
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 |
19350
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
24 call test_srand_seed(123456789) |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
25 call assert_equal(4284103975, rand()) |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
26 call assert_equal(1001954530, rand()) |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
27 call test_srand_seed() |
18701
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 |
18734
c477006e8857
patch 8.1.2357: no test with wrong argument for rand()
Bram Moolenaar <Bram@vim.org>
parents:
18732
diff
changeset
|
29 if has('float') |
c477006e8857
patch 8.1.2357: no test with wrong argument for rand()
Bram Moolenaar <Bram@vim.org>
parents:
18732
diff
changeset
|
30 call assert_fails('echo srand(1.2)', 'E805:') |
c477006e8857
patch 8.1.2357: no test with wrong argument for rand()
Bram Moolenaar <Bram@vim.org>
parents:
18732
diff
changeset
|
31 endif |
18701
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 call assert_fails('echo srand([1])', 'E745:') |
18734
c477006e8857
patch 8.1.2357: no test with wrong argument for rand()
Bram Moolenaar <Bram@vim.org>
parents:
18732
diff
changeset
|
33 call assert_fails('echo rand("burp")', 'E475:') |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
19350
diff
changeset
|
34 call assert_fails('echo rand([1, 2, 3])', 'E730:') |
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
19350
diff
changeset
|
35 call assert_fails('echo rand([[1], 2, 3, 4])', 'E730:') |
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
19350
diff
changeset
|
36 call assert_fails('echo rand([1, [2], 3, 4])', 'E730:') |
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
19350
diff
changeset
|
37 call assert_fails('echo rand([1, 2, [3], 4])', 'E730:') |
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
19350
diff
changeset
|
38 call assert_fails('echo rand([1, 2, 3, [4]])', 'E730:') |
18703
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
39 |
aef98a646d3e
patch 8.1.2343: using time() for srand() is not very random
Bram Moolenaar <Bram@vim.org>
parents:
18701
diff
changeset
|
40 call test_settime(0) |
18701
128662297ddf
patch 8.1.2342: random number generator in Vim script is slow
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
41 endfunc |
19350
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
42 |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
43 func Test_issue_5587() |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
44 call rand() |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
45 call garbagecollect() |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
46 call rand() |
76cb39bf1871
patch 8.2.0233: crash when using garbagecollect() in between rand()
Bram Moolenaar <Bram@vim.org>
parents:
18734
diff
changeset
|
47 endfunc |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
48 |
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
49 " vim: shiftwidth=2 sts=2 expandtab |