Add a very basic test and a CI config

This commit is contained in:
Zahary Karadjov 2019-08-14 17:33:14 +02:00
parent 463fb8addb
commit 5ef8130c79
No known key found for this signature in database
GPG Key ID: C8936F8A3073D609
3 changed files with 46 additions and 5 deletions

27
.travis.yml Normal file
View 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

View File

@ -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

View File

@ -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"]