mirror of
https://github.com/status-im/nim-serialization.git
synced 2025-01-11 12:24:32 +00:00
Add a very basic test and a CI config
This commit is contained in:
parent
463fb8addb
commit
5ef8130c79
27
.travis.yml
Normal file
27
.travis.yml
Normal file
@ -0,0 +1,27 @@
|
||||
language: c
|
||||
|
||||
# https://docs.travis-ci.com/user/caching/
|
||||
cache:
|
||||
directories:
|
||||
- NimBinaries
|
||||
|
||||
git:
|
||||
# when multiple CI builds are queued, the tested commit needs to be in the last X commits cloned with "--depth X"
|
||||
depth: 10
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
install:
|
||||
# build nim from our own branch - this to avoid the day-to-day churn and
|
||||
# regressions of the fast-paced Nim development while maintaining the
|
||||
# flexibility to apply patches
|
||||
- curl -O -L -s -S https://raw.githubusercontent.com/status-im/nimbus/devel/build_nim.sh
|
||||
- env MAKE="make -j2" bash build_nim.sh Nim csources dist/nimble NimBinaries
|
||||
- export PATH=$PWD/Nim/bin:$PATH
|
||||
|
||||
script:
|
||||
- nimble install -y
|
||||
- nimble test
|
||||
|
@ -69,11 +69,7 @@ type
|
||||
AnonTuple* = (int, string, float64)
|
||||
|
||||
AbcTuple* = tuple[a: int, b: string, c: float64]
|
||||
|
||||
XyzTuple* = tuple
|
||||
x*: int
|
||||
y*: string
|
||||
z*: float64
|
||||
XyzTuple* = tuple[x: int, y: string, z: float64]
|
||||
|
||||
HoldsTuples* = object
|
||||
t1*: AnonTuple
|
||||
|
@ -1,4 +1,22 @@
|
||||
import
|
||||
typetraits, unittest,
|
||||
stew/shims/macros,
|
||||
../serialization/object_serialization,
|
||||
../serialization/testing/generic_suite
|
||||
|
||||
suite "object serialization":
|
||||
setup:
|
||||
var fieldsList = newSeq[string]()
|
||||
|
||||
test "custom fields order":
|
||||
enumAllSerializedFields(Simple):
|
||||
fieldsList.add(name(FieldType) & " " & fieldName & fieldCaseDisciminator)
|
||||
|
||||
check fieldsList == @["Meter distance", "int x", "string y"]
|
||||
|
||||
test "tuples handling":
|
||||
enumAllSerializedFields(HoldsTuples):
|
||||
fieldsList.add(fieldName & ": " & $isTuple(FieldType))
|
||||
|
||||
check fieldsList == @["t1: true", "t2: true", "t3: true"]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user