Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: go/src/infra/gae/libs/wrapper/memory/datastore_test.go

Issue 1159343002: Fix tests to run on 32 bits. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package memory 5 package memory
6 6
7 import ( 7 import (
8 "fmt" 8 "fmt"
9 "infra/gae/libs/meta" 9 "infra/gae/libs/meta"
10 "infra/gae/libs/wrapper" 10 "infra/gae/libs/wrapper"
11 "math"
11 "testing" 12 "testing"
12 13
13 . "github.com/smartystreets/goconvey/convey" 14 . "github.com/smartystreets/goconvey/convey"
14 "golang.org/x/net/context" 15 "golang.org/x/net/context"
15 16
16 "appengine/datastore" 17 "appengine/datastore"
17 ) 18 )
18 19
19 func TestDatastoreKinder(t *testing.T) { 20 func TestDatastoreKinder(t *testing.T) {
20 t.Parallel() 21 t.Parallel()
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 }) 519 })
519 }) 520 })
520 }) 521 })
521 }) 522 })
522 523
523 }) 524 })
524 } 525 }
525 526
526 const MaxUint = ^uint(0) 527 const MaxUint = ^uint(0)
527 const MaxInt = int(MaxUint >> 1) 528 const MaxInt = int(MaxUint >> 1)
529 const IntIs32Bits = MaxInt < math.MaxInt64
528 530
529 func TestDatastoreQueryer(t *testing.T) { 531 func TestDatastoreQueryer(t *testing.T) {
530 Convey("Datastore Query suport", t, func() { 532 Convey("Datastore Query suport", t, func() {
531 c := Use(context.Background()) 533 c := Use(context.Background())
532 ds := wrapper.GetDS(c) 534 ds := wrapper.GetDS(c)
533 So(ds, ShouldNotBeNil) 535 So(ds, ShouldNotBeNil)
534 536
535 Convey("can create good queries", func() { 537 Convey("can create good queries", func() {
536 q := ds.NewQuery("Foo").KeysOnly().Limit(10).Offset(39) 538 q := ds.NewQuery("Foo").KeysOnly().Limit(10).Offset(39)
537 q = q.Start(queryCursor("kosmik")).End(queryCursor("krab s")) 539 q = q.Start(queryCursor("kosmik")).End(queryCursor("krab s"))
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
589 }) 591 })
590 Convey("bad order", func() { 592 Convey("bad order", func() {
591 q := q.Order("+Bob") 593 q := q.Order("+Bob")
592 So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "invalid order") 594 So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "invalid order")
593 }) 595 })
594 Convey("empty", func() { 596 Convey("empty", func() {
595 q := q.Order("") 597 q := q.Order("")
596 So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "empty order") 598 So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "empty order")
597 }) 599 })
598 Convey("OOB limit", func() { 600 Convey("OOB limit", func() {
599 » » » » q := q.Limit(MaxInt) 601 » » » » // this is supremely stupid. The SDK uses 'int' which measn we have to
M-A Ruel 2015/06/01 13:08:20 means
600 » » » » So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "query limit overflow") 602 » » » » // use it too, but then THEY BOUNDS CHECK IT FOR 32 BITS... *sigh*
M-A Ruel 2015/06/01 13:08:19 bah, 2 millions items is large. it's probably more
603 » » » » if !IntIs32Bits {
604 » » » » » q := q.Limit(MaxInt)
605 » » » » » So(q.(*queryImpl).err.Error(), ShouldCon tainSubstring, "query limit overflow")
606 » » » » }
601 }) 607 })
602 Convey("underflow offset", func() { 608 Convey("underflow offset", func() {
603 q := q.Offset(-29) 609 q := q.Offset(-29)
604 So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "negative query offset") 610 So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "negative query offset")
605 }) 611 })
606 Convey("OOB offset", func() { 612 Convey("OOB offset", func() {
607 » » » » q := q.Offset(MaxInt) 613 » » » » if !IntIs32Bits {
608 » » » » So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "query offset overflow") 614 » » » » » q := q.Offset(MaxInt)
615 » » » » » So(q.(*queryImpl).err.Error(), ShouldCon tainSubstring, "query offset overflow")
616 » » » » }
609 }) 617 })
610 Convey("Bad cursors", func() { 618 Convey("Bad cursors", func() {
611 q := q.Start(queryCursor("")).End(queryCursor("" )) 619 q := q.Start(queryCursor("")).End(queryCursor("" ))
612 So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "invalid cursor") 620 So(q.(*queryImpl).err.Error(), ShouldContainSubs tring, "invalid cursor")
613 }) 621 })
614 Convey("Bad ancestors", func() { 622 Convey("Bad ancestors", func() {
615 q := q.Ancestor(ds.NewKey("Goop", "wat", 10, nil )) 623 q := q.Ancestor(ds.NewKey("Goop", "wat", 10, nil ))
616 So(q, ShouldNotBeNil) 624 So(q, ShouldNotBeNil)
617 qi := q.(*queryImpl).checkCorrectness("", false) 625 qi := q.(*queryImpl).checkCorrectness("", false)
618 So(qi.err, ShouldEqual, datastore.ErrInvalidKey) 626 So(qi.err, ShouldEqual, datastore.ErrInvalidKey)
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 }) 673 })
666 Convey("kindless with decending-__key__ orders", func() { 674 Convey("kindless with decending-__key__ orders", func() {
667 q := ds.NewQuery("").Order("-__key__") 675 q := ds.NewQuery("").Order("-__key__")
668 qi := q.(*queryImpl).checkCorrectness("", false) 676 qi := q.(*queryImpl).checkCorrectness("", false)
669 So(qi.err.Error(), ShouldContainSubstring, "kind is required for all orders") 677 So(qi.err.Error(), ShouldContainSubstring, "kind is required for all orders")
670 }) 678 })
671 }) 679 })
672 680
673 }) 681 })
674 } 682 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698