1
1
use super :: * ;
2
2
3
- use std:: ops:: RangeInclusive ;
4
3
use std:: sync:: Arc ;
5
4
6
- use proptest:: collection:: SizeRange ;
7
5
use proptest:: strategy:: { Just , Strategy } ;
8
6
9
7
use liblumen_alloc:: badarity;
10
8
use liblumen_alloc:: erts:: process:: code:: Code ;
11
9
use liblumen_alloc:: erts:: process:: Process ;
12
10
use liblumen_alloc:: erts:: ModuleFunctionArity ;
13
11
14
- use crate :: process:: spawn:: options:: Options ;
15
12
use crate :: test:: strategy:: term:: closure;
16
13
17
14
#[ test]
@@ -21,62 +18,30 @@ fn without_arity_errors_badarg() {
21
18
& strategy:: process ( )
22
19
. prop_flat_map ( |arc_process| {
23
20
(
24
- Just ( arc_process) ,
21
+ Just ( arc_process. clone ( ) ) ,
25
22
module_function_arity:: module ( ) ,
26
23
module_function_arity:: function ( ) ,
27
- 1_u8 ..=255_u8 ,
28
- )
29
- } )
30
- . prop_flat_map ( |( arc_process, module, function, arity) | {
31
- (
32
- Just ( arc_process. clone ( ) ) ,
33
- Just ( module) ,
34
- Just ( function) ,
35
- Just ( arity. clone ( ) ) ,
36
- ( Just ( arc_process) , module_function_arity:: arity ( ) )
37
- . prop_filter (
38
- "Arguments arity cannot match function arity" ,
39
- move |( _, list_arity) | * list_arity != arity,
40
- )
41
- . prop_flat_map ( |( arc_process, list_arity) | {
42
- let range_inclusive: RangeInclusive < usize > =
43
- ( list_arity as usize ) ..=( list_arity as usize ) ;
44
- let size_range: SizeRange = range_inclusive. into ( ) ;
45
-
46
- (
47
- Just ( arc_process. clone ( ) ) ,
48
- proptest:: collection:: vec (
49
- strategy:: term ( arc_process. clone ( ) ) ,
50
- size_range,
51
- ) ,
52
- )
53
- . prop_map (
54
- |( arc_process, vec) | {
55
- arc_process. list_from_slice ( & vec) . unwrap ( )
56
- } ,
57
- )
58
- } ) ,
24
+ strategy:: term ( arc_process. clone ( ) ) ,
25
+ strategy:: term ( arc_process) ,
59
26
)
60
27
} )
61
- . prop_map ( |( arc_process, module, function, arity, arguments) | {
62
- (
63
- arc_process. clone ( ) ,
64
- closure ( & arc_process. clone ( ) , module, function, arity) ,
65
- arguments,
66
- )
67
- } ) ,
28
+ . prop_map (
29
+ |( arc_process, module, function, first_argument, second_argument) | {
30
+ (
31
+ arc_process. clone ( ) ,
32
+ closure ( & arc_process. clone ( ) , module, function, 1 ) ,
33
+ arc_process
34
+ . list_from_slice ( & [ first_argument, second_argument] )
35
+ . unwrap ( ) ,
36
+ )
37
+ } ,
38
+ ) ,
68
39
|( arc_process, function, arguments) | {
69
- let size_in_words = function. size_in_words ( ) + arguments. size_in_words ( ) ;
70
- let options = Options {
71
- min_heap_size : Some ( size_in_words) ,
72
- ..Default :: default ( )
73
- } ;
74
-
75
40
let Ready {
76
41
arc_process : child_arc_process,
77
42
result,
78
43
} = run_until_ready (
79
- options ,
44
+ Default :: default ( ) ,
80
45
|child_process| {
81
46
let child_function = function. clone_to_process ( child_process) ;
82
47
let child_arguments = arguments. clone_to_process ( child_process) ;
0 commit comments