Rebar and eunit changes
Initial rebar compile - which exposed eunit tets failures associated with changes to file structures and filename references
This commit is contained in:
parent
a1c970a66a
commit
4e28e4173c
6 changed files with 96 additions and 26 deletions
11
ebin/eleveleddb.app
Normal file
11
ebin/eleveleddb.app
Normal file
|
@ -0,0 +1,11 @@
|
|||
{application,eleveleddb,
|
||||
[{description,[]},
|
||||
{vsn,"1"},
|
||||
{registered,[]},
|
||||
{applications,[kernel,stdlib]},
|
||||
{mod,{eleveleddb_app,[]}},
|
||||
{env,[]},
|
||||
{modules,[eleveleddb_app,eleveleddb_sup,leveled_bookie,
|
||||
leveled_cdb,leveled_clerk,leveled_inker,
|
||||
leveled_iterator,leveled_penciller,leveled_rice,
|
||||
leveled_sft]}]}.
|
12
src/eleveleddb.app.src
Normal file
12
src/eleveleddb.app.src
Normal file
|
@ -0,0 +1,12 @@
|
|||
{application, eleveleddb,
|
||||
[
|
||||
{description, ""},
|
||||
{vsn, "1"},
|
||||
{registered, []},
|
||||
{applications, [
|
||||
kernel,
|
||||
stdlib
|
||||
]},
|
||||
{mod, { eleveleddb_app, []}},
|
||||
{env, []}
|
||||
]}.
|
16
src/eleveleddb_app.erl
Normal file
16
src/eleveleddb_app.erl
Normal file
|
@ -0,0 +1,16 @@
|
|||
-module(eleveleddb_app).
|
||||
|
||||
-behaviour(application).
|
||||
|
||||
%% Application callbacks
|
||||
-export([start/2, stop/1]).
|
||||
|
||||
%% ===================================================================
|
||||
%% Application callbacks
|
||||
%% ===================================================================
|
||||
|
||||
start(_StartType, _StartArgs) ->
|
||||
eleveleddb_sup:start_link().
|
||||
|
||||
stop(_State) ->
|
||||
ok.
|
27
src/eleveleddb_sup.erl
Normal file
27
src/eleveleddb_sup.erl
Normal file
|
@ -0,0 +1,27 @@
|
|||
-module(eleveleddb_sup).
|
||||
|
||||
-behaviour(supervisor).
|
||||
|
||||
%% API
|
||||
-export([start_link/0]).
|
||||
|
||||
%% Supervisor callbacks
|
||||
-export([init/1]).
|
||||
|
||||
%% Helper macro for declaring children of supervisor
|
||||
-define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}).
|
||||
|
||||
%% ===================================================================
|
||||
%% API functions
|
||||
%% ===================================================================
|
||||
|
||||
start_link() ->
|
||||
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
|
||||
|
||||
%% ===================================================================
|
||||
%% Supervisor callbacks
|
||||
%% ===================================================================
|
||||
|
||||
init([]) ->
|
||||
{ok, { {one_for_one, 5, 10}, []} }.
|
||||
|
|
@ -295,8 +295,8 @@ generate_randomkeys(Count, Acc, BucketLow, BRange) ->
|
|||
RandKey = {{o,
|
||||
"Bucket" ++ BNumber,
|
||||
"Key" ++ KNumber},
|
||||
Count + 1,
|
||||
{active, infinity}, null},
|
||||
{Count + 1,
|
||||
{active, infinity}, null}},
|
||||
generate_randomkeys(Count - 1, [RandKey|Acc], BucketLow, BRange).
|
||||
|
||||
choose_pid_toquery([ManEntry|_T], Key) when
|
||||
|
@ -310,8 +310,8 @@ choose_pid_toquery([_H|T], Key) ->
|
|||
find_randomkeys(_FList, 0, _Source) ->
|
||||
ok;
|
||||
find_randomkeys(FList, Count, Source) ->
|
||||
K1 = leveled_sft:strip_to_keyonly(lists:nth(random:uniform(length(Source)),
|
||||
Source)),
|
||||
KV1 = lists:nth(random:uniform(length(Source)), Source),
|
||||
K1 = leveled_bookie:strip_to_keyonly(KV1),
|
||||
P1 = choose_pid_toquery(FList, K1),
|
||||
FoundKV = leveled_sft:sft_get(P1, K1),
|
||||
case FoundKV of
|
||||
|
@ -319,7 +319,7 @@ find_randomkeys(FList, Count, Source) ->
|
|||
io:format("Failed to find ~w in ~w~n", [K1, P1]),
|
||||
?assertMatch(true, false);
|
||||
_ ->
|
||||
Found = leveled_sft:strip_to_keyonly(FoundKV),
|
||||
Found = leveled_bookie:strip_to_keyonly(FoundKV),
|
||||
io:format("success finding ~w in ~w~n", [K1, P1]),
|
||||
?assertMatch(K1, Found)
|
||||
end,
|
||||
|
|
|
@ -400,11 +400,12 @@ build_manifest(ManifestFilenames,
|
|||
OtherSQNs_imm = sequencenumbers_fromfilenames(UnremovedJournalFiles,
|
||||
JournalRegex1,
|
||||
'SQN'),
|
||||
Manifest1 = lists:foldl(fun(X, Acc) ->
|
||||
ExtendManifestFun = fun(X, Acc) ->
|
||||
if
|
||||
X > JournalSQN1
|
||||
->
|
||||
FN = "nursery_" ++
|
||||
FN = filepath(RootPath, journal_dir)
|
||||
++ "nursery_" ++
|
||||
integer_to_list(X)
|
||||
++ "." ++
|
||||
?JOURNAL_FILEX,
|
||||
|
@ -412,6 +413,7 @@ build_manifest(ManifestFilenames,
|
|||
true
|
||||
-> Acc
|
||||
end end,
|
||||
Manifest1 = lists:foldl(ExtendManifestFun,
|
||||
ConfirmedManifest,
|
||||
lists:sort(OtherSQNs_imm)),
|
||||
|
||||
|
@ -648,7 +650,7 @@ build_dummy_journal() ->
|
|||
ok = leveled_cdb:cdb_put(J2, {3, K1}, term_to_binary({V3, []})),
|
||||
ok = leveled_cdb:cdb_put(J2, {4, K4}, term_to_binary({V4, []})),
|
||||
ok = leveled_cdb:cdb_close(J2),
|
||||
Manifest = {2, [{1, "nursery_1.cdb"}], []},
|
||||
Manifest = [{1, "../test/journal/journal_files/nursery_1.cdb"}],
|
||||
ManifestBin = term_to_binary(Manifest),
|
||||
{ok, MF1} = file:open(filename:join(ManifestFP, "1.man"),
|
||||
[binary, raw, read, write]),
|
||||
|
@ -669,14 +671,15 @@ simple_buildmanifest_test() ->
|
|||
RootPath = "../test/journal",
|
||||
build_dummy_journal(),
|
||||
Res = build_manifest(["1.man"],
|
||||
["nursery_1.cdb", "nursery_3.pnd"],
|
||||
["../test/journal/journal_files/nursery_1.cdb",
|
||||
"../test/journal/journal_files/nursery_3.pnd"],
|
||||
fun simple_manifest_reader/2,
|
||||
RootPath),
|
||||
io:format("Build manifest output is ~w~n", [Res]),
|
||||
{Man, {ActJournal, ActJournalSQN}, HighSQN, ManSQN} = Res,
|
||||
?assertMatch(HighSQN, 4),
|
||||
?assertMatch(ManSQN, 1),
|
||||
?assertMatch([{1, "nursery_1.cdb", _}], Man),
|
||||
?assertMatch([{1, "../test/journal/journal_files/nursery_1.cdb", _}], Man),
|
||||
{ActSQN, _ActK} = leveled_cdb:cdb_lastkey(ActJournal),
|
||||
?assertMatch(ActSQN, 4),
|
||||
?assertMatch(ActJournalSQN, 3),
|
||||
|
@ -699,16 +702,17 @@ another_buildmanifest_test() ->
|
|||
ok = leveled_cdb:cdb_close(NewActiveJN),
|
||||
%% Test setup - now build manifest
|
||||
Res = build_manifest(["1.man"],
|
||||
["nursery_1.cdb",
|
||||
"nursery_3.cdb",
|
||||
"nursery_5.pnd"],
|
||||
["../test/journal/journal_files/nursery_1.cdb",
|
||||
"../test/journal/journal_files/nursery_3.cdb",
|
||||
"../test/journal/journal_files/nursery_5.pnd"],
|
||||
fun simple_manifest_reader/2,
|
||||
RootPath),
|
||||
io:format("Build manifest output is ~w~n", [Res]),
|
||||
{Man, {ActJournal, ActJournalSQN}, HighSQN, ManSQN} = Res,
|
||||
?assertMatch(HighSQN, 6),
|
||||
?assertMatch(ManSQN, 1),
|
||||
?assertMatch([{3, "nursery_3.cdb", _}, {1, "nursery_1.cdb", _}], Man),
|
||||
?assertMatch([{3, "../test/journal/journal_files/nursery_3.cdb", _},
|
||||
{1, "../test/journal/journal_files/nursery_1.cdb", _}], Man),
|
||||
{ActSQN, _ActK} = leveled_cdb:cdb_lastkey(ActJournal),
|
||||
?assertMatch(ActSQN, 6),
|
||||
?assertMatch(ActJournalSQN, 5),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue