Browse Source

ft: 测试代码添加

master
lijie 2 years ago
parent
commit
b0d7c5ed5b
3 changed files with 92 additions and 2 deletions
  1. +60
    -0
      src/testCase/funTest.erl
  2. +15
    -0
      src/testCase/utGenCode.erl
  3. +17
    -2
      src/testCase/utTpfm.erl

+ 60
- 0
src/testCase/funTest.erl View File

@ -17,6 +17,8 @@ test3(A) ->
_ = [O * 2 || O <- A],
ok.
-include("utTime.hrl").
-define(types, [1, 1.1, [], [1], {1}, #{}, <<"123">>, self()]).
type1() ->
@ -154,3 +156,61 @@ tt(B) ->
io:format("IMY**********ttxxxxx ~p size ~p ~p ~p ~n", [self(), bit_size(B), erts_internal:term_type(B), binaryAddr:getBinAddr(Bin)]).
testCCC() ->
B1 = <<1:(8 * 64)>>, % 64
B2 = <<1:(8 * 65)>>, % 64
B3 = <<B1/binary, B2/binary, 1:1>>, % 1bit的bitstring
<<B4:64/binary, B5:65/binary, _:1>> = B3,
io:format("Pid:~w~n B1:~p~n B2:~p~n B3:~p~n B4:~p~n B5:~p~n",[
self(),
{erts_internal:term_type(B1), binaryAddr:getBinAddr(B1)},
{erts_internal:term_type(B2), binaryAddr:getBinAddr(B2)},
{erts_internal:term_type(B3), binaryAddr:getBinAddr(B3)},
{erts_internal:term_type(B4), binaryAddr:getBinAddr(B4)},
{erts_internal:term_type(B5), binaryAddr:getBinAddr(B5)}
]),
spawn(?MODULE, ttt, [B3, erlang:size(B1), erlang:size(B2)]).
testDDD(B1, B2) ->
B3 = <<B1/binary, B2/binary, 1:1>>, % 1bit的bitstring
<<B4:(erlang:size(B1))/binary, B5:(erlang:size(B2))/binary, _:1>> = B3,
io:format("Pid:~w~n B1:~p~n B2:~p~n B3:~p~n B4:~p~n B5:~p~n",[
self(),
{erts_internal:term_type(B1), binaryAddr:getBinAddr(B1)},
{erts_internal:term_type(B2), binaryAddr:getBinAddr(B2)},
{erts_internal:term_type(B3), binaryAddr:getBinAddr(B3)},
{erts_internal:term_type(B4), binaryAddr:getBinAddr(B4)},
{erts_internal:term_type(B5), binaryAddr:getBinAddr(B5)}
]),
spawn(?MODULE, ttt, [B3, erlang:size(B1), erlang:size(B2)]).
ttt(B, Size1, Size2) ->
<<B1:Size1/binary, B2:Size2/binary, _:1>> = B, % 6464binary数据
io:format("Pid:~w~n B1:~p~n B2:~p~n",[
self(),
{erts_internal:term_type(B1), binaryAddr:getBinAddr(B1)},
{erts_internal:term_type(B2), binaryAddr:getBinAddr(B2)}
]).
testEEE(B1, B2) ->
B3 = <<1:1, B1/binary, B2/binary>>, % 1bit的bitstring
<<_:1, B4:(erlang:size(B1))/binary, B5:(erlang:size(B2))/binary>> = B3,
io:format("Pid:~w~n B1:~p~n B2:~p~n B3:~p~n B4:~p~n B5:~p~n",[
self(),
{erts_internal:term_type(B1), binaryAddr:getBinAddr(B1)},
{erts_internal:term_type(B2), binaryAddr:getBinAddr(B2)},
{erts_internal:term_type(B3), binaryAddr:getBinAddr(B3)},
{erts_internal:term_type(B4), binaryAddr:getBinAddr(B4)},
{erts_internal:term_type(B5), binaryAddr:getBinAddr(B5)}
]),
spawn(?MODULE, tttt, [B3, erlang:size(B1), erlang:size(B2)]).
tttt(B, Size1, Size2) ->
<<_:1, B1:Size1/binary, B2:Size2/binary>> = B, % 6464binary数据
io:format("Pid:~w~n B1:~p~n B2:~p~n",[
self(),
{erts_internal:term_type(B1), binaryAddr:getBinAddr(B1)},
{erts_internal:term_type(B2), binaryAddr:getBinAddr(B2)}
]).

+ 15
- 0
src/testCase/utGenCode.erl View File

@ -0,0 +1,15 @@
-module(utGenCode).
-compile([export_all, nowarn_function, nowarn_unused_vars, nowarn_export_all]).
write(N, Mod) ->
Head = <<"-module(", (list_to_binary(Mod))/binary, ").\n-compile([export_all, nowarn_function, nowarn_unused_vars, nowarn_export_all]).\n">>,
HandStr = makeStr(N, Head),
ok = file:write_file("./" ++ Mod ++ ".erl", HandStr).
makeStr(0, BinStr) ->
<<BinStr/binary, "getV(_) -> undefined.">>;
makeStr(N, BinStr) ->
Str = <<"getV(", (integer_to_binary(N))/binary, ")-> ", (integer_to_binary(N))/binary, ";\n">>,
makeStr(N - 1, <<BinStr/binary, Str/binary>>).

+ 17
- 2
src/testCase/utTpfm.erl View File

@ -631,7 +631,22 @@ bp11(Cnt, Str) ->
binary:split(Str, persistent_term:get(aaaaa)),
bp11(Cnt - 1, Str).
sp(Bool) ->
spawn_link(fun() -> erlang:process_flag(trap_exit, Bool), loop() end).
sp2(Bool) ->
P = spawn_link(fun() -> erlang:process_flag(trap_exit, Bool), loop() end),
link(P),
P.
a(P) ->
erlang:is_process_alive(P).
loop() ->
receive
Msg ->
io:format("receive ~p ~p~n", [self(), Msg]),
loop()
end.

Loading…
Cancel
Save