Commit 4923dd17 authored by Greg Williams's avatar Greg Williams
Browse files

Merge branch 'release/0.9.1'

parents f39b9030 547b7b27
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -10,3 +10,6 @@
	path = vendor/socket99
	url = https://github.com/silentbicycle/socket99.git
	branch = master
[submodule "vendor/unity"]
	path = vendor/unity
	url = https://github.com/ThrowTheSwitch/Unity.git
+90 −6
Original line number Diff line number Diff line
SHELL := /bin/bash

#===============================================================================
# Configuration of Shared Paths
#===============================================================================
@@ -64,9 +66,9 @@ KINETIC_LIB_OTHER_DEPS = Makefile Rakefile $(VERSION_FILE)
default: makedirs $(KINETIC_LIB)

makedirs:
	@echo; mkdir -p ./bin/examples &> /dev/null; mkdir -p ./out &> /dev/null
	@echo; mkdir -p ./bin/examples &> /dev/null; mkdir -p ./bin/systest &> /dev/null; mkdir -p ./out &> /dev/null

all: default test run examples
all: default test system_tests run examples

clean: makedirs
	rm -rf ./bin/**/*
@@ -202,7 +204,90 @@ start_simulator:
stop_simulator:
	./vendor/kinetic-simulator/stopSimulator.sh

.PHONY: update_simulator start_simulator erase_simulator stop_simulator
.PHONY: update_simulator erase_simulator stop_simulator



#===============================================================================
# System Tests
#===============================================================================

SYSTEST_SRC = ./test/system
SYSTEST_OUT = $(BIN_DIR)/systest
SYSTEST_LDFLAGS += -lm -l ssl $(KINETIC_LIB) -l crypto -l pthread
SYSTEST_WARN = -Wall -Wextra -Wstrict-prototypes -pedantic -Wno-missing-field-initializers -Werror=strict-prototypes
SYSTEST_CFLAGS += -std=c99 -fPIC -g $(SYSTEST_WARN) $(CDEFS) $(OPTIMIZE) -DTEST
UNITY_INC = ./vendor/unity/src
UNITY_SRC = ./vendor/unity/src/unity.c

systest_sources = $(wildcard $(SYSTEST_SRC)/*.c)
systest_executables = $(patsubst $(SYSTEST_SRC)/%.c,$(SYSTEST_OUT)/run_%,$(systest_sources))
systest_results = $(patsubst $(SYSTEST_OUT)/run_%,$(SYSTEST_OUT)/%.log,$(systest_executables))
systest_passfiles = $(patsubst $(SYSTEST_OUT)/run_%,$(SYSTEST_OUT)/%.testpass,$(systest_executables))
systest_names = $(patsubst $(SYSTEST_OUT)/run_%,%,$(systest_executables))

list_system_tests:
	echo $(systest_names)

$(SYSTEST_OUT)/%_runner.c: $(SYSTEST_SRC)/%.c
	./test/support/generate_test_runner.sh $< > $@

$(SYSTEST_OUT)/run_%: $(SYSTEST_SRC)/%.c $(SYSTEST_OUT)/%_runner.c $(KINETIC_LIB)
	@echo
	@echo ================================================================================
	@echo System test: '$<'
	@echo --------------------------------------------------------------------------------
	$(CC) -o $@ $< $(word 2,$^) ./test/support/system_test_fixture.c $(UNITY_SRC) $(SYSTEST_CFLAGS) $(LIB_INCS) -I$(UNITY_INC) -I./test/support $(SYSTEST_LDFLAGS) $(KINETIC_LIB)

$(SYSTEST_OUT)/%.testpass : $(SYSTEST_OUT)/run_%
	./scripts/runSystemTest.sh $*

$(systest_names) : % : $(SYSTEST_OUT)/%.testpass

# system_tests: start_simulator $(systest_results)
system_tests: start_simulator $(systest_passfiles)


# run_systest_%: $(SYSTEST_OUT)/%
# 	@echo
# 	@echo ================================================================================
# 	@echo Executing system test: '$<'
# 	@echo --------------------------------------------------------------------------------;
# 	$<
# 	@echo ================================================================================
# 	@echo
# 	./vendor/kinetic-simulator/stopSimulator.sh
# run_systest_%: start_simulator

# valgrind_systest_%: $(SYSTEST_OUT)/%
# 	@echo
# 	@echo ================================================================================
# 	@echo Executing system test: '$<'
# 	@echo --------------------------------------------------------------------------------;
# 	${VALGRIND} ${VALGRIND_ARGS} $<
# 	@echo ================================================================================
# 	@echo

# setup_system_tests: $(systest_executables) \
# 	build_system_tests

# system_tests: setup_system_tests \
# 	start_simulator \
# 	run_example_write_file_blocking \
# 	run_example_write_file_blocking_threads \
# 	run_example_write_file_nonblocking \
# 	run_example_write_file_nonblocking_threads \
# 	stop_simulator

# valgrind_system_tests: setup_system_tests \
# 	start_simulator \
# 	valgrind_example_write_file_blocking \
# 	valgrind_example_write_file_blocking_threads \
# 	valgrind_example_write_file_nonblocking \
# 	valgrind_example_write_file_nonblocking_threads \
# 	stop_simulator




#===============================================================================
@@ -265,9 +350,6 @@ VALGRIND_ARGS = --track-origins=yes #--leak-check=full
example_sources = $(wildcard $(EXAMPLE_SRC)/*.c)
example_executables = $(patsubst $(EXAMPLE_SRC)/%.c,$(BIN_DIR)/examples/%,$(example_sources))

list_examples:
	echo $(example_executables)

$(BIN_DIR)/examples/%: $(EXAMPLE_SRC)/%.c $(KINETIC_LIB)
	@echo
	@echo ================================================================================
@@ -317,6 +399,7 @@ examples: setup_examples \
	run_example_write_file_blocking_threads \
	run_example_write_file_nonblocking \
	run_example_write_file_nonblocking_threads \
	run_example_get_key_range \
	stop_simulator

valgrind_examples: setup_examples \
@@ -325,4 +408,5 @@ valgrind_examples: setup_examples \
	valgrind_example_write_file_blocking_threads \
	valgrind_example_write_file_nonblocking \
	valgrind_example_write_file_nonblocking_threads \
	valgrind_example_get_key_range \
	stop_simulator
+1 −0
Original line number Diff line number Diff line
@@ -96,3 +96,4 @@ Kinetic C Client I/O Examples
* [`write_file_blocking_threads`](src/examples/write_file_blocking_threads.c) - Multiple threads, single connection, blocking operations.
* [`write_file_nonblocking`](src/examples/write_file_nonblocking.c) - Single thread, single connection, multiple non-blocking operations
* [`write_file_blocking_threads`](src/examples/write_file_blocking_threads.c) - Multiple threads, single connection, multiple non-blocking operations.
* [`get_key_range`](src/examples/get_key_range.c) - Query a range of keys from a device.
+5 −0
Original line number Diff line number Diff line
v0.9.1 (kinetic-protocol 3.0.5)
-------------------------------
* Added get_key_range.c example for KineticClient_GetKeyRange().

v0.9.0 (kinetic-protocol 3.0.5)
-------------------------------
* Changed API to use a `KineticSession` with a pointer to private session/connection info in place of the old `KineticSessionHandle`.
@@ -8,6 +12,7 @@ v0.9.0 (kinetic-protocol 3.0.5)
* Fixed bug with mutex locking causing an assert failure and subsequent crash.
* Fixed leaking of destroyed connections and they are now properly freed upon call to KineticClient_DestoryConnection().
* Fixed bug where some unrecoverable socket errors could cause retries when unintended.
* Modified PDU flow control in order not stall transmission on request PDUs when Value payload is empty or of small size.

v0.8.1 (kinetic-protocol 3.0.5)
-------------------------------
+1 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ PROJECT_NAME = kinetic-c
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER           = "v0.9.0"
PROJECT_NUMBER           = "v0.9.1"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Loading