예제 #1
0
def _check_full_value(expected):
    pull_state(key, value_len)
    actual = get_state(key, value_len)
    if actual != expected:
        msg = "Mismatch: actual {}, expected {})".format(actual, expected)
        print(msg)
        exit(1)
예제 #2
0
파일: test_state.py 프로젝트: faasm/pyfaasm
    def test_state_read_write(self):
        key = "pyStateTest"
        full_value = b'0123456789'
        set_state(key, full_value)
        push_state(key)

        expected_value_len = 10
        value_len = get_state_size(key)
        self.assertEqual(expected_value_len, value_len)

        # Read state back in
        pull_state(key, value_len)
        actual = get_state(key, value_len)

        # Check values as expected
        self.assertEqual(full_value, actual)

        # Update a segment
        segment = b'999'
        offset = 2
        segment_len = 3
        modified_value = b'0199956789'
        set_state_offset(key, value_len, offset, segment)

        # Push and pull
        push_state(key)
        pull_state(key, value_len)

        # Check full value as expected
        actual = get_state(key, value_len)
        self.assertEqual(modified_value, actual)

        # Check getting a segment
        actual_segment = get_state_offset(key, value_len, offset, segment_len)
        self.assertEqual(segment, actual_segment)
예제 #3
0
from pyfaasm.core import check_python_bindings
from pyfaasm.core import get_state, get_state_offset, set_state, set_state_offset, push_state, pull_state

# Initial check
check_python_bindings()

# Write and push state
key = "pyStateTest"
valueLen = 10
fullValue = b'0123456789'
set_state(key, fullValue)
push_state(key)

# Read state back in
pull_state(key, valueLen)
actual = get_state(key, valueLen)
print("In = {}  out = {}".format(fullValue, actual))

# Update a segment
segment = b'999'
offset = 2
segmentLen = 3
modifiedValue = b'0199956789'
set_state_offset(key, valueLen, offset, segment)
push_state(key)

pull_state(key, valueLen)
actual = get_state(key, valueLen)
actualSegment = get_state_offset(key, valueLen, offset, segmentLen)
print("Expected = {}  actual = {}".format(modifiedValue, actual))
print("Expected = {}  actual = {}".format(segment, actualSegment))