CLAR_TEST_PROG = $(UNIT_TEST_BIN)/unit-tests$(X)
CLAR_TEST_OBJS = $(patsubst %,$(UNIT_TEST_DIR)/%.o,$(CLAR_TEST_SUITES))
CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/clar/clar.o
-CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/unit-test.o
CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/lib-oid.o
-CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/lib-reftable-clar.o
+CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/lib-reftable.o
+CLAR_TEST_OBJS += $(UNIT_TEST_DIR)/unit-test.o
-UNIT_TEST_PROGS = $(patsubst %,$(UNIT_TEST_BIN)/%$X,$(UNIT_TEST_PROGRAMS))
UNIT_TEST_OBJS += $(UNIT_TEST_DIR)/test-lib.o
-UNIT_TEST_OBJS += $(UNIT_TEST_DIR)/lib-reftable.o
# xdiff and reftable libs may in turn depend on what is in libgit.a
GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB) $(REFTABLE_LIB) $(LIB_FILE)
$(OBJCOPY) --localize-hidden $^ $@
contrib/libgit-sys/libgitpub.a: $(LIBGIT_HIDDEN_EXPORT)
- $(AR) $(ARFLAGS) $@ $^
\ No newline at end of file
+ $(AR) $(ARFLAGS) $@ $^
@mkdir -p mesontmp && \
printf "%s\n" \
"integration_tests t[0-9][0-9][0-9][0-9]-*.sh" \
- "unit_test_programs unit-tests/t-*.c" \
"clar_test_suites unit-tests/u-*.c" | \
while read -r variable pattern; do \
awk "/^$$variable = \[\$$/ {flag=1 ; next } /^]$$/ { flag=0 } flag { gsub(/^ \047/, \"\"); gsub(/\047,\$$/, \"\"); print }" meson.build >mesontmp/meson.txt && \
'unit-tests/clar/clar.c',
'unit-tests/unit-test.c',
'unit-tests/lib-oid.c',
- 'unit-tests/lib-reftable-clar.c'
+ 'unit-tests/lib-reftable.c'
]
clar_decls_h = custom_target(
)
test('unit-tests', clar_unit_tests)
-unit_test_programs = [
-]
-
-foreach unit_test_program : unit_test_programs
- unit_test_name = fs.stem(unit_test_program)
- unit_test = executable(unit_test_name,
- sources: [
- 'unit-tests/test-lib.c',
- 'unit-tests/lib-reftable.c',
- unit_test_program,
- ],
- dependencies: [libgit_commonmain],
- )
- test(unit_test_name, unit_test,
- workdir: meson.current_source_dir(),
- timeout: 0,
- )
-endforeach
-
subdir('helper')
integration_tests = [
+++ /dev/null
-#include "unit-test.h"
-#include "lib-reftable-clar.h"
-#include "hex.h"
-#include "parse-options.h"
-#include "reftable/constants.h"
-#include "reftable/writer.h"
-#include "strbuf.h"
-#include "string-list.h"
-#include "strvec.h"
-
-void cl_reftable_set_hash(uint8_t *p, int i, enum reftable_hash id)
-{
- memset(p, (uint8_t)i, hash_size(id));
-}
-
-static ssize_t strbuf_writer_write(void *b, const void *data, size_t sz)
-{
- strbuf_add(b, data, sz);
- return sz;
-}
-
-static int strbuf_writer_flush(void *arg UNUSED)
-{
- return 0;
-}
-
-struct reftable_writer *cl_reftable_strbuf_writer(struct reftable_buf *buf,
- struct reftable_write_options *opts)
-{
- struct reftable_writer *writer;
- int ret = reftable_writer_new(&writer, &strbuf_writer_write, &strbuf_writer_flush,
- buf, opts);
- cl_assert(!ret);
- return writer;
-}
-
-void cl_reftable_write_to_buf(struct reftable_buf *buf,
- struct reftable_ref_record *refs,
- size_t nrefs,
- struct reftable_log_record *logs,
- size_t nlogs,
- struct reftable_write_options *_opts)
-{
- struct reftable_write_options opts = { 0 };
- const struct reftable_stats *stats;
- struct reftable_writer *writer;
- uint64_t min = 0xffffffff;
- uint64_t max = 0;
- int ret;
-
- if (_opts)
- opts = *_opts;
-
- for (size_t i = 0; i < nrefs; i++) {
- uint64_t ui = refs[i].update_index;
- if (ui > max)
- max = ui;
- if (ui < min)
- min = ui;
- }
- for (size_t i = 0; i < nlogs; i++) {
- uint64_t ui = logs[i].update_index;
- if (ui > max)
- max = ui;
- if (ui < min)
- min = ui;
- }
-
- writer = cl_reftable_strbuf_writer(buf, &opts);
- ret = reftable_writer_set_limits(writer, min, max);
- cl_assert_equal_i(ret, 0);
-
- if (nrefs) {
- ret = reftable_writer_add_refs(writer, refs, nrefs);
- cl_assert_equal_i(ret, 0);
- }
-
- if (nlogs) {
- ret = reftable_writer_add_logs(writer, logs, nlogs);
- cl_assert_equal_i(ret, 0);
- }
-
- ret = reftable_writer_close(writer);
- cl_assert_equal_i(ret, 0);
-
- stats = reftable_writer_stats(writer);
- for (size_t i = 0; i < (size_t)stats->ref_stats.blocks; i++) {
- size_t off = i * (opts.block_size ? opts.block_size
- : DEFAULT_BLOCK_SIZE);
- if (!off)
- off = header_size(opts.hash_id == REFTABLE_HASH_SHA256 ? 2 : 1);
- cl_assert(buf->buf[off] == 'r');
- }
-
- if (nrefs)
- cl_assert(stats->ref_stats.blocks > 0);
- if (nlogs)
- cl_assert(stats->log_stats.blocks > 0);
-
- reftable_writer_free(writer);
-}
+++ /dev/null
-#include "git-compat-util.h"
-#include "clar/clar.h"
-#include "clar-decls.h"
-#include "git-compat-util.h"
-#include "reftable/reftable-writer.h"
-#include "strbuf.h"
-
-struct reftable_buf;
-
-void cl_reftable_set_hash(uint8_t *p, int i, enum reftable_hash id);
-
-struct reftable_writer *cl_reftable_strbuf_writer(struct reftable_buf *buf,
- struct reftable_write_options *opts);
-
-void cl_reftable_write_to_buf(struct reftable_buf *buf,
- struct reftable_ref_record *refs,
- size_t nrecords,
- struct reftable_log_record *logs,
- size_t nlogs,
- struct reftable_write_options *opts);
-#define DISABLE_SIGN_COMPARE_WARNINGS
-
+#include "unit-test.h"
#include "lib-reftable.h"
-#include "test-lib.h"
+#include "hex.h"
+#include "parse-options.h"
#include "reftable/constants.h"
#include "reftable/writer.h"
#include "strbuf.h"
+#include "string-list.h"
+#include "strvec.h"
-void t_reftable_set_hash(uint8_t *p, int i, enum reftable_hash id)
+void cl_reftable_set_hash(uint8_t *p, int i, enum reftable_hash id)
{
memset(p, (uint8_t)i, hash_size(id));
}
return 0;
}
-struct reftable_writer *t_reftable_strbuf_writer(struct reftable_buf *buf,
+struct reftable_writer *cl_reftable_strbuf_writer(struct reftable_buf *buf,
struct reftable_write_options *opts)
{
struct reftable_writer *writer;
int ret = reftable_writer_new(&writer, &strbuf_writer_write, &strbuf_writer_flush,
buf, opts);
- check(!ret);
+ cl_assert(!ret);
return writer;
}
-void t_reftable_write_to_buf(struct reftable_buf *buf,
+void cl_reftable_write_to_buf(struct reftable_buf *buf,
struct reftable_ref_record *refs,
size_t nrefs,
struct reftable_log_record *logs,
min = ui;
}
- writer = t_reftable_strbuf_writer(buf, &opts);
- reftable_writer_set_limits(writer, min, max);
+ writer = cl_reftable_strbuf_writer(buf, &opts);
+ ret = reftable_writer_set_limits(writer, min, max);
+ cl_assert(!ret);
if (nrefs) {
ret = reftable_writer_add_refs(writer, refs, nrefs);
- check_int(ret, ==, 0);
+ cl_assert_equal_i(ret, 0);
}
if (nlogs) {
ret = reftable_writer_add_logs(writer, logs, nlogs);
- check_int(ret, ==, 0);
+ cl_assert_equal_i(ret, 0);
}
ret = reftable_writer_close(writer);
- check_int(ret, ==, 0);
+ cl_assert_equal_i(ret, 0);
stats = reftable_writer_stats(writer);
- for (size_t i = 0; i < stats->ref_stats.blocks; i++) {
+ for (size_t i = 0; i < (size_t)stats->ref_stats.blocks; i++) {
size_t off = i * (opts.block_size ? opts.block_size
: DEFAULT_BLOCK_SIZE);
if (!off)
off = header_size(opts.hash_id == REFTABLE_HASH_SHA256 ? 2 : 1);
- check_char(buf->buf[off], ==, 'r');
+ cl_assert(buf->buf[off] == 'r');
}
if (nrefs)
- check_int(stats->ref_stats.blocks, >, 0);
+ cl_assert(stats->ref_stats.blocks > 0);
if (nlogs)
- check_int(stats->log_stats.blocks, >, 0);
+ cl_assert(stats->log_stats.blocks > 0);
reftable_writer_free(writer);
}
-#ifndef LIB_REFTABLE_H
-#define LIB_REFTABLE_H
-
+#include "git-compat-util.h"
+#include "clar/clar.h"
+#include "clar-decls.h"
#include "git-compat-util.h"
#include "reftable/reftable-writer.h"
+#include "strbuf.h"
struct reftable_buf;
-void t_reftable_set_hash(uint8_t *p, int i, enum reftable_hash id);
+void cl_reftable_set_hash(uint8_t *p, int i, enum reftable_hash id);
-struct reftable_writer *t_reftable_strbuf_writer(struct reftable_buf *buf,
+struct reftable_writer *cl_reftable_strbuf_writer(struct reftable_buf *buf,
struct reftable_write_options *opts);
-void t_reftable_write_to_buf(struct reftable_buf *buf,
+void cl_reftable_write_to_buf(struct reftable_buf *buf,
struct reftable_ref_record *refs,
size_t nrecords,
struct reftable_log_record *logs,
size_t nlogs,
struct reftable_write_options *opts);
-
-#endif
*/
#include "unit-test.h"
-#include "lib-reftable-clar.h"
+#include "lib-reftable.h"
#include "reftable/basics.h"
struct integer_needle_lesseq_args {
*/
#include "unit-test.h"
-#include "lib-reftable-clar.h"
+#include "lib-reftable.h"
#include "reftable/block.h"
#include "reftable/blocksource.h"
#include "reftable/constants.h"
*/
#include "unit-test.h"
-#include "lib-reftable-clar.h"
+#include "lib-reftable.h"
#include "reftable/blocksource.h"
#include "reftable/constants.h"
#include "reftable/merged.h"
*/
#include "unit-test.h"
-#include "lib-reftable-clar.h"
+#include "lib-reftable.h"
#include "reftable/constants.h"
#include "reftable/pq.h"
#include "strbuf.h"
#define DISABLE_SIGN_COMPARE_WARNINGS
#include "unit-test.h"
-#include "lib-reftable-clar.h"
+#include "lib-reftable.h"
#include "reftable/basics.h"
#include "reftable/blocksource.h"
#include "reftable/reftable-error.h"
*/
#include "unit-test.h"
-#include "lib-reftable-clar.h"
+#include "lib-reftable.h"
#include "reftable/basics.h"
#include "reftable/constants.h"
#include "reftable/record.h"
#include "unit-test.h"
#include "dir.h"
-#include "lib-reftable-clar.h"
+#include "lib-reftable.h"
#include "reftable/merged.h"
#include "reftable/reftable-error.h"
#include "reftable/stack.h"
struct reftable_buf path = REFTABLE_BUF_INIT;
struct stat stat_result;
size_t i, N = ARRAY_SIZE(refs);
- int err;
+ int err = 0;
err = reftable_new_stack(&st, dir, &opts);
cl_assert(!err);
#include "unit-test.h"
-#include "lib-reftable-clar.h"
+#include "lib-reftable.h"
#include "reftable/blocksource.h"
#include "reftable/constants.h"
#include "reftable/iter.h"