• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang util.Must函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/eleme/banshee/util.Must函数的典型用法代码示例。如果您正苦于以下问题:Golang Must函数的具体用法?Golang Must怎么用?Golang Must使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了Must函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: TestPut

func TestPut(t *testing.T) {
	// Open db.
	fileName := "db-testing"
	opts := &Options{Period: 86400, Expiration: 86400 * 7}
	db, _ := Open(fileName, opts)
	defer os.RemoveAll(fileName)
	defer db.Close()
	// Put.
	m := &models.Metric{
		Name:    "foo",
		Link:    1,
		Stamp:   1452758773,
		Value:   3.14,
		Score:   0.1892,
		Average: 3.133,
	}
	err := db.Put(m)
	util.Must(t, err == nil)
	// Must in db
	key := encodeKey(m)
	value, err := db.pool[0].db.Get(key, nil)
	util.Must(t, err == nil)
	m1 := &models.Metric{
		Name:  m.Name,
		Stamp: m.Stamp,
		Link:  1,
	}
	err = decodeValue(value, m1)
	util.Must(t, err == nil)
	util.Must(t, reflect.DeepEqual(m, m1))
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:31,代码来源:db_test.go


示例2: TestStorageExpire

func TestStorageExpire(t *testing.T) {
	// Open db.
	fileName := "db-testing"
	opts := &Options{Period: 86400, Expiration: 86400 * 7}
	db, _ := Open(fileName, opts)
	defer os.RemoveAll(fileName)
	defer db.Close()
	// Force creating 7+1 storages.
	base := uint32(time.Now().Unix())
	db.Put(&EventWrapper{ID: "20160525155730.1", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base})                    // 0
	id := db.pool[0].id                                                                                                           // record the id to be deleted
	db.Put(&EventWrapper{ID: "20160525155730.2", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base + db.opts.Period*1}) // 1
	db.Put(&EventWrapper{ID: "20160525155730.3", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base + db.opts.Period*2}) // 2
	db.Put(&EventWrapper{ID: "20160525155730.4", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base + db.opts.Period*3}) // 3
	db.Put(&EventWrapper{ID: "20160525155730.5", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base + db.opts.Period*4}) // 4
	db.Put(&EventWrapper{ID: "20160525155730.6", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base + db.opts.Period*5}) // 5
	db.Put(&EventWrapper{ID: "20160525155730.7", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base + db.opts.Period*6}) // 6
	util.Must(t, len(db.pool) == 7)
	db.Put(&EventWrapper{ID: "20160525155730.8", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base + db.opts.Period*7}) // 7
	util.Must(t, len(db.pool) == 8)
	db.Put(&EventWrapper{ID: "20160525155730.9", RuleID: 1, ProjectID: 1, Level: 2, Name: "foo", Stamp: base + db.opts.Period*8}) // 8
	util.Must(t, len(db.pool) == 8)                                                                                               // Full storages: 1,2,3,4,5,6,7
	// Files must be deleted.
	deleteFileName := path.Join(fileName, strconv.FormatUint(uint64(id), 10))
	util.Must(t, !util.IsFileExist(deleteFileName))
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:26,代码来源:db_test.go


示例3: TestExampleConfigParsing

func TestExampleConfigParsing(t *testing.T) {
	c := New()
	err := c.UpdateWithYamlFile("./exampleConfig.yaml")
	util.Must(t, err == nil)
	defaults := New()
	util.Must(t, reflect.DeepEqual(c, defaults))
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:7,代码来源:config_test.go


示例4: TestOpen

func TestOpen(t *testing.T) {
	fileName := "db-testing"
	db, err := Open(fileName, nil)
	util.Must(t, err == nil)
	util.Must(t, util.IsFileExist(fileName))
	db.Close()
	os.RemoveAll(fileName)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:8,代码来源:db_test.go


示例5: TestOpenOptionsNil

func TestOpenOptionsNil(t *testing.T) {
	fileName := "db-testing"
	db, err := Open(fileName, nil)
	util.Must(t, err == nil)
	util.Must(t, util.IsFileExist(fileName))
	defer os.RemoveAll(fileName)
	defer db.Close()
	util.Must(t, len(db.pool) == 0) // should have nothing in pool..
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:9,代码来源:db_test.go


示例6: TestLoad

func TestLoad(t *testing.T) {
	fileName := "db-testing"
	db, _ := Open(fileName, nil)
	defer os.RemoveAll(fileName)
	defer db.Close()
	idx := &models.Index{Name: "foo", Stamp: 1450430839, Score: 0.7, Average: 78.5}
	// Add one
	db.Put(idx)
	util.Must(t, db.tr.Has(idx.Name))
	util.Must(t, idx.Link == 1) // the first link
	// Clear cache
	db.tr.Clear()
	db.idp.Clear()
	util.Must(t, db.tr.Len() == 0)
	util.Must(t, !db.tr.Has(idx.Name))
	// Reload
	db.load()
	// Must not empty and idx in cache
	util.Must(t, db.tr.Len() == 1)
	util.Must(t, db.tr.Has(idx.Name))
	t.Logf("idp len: %v", db.idp.Len())
	util.Must(t, db.idp.Len() == 1)
	// Get again.
	i, err := db.Get(idx.Name)
	util.Must(t, err == nil && i.Equal(idx))
	util.Must(t, i.Link == 1) // link should be correct
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:27,代码来源:db_test.go


示例7: TestEventGenerateID

func TestEventGenerateID(t *testing.T) {
	rule := &Rule{ID: 1}
	// Metric with the same name but different stamps.
	ev1 := NewEvent(&Metric{Name: "foo", Stamp: 1456815973}, nil, rule)
	ev2 := NewEvent(&Metric{Name: "foo", Stamp: 1456815974}, nil, rule)
	util.Must(t, ev1.ID != ev2.ID)
	// Metric with the same stamp but different names.
	ev1 = NewEvent(&Metric{Name: "foo", Stamp: 1456815973}, nil, rule)
	ev2 = NewEvent(&Metric{Name: "bar", Stamp: 1456815973}, nil, rule)
	util.Must(t, ev1.ID != ev2.ID)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:11,代码来源:event_test.go


示例8: TestClear

func TestClear(t *testing.T) {
	tr := New()
	// Case simple.
	tr.Put("a.b.c.d", 4)
	tr.Put("a.b.c.d.e", 5)
	tr.Put("a.b.c.d.e.f", 6)
	util.Must(t, tr.Len() == 3)
	tr.Clear()
	util.Must(t, tr.Len() == 0)
	util.Must(t, !tr.Has("a.b.c.d"))
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:11,代码来源:trie_test.go


示例9: TestPickTrendingFactor

func TestPickTrendingFactor(t *testing.T) {
	cfg := config.New()
	d := &Detector{cfg: cfg}
	rules := []*models.Rule{
		&models.Rule{Level: models.RuleLevelLow},
	}
	util.Must(t, d.pickTrendingFactor(rules) == cfg.Detector.TrendingFactorLowLevel)
	rules = append(rules, &models.Rule{Level: models.RuleLevelMiddle})
	util.Must(t, d.pickTrendingFactor(rules) == cfg.Detector.TrendingFactorMiddleLevel)
	rules = append(rules, &models.Rule{Level: models.RuleLevelHigh})
	util.Must(t, d.pickTrendingFactor(rules) == cfg.Detector.TrendingFactorHighLevel)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:12,代码来源:detector_test.go


示例10: TestDelete

func TestDelete(t *testing.T) {
	// Open db.
	fileName := "db-testing"
	db, _ := Open(fileName, nil)
	defer os.RemoveAll(fileName)
	defer db.Close()
	// Add one.
	idx := &models.Index{Name: "foo", Stamp: 1450430837, Score: 0.3, Average: 100}
	db.Put(idx)
	// Must in cache.
	util.Must(t, db.tr.Has(idx.Name))
	util.Must(t, db.idp.Len() == 1)
	util.Must(t, idx.Link == 1)
	// Delete it.
	err := db.Delete(idx.Name)
	util.Must(t, err == nil)
	// Must not exist in cache
	util.Must(t, !db.tr.Has(idx.Name))
	// Must not in db.
	_, err = db.db.Get([]byte(idx.Name), nil)
	util.Must(t, err == leveldb.ErrNotFound)
	// Must not in link pool.
	util.Must(t, db.idp.Len() == 0)
	// Cant get again.
	_, err = db.Get(idx.Name)
	util.Must(t, ErrNotFound == err)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:27,代码来源:db_test.go


示例11: TestMap

func TestMap(t *testing.T) {
	tr := New()
	// Case empty.
	util.Must(t, len(tr.Map()) == 0)
	// Case simple.
	tr.Put("a.b.c.d", 41)
	tr.Put("a.b.c.d.e", 51)
	tr.Put("a.b.c.d.e.f", 61)
	m := tr.Map()
	util.Must(t, len(m) == 3)
	util.Must(t, m["a.b.c.d"].(int) == 41)
	util.Must(t, m["a.b.c.d.e"].(int) == 51)
	util.Must(t, m["a.b.c.d.e.f"].(int) == 61)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:14,代码来源:trie_test.go


示例12: TestOpenInit

func TestOpenInit(t *testing.T) {
	fileName := "db-testing"
	opts := &Options{Period: 86400, Expiration: 86400 * 7}
	db, err := Open(fileName, opts)
	util.Must(t, err == nil)
	defer os.RemoveAll(fileName)
	stamp := uint32(time.Now().Unix())
	db.Put(&EventWrapper{Stamp: stamp})
	db.Close()
	// Reopen.
	db, err = Open(fileName, opts)
	util.Must(t, err == nil)
	util.Must(t, len(db.pool) == 1) // should have one storage
	util.Must(t, db.pool[0].id*db.opts.Period <= stamp)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:15,代码来源:db_test.go


示例13: TestLoadExpired

func TestLoadExpired(t *testing.T) {
	fileName := "db-testing"
	opts := &Options{86400 * 7}
	db, _ := Open(fileName, opts)
	defer os.RemoveAll(fileName)
	defer db.Close()
	idx := &models.Index{Name: "foo", Stamp: 1450430839, Score: 0.7, Average: 78.5}
	db.Put(idx)
	// Clear cache
	db.tr.Clear()
	db.idp.Clear()
	db.load()
	util.Must(t, db.tr.Len() == 0)
	util.Must(t, !db.tr.Has(idx.Name))
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:15,代码来源:db_test.go


示例14: TestFilter

func TestFilter(t *testing.T) {
	// Open db.
	fileName := "db-testing"
	db, _ := Open(fileName, nil)
	defer os.RemoveAll(fileName)
	defer db.Close()
	// Add indexes.
	excludeName := "a.b.c.d.e.f"
	db.Put(&models.Index{Name: "a.b.c.e.f.g"})
	db.Put(&models.Index{Name: "a.b.c.d.f.g"})
	db.Put(&models.Index{Name: excludeName})
	// Filter
	l := db.Filter("a.b.c.*.f.*")
	util.Must(t, len(l) == 2)
	util.Must(t, l[0].Name != excludeName && l[1].Name != excludeName)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:16,代码来源:db_test.go


示例15: TestEventTranslateRuleComment

func TestEventTranslateRuleComment(t *testing.T) {
	m := &Metric{Name: "timer.count_ps.foo.bar"}
	r := &Rule{Pattern: "timer.count_ps.*.*", Comment: "$1 and $2 timing"}
	ev := &Event{Metric: m, Rule: r}
	excepted := "foo and bar timing"
	util.Must(t, ev.TranslateRuleComment() == excepted)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:7,代码来源:event_test.go


示例16: TestEventTranslateRuleCommentNoVariables

func TestEventTranslateRuleCommentNoVariables(t *testing.T) {
	m := &Metric{Name: "foo.bar"}
	r := &Rule{Pattern: "foo.*", Comment: "no variables"}
	ev := &Event{Metric: m, Rule: r}
	excepted := "no variables"
	util.Must(t, ev.TranslateRuleComment() == excepted)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:7,代码来源:event_test.go


示例17: TestFill0Issue470

func TestFill0Issue470(t *testing.T) {
	// Case https://github.com/eleme/banshee/issues/470
	cfg := config.New()
	d := &Detector{cfg: cfg}
	ms := []*models.Metric{
		&models.Metric{Stamp: 80, Value: 80},
		&models.Metric{Stamp: 90, Value: 90},
		&models.Metric{Stamp: 120, Value: 120},
	}
	start, stop := uint32(60), uint32(150)
	excepted := []float64{80, 90, 0, 0, 120, 0, 0}
	actually := d.fill0(ms, start, stop)
	util.Must(t, len(actually) == len(excepted))
	for i := 0; i < len(excepted); i++ {
		util.Must(t, excepted[i] == actually[i])
	}
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:17,代码来源:detector_test.go


示例18: TestGet

func TestGet(t *testing.T) {
	// Open db.
	fileName := "db-testing"
	db, _ := Open(fileName, nil)
	defer os.RemoveAll(fileName)
	defer db.Close()
	// Not found.
	_, err := db.Get("Not-exist")
	util.Must(t, ErrNotFound == err)
	// Put one.
	idx := &models.Index{Name: "foo", Stamp: 1450430837, Score: 0.3, Average: 100}
	db.Put(idx)
	// Get it from cache.
	i, err := db.Get(idx.Name)
	util.Must(t, nil == err)
	util.Must(t, i.Equal(idx))
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:17,代码来源:db_test.go


示例19: TestInit

func TestInit(t *testing.T) {
	fileName := "db-testing"
	db, _ := Open(fileName)
	defer db.Close()
	defer os.RemoveAll(fileName)
	rule1 := &models.Rule{Pattern: "a.b.*"}
	rule2 := &models.Rule{Pattern: "a.b.*.c"}
	rule3 := &models.Rule{Pattern: "a.*.c.d"}
	// Add to db.
	db.DB().Create(rule1)
	db.DB().Create(rule2)
	db.DB().Create(rule3)
	// Clear cache.
	db.RulesCache.rules.Clear()
	// Reload
	util.Must(t, nil == db.RulesCache.Init(db.DB()))
	// Get rule
	r1, ok := db.RulesCache.Get(rule1.ID)
	util.Must(t, ok)
	util.Must(t, r1.Pattern == rule1.Pattern)
	r2, ok := db.RulesCache.Get(rule2.ID)
	util.Must(t, ok)
	util.Must(t, r2.Pattern == rule2.Pattern)
	r3, ok := db.RulesCache.Get(rule3.ID)
	util.Must(t, ok)
	util.Must(t, r3.Pattern == rule3.Pattern)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:27,代码来源:cache_test.go


示例20: TestGetAcrossStorages

func TestGetAcrossStorages(t *testing.T) {
	// Open db.
	fileName := "db-testing"
	opts := &Options{Period: 86400, Expiration: 86400 * 4}
	db, _ := Open(fileName, opts)
	defer os.RemoveAll(fileName)
	defer db.Close()
	// Force creating 4+1 storages.
	base := uint32(time.Now().Unix())
	db.Put(&models.Metric{Link: 1, Stamp: base})                    // 0
	db.Put(&models.Metric{Link: 1, Stamp: base + db.opts.Period*1}) // 1
	db.Put(&models.Metric{Link: 1, Stamp: base + db.opts.Period*2}) // 2
	db.Put(&models.Metric{Link: 1, Stamp: base + db.opts.Period*3}) // 3
	db.Put(&models.Metric{Link: 1, Stamp: base + db.opts.Period*4}) // 4
	// Get
	ms, err := db.Get("whatever", 1, base, base+db.opts.Period*3)
	util.Must(t, err == nil)
	util.Must(t, len(ms) == 3)
	util.Must(t, ms[0].Stamp == base)
	util.Must(t, ms[1].Stamp == base+db.opts.Period*1)
	util.Must(t, ms[2].Stamp == base+db.opts.Period*2)
}
开发者ID:yujinqiu,项目名称:banshee,代码行数:22,代码来源:db_test.go



注:本文中的github.com/eleme/banshee/util.Must函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang assert.Ok函数代码示例发布时间:2022-05-23
下一篇:
Golang models.Metric类代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap