summaryrefslogtreecommitdiff
path: root/ext/librethinkdbxx/test/upstream/regression/3745.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'ext/librethinkdbxx/test/upstream/regression/3745.yaml')
-rw-r--r--ext/librethinkdbxx/test/upstream/regression/3745.yaml17
1 files changed, 17 insertions, 0 deletions
diff --git a/ext/librethinkdbxx/test/upstream/regression/3745.yaml b/ext/librethinkdbxx/test/upstream/regression/3745.yaml
new file mode 100644
index 00000000..3466412b
--- /dev/null
+++ b/ext/librethinkdbxx/test/upstream/regression/3745.yaml
@@ -0,0 +1,17 @@
+desc: Test that we do not crash on an error during a function called at unsharding
+table_variable_name: tbl
+tests:
+ - cd: tbl.insert([ {'id':0, 'a':5}, {'id':1, 'a':6} ])
+ ot: partial({'inserted':2})
+
+ # Test bare reduce
+ - rb: tbl.reduce{|x,y| r.object('a', r.add(x['a'], y['a']))}
+ py: tbl.reduce(lambda x,y:r.object('a', r.add(x['a'], y['a'])))
+ js: tbl.reduce(function(x,y){return r.object('a', r.add(x('a'), y('a')));})
+ ot: ({'a':11})
+
+ # Test reduce with a function that errors
+ - rb: tbl.reduce{|x,y| r.expr(0)[0]}
+ py: tbl.reduce(lambda x,y:r.expr(0)[0])
+ js: tbl.reduce(function(x,y){return r.expr(0)(0);})
+ ot: err('ReqlQueryLogicError','Cannot convert NUMBER to SEQUENCE')