aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/test/disk_log_SUITE_data
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kernel/test/disk_log_SUITE_data')
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/Makefile.src15
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt.LOG.1bin0 -> 53 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt.LOG.2bin0 -> 53 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt.LOG.3bin0 -> 53 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt.LOG.4bin0 -> 53 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt.LOG.idxbin0 -> 17 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.1bin0 -> 53 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.2bin0 -> 53 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.3bin0 -> 53 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.4bin0 -> 53 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.idxbin0 -> 21 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.sizbin0 -> 8 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/nfs_check.c46
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/old_terms.LOGbin0 -> 131536 bytes
-rw-r--r--lib/kernel/test/disk_log_SUITE_data/wrap_log_test.erl184
15 files changed, 245 insertions, 0 deletions
diff --git a/lib/kernel/test/disk_log_SUITE_data/Makefile.src b/lib/kernel/test/disk_log_SUITE_data/Makefile.src
new file mode 100644
index 0000000000..cae2f23d29
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/Makefile.src
@@ -0,0 +1,15 @@
+CC = @CC@
+LD = @LD@
+CFLAGS = @CFLAGS@ -I@erl_include@ @DEFS@
+CROSSLDFLAGS = @CROSSLDFLAGS@
+
+PROGS = nfs_check@exe@
+
+all: $(PROGS)
+
+nfs_check@exe@: nfs_check@obj@
+ $(LD) $(CROSSLDFLAGS) -o nfs_check nfs_check@obj@ @LIBS@
+
+nfs_check@obj@: nfs_check.c
+ $(CC) -c -o nfs_check@obj@ $(CFLAGS) nfs_check.c
+
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.1 b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.1
new file mode 100644
index 0000000000..4ab4382c54
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.1
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.2 b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.2
new file mode 100644
index 0000000000..491f23d0a2
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.2
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.3 b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.3
new file mode 100644
index 0000000000..d690c59365
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.3
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.4 b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.4
new file mode 100644
index 0000000000..c61526e1b7
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.4
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.idx b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.idx
new file mode 100644
index 0000000000..1250cdcaf3
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt.LOG.idx
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.1 b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.1
new file mode 100644
index 0000000000..4ab4382c54
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.1
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.2 b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.2
new file mode 100644
index 0000000000..491f23d0a2
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.2
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.3 b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.3
new file mode 100644
index 0000000000..d690c59365
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.3
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.4 b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.4
new file mode 100644
index 0000000000..c61526e1b7
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.4
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.idx b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.idx
new file mode 100644
index 0000000000..2d3456e88d
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.idx
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.siz b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.siz
new file mode 100644
index 0000000000..dea523e149
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/kurt2.LOG.siz
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/nfs_check.c b/lib/kernel/test/disk_log_SUITE_data/nfs_check.c
new file mode 100644
index 0000000000..31e9ba8190
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/nfs_check.c
@@ -0,0 +1,46 @@
+/*
+ * Author: Patrik Nyblom
+ * Purpose: A port program to check the NFS cache size on VxWorks (returns 0
+ * for other platforms).
+ */
+
+#ifdef VXWORKS
+#include <vxWorks.h>
+#include <taskVarLib.h>
+#include <taskLib.h>
+#include <sysLib.h>
+#include <string.h>
+#include <ioLib.h>
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+#ifdef VXWORKS
+extern unsigned nfsCacheSize;
+#define MAIN(argc, argv) nfs_check(argc, argv)
+#else
+#define MAIN(argc, argv) main(argc, argv)
+#endif
+
+
+MAIN(argc, argv)
+int argc;
+char *argv[];
+{
+#ifdef VXWORKS
+ char str[100];
+ sprintf(str,"%d\n", nfsCacheSize);
+ write(1, str, strlen(str));
+#else
+ fprintf(stdout,"0");
+ fflush(stdout);
+#endif
+ return 0;
+}
+
diff --git a/lib/kernel/test/disk_log_SUITE_data/old_terms.LOG b/lib/kernel/test/disk_log_SUITE_data/old_terms.LOG
new file mode 100644
index 0000000000..fffd8c1679
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/old_terms.LOG
Binary files differ
diff --git a/lib/kernel/test/disk_log_SUITE_data/wrap_log_test.erl b/lib/kernel/test/disk_log_SUITE_data/wrap_log_test.erl
new file mode 100644
index 0000000000..e5ff70fd49
--- /dev/null
+++ b/lib/kernel/test/disk_log_SUITE_data/wrap_log_test.erl
@@ -0,0 +1,184 @@
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%%%----------------------------------------------------------------------
+%%% Purpose : Test wrap_log_reader.erl
+%%%----------------------------------------------------------------------
+
+-module(wrap_log_test).
+
+-export([init/0, stop/0]).
+-define(fsize, 80).
+-define(fno, 4).
+
+%-define(debug, true).
+
+-ifdef(debug).
+-define(format(S, A), io:format(S, A)).
+-else.
+-define(format(S, A), ok).
+-endif.
+
+init() ->
+ spawn(fun() -> start(logger) end),
+ spawn(fun() -> start2(wlt) end),
+ wait_registered(logger),
+ wait_registered(wlt),
+ ok.
+
+wait_registered(Name) ->
+ case whereis(Name) of
+ undefined ->
+ timer:sleep(100),
+ wait_registered(Name);
+ _Pid ->
+ ok
+ end.
+
+stop() ->
+ catch logger ! exit,
+ catch wlt ! exit,
+ wait_unregistered(logger),
+ wait_unregistered(wlt),
+ ok.
+
+wait_unregistered(Name) ->
+ case whereis(Name) of
+ undefined ->
+ ok;
+ _Pid ->
+ timer:sleep(100),
+ wait_unregistered(Name)
+ end.
+
+start(Name) ->
+ ?format("Starting ~p~n", [Name]),
+ register(Name, self()),
+ loop().
+
+start2(Name) ->
+ ?format("Starting ~p~n", [Name]),
+ register(Name, self()),
+ loop2(eof, Name).
+
+loop() ->
+ receive
+ {open, Pid, Name, File} ->
+ R = disk_log:open([{name, Name}, {type, wrap}, {file, File},
+ {size, {?fsize, ?fno}}]),
+ ?format("logger: open ~p -> ~p~n", [Name, R]),
+ Pid ! R,
+ loop();
+
+ {open_ext, Pid, Name, File} ->
+ R = disk_log:open([{name, Name}, {type, wrap}, {file, File},
+ {format, external}, {size, {?fsize, ?fno}}]),
+ ?format("logger: open ~p -> ~p~n", [Name, R]),
+ Pid ! R,
+ loop();
+
+ {close, Pid, Name} ->
+ R = disk_log:close(Name),
+ ?format("logger: close ~p -> ~p~n", [Name, R]),
+ Pid ! R,
+ loop();
+
+ {sync, Pid, Name} ->
+ R = disk_log:sync(Name),
+ ?format("logger: sync ~p -> ~p~n", [Name, R]),
+ Pid ! R,
+ loop();
+
+ {log_terms, Pid, Name, Terms} ->
+ R = disk_log:log_terms(Name, Terms),
+ ?format("logger: log_terms ~p -> ~p~n", [Name, R]),
+ Pid ! R,
+ loop();
+
+ {blog_terms, Pid, Name, Terms} ->
+ R = disk_log:blog_terms(Name, Terms),
+ ?format("logger: blog_terms ~p -> ~p~n", [Name, R]),
+ Pid ! R,
+ loop();
+
+ exit ->
+ ?format("Stopping logger~n", []),
+ exit(normal);
+
+ _Else ->
+ ?format("logger: ignored: ~p~n", [_Else]),
+ loop()
+ end.
+
+loop2(C, Wlt) ->
+ receive
+ {open, Pid, Name} ->
+ case wrap_log_reader:open(Name) of
+ {ok, R} ->
+ ?format("~p: open ~p -> ~p~n", [Wlt, Name, {ok, R}]),
+ Pid ! {ok, R},
+ loop2(R, Wlt);
+ E ->
+ ?format("~p: open ~p -> ~p~n", [Wlt, Name, E]),
+ Pid ! E,
+ loop2(C, Wlt)
+ end;
+
+ {open, Pid, Name, No} ->
+ case wrap_log_reader:open(Name, No) of
+ {ok, R} ->
+ ?format("~p: open ~p, file ~p -> ~p~n",
+ [Wlt, Name, No, {ok, R}]),
+ Pid ! {ok, R},
+ loop2(R, Wlt);
+ E ->
+ ?format("~p: open ~p, file ~p -> ~p~n",
+ [Wlt, Name, No, E]),
+ Pid ! E,
+ loop2(C, Wlt)
+ end;
+
+ {close, Pid, WR} ->
+ R = wrap_log_reader:close(WR),
+ ?format("~p: close -> ~p~n", [Wlt, R]),
+ Pid ! R,
+ loop2(eof, Wlt);
+
+ {chunk, Pid, WR} ->
+ did_chunk(wrap_log_reader:chunk(WR), Pid, Wlt);
+
+ {chunk, Pid, WR, N} ->
+ did_chunk(wrap_log_reader:chunk(WR, N), Pid, Wlt);
+
+ exit ->
+ ?format("Stopping ~p~n", [Wlt]),
+ exit(normal);
+
+ _Else ->
+ ?format("~p: ignored: ~p~n", [Wlt, _Else]),
+ loop2(C, Wlt)
+ end.
+
+did_chunk({C1, L}, Pid, Wlt) ->
+ ?format("~p: chunk -> ~p~n", [Wlt, {C1, L}]),
+ Pid ! {C1, L},
+ loop2(C1, Wlt);
+did_chunk({C1, L, _Bad}, Pid, Wlt) ->
+ ?format("~p: chunk -> ~p (bad)~n", [Wlt, {C1, L, _Bad}]),
+ Pid ! {C1, L},
+ loop2(C1, Wlt).