游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

GO语言(十八)模糊测试入门(下)

  修复错误
  Reverse为了解决这个问题,如果输入不是有效的UTF8,让我们返回一个错误。
  1、编写代码
  a。在您的文本编辑器中,将现有Reverse函数替换为以下内容。funcReverse(sstring)(string,error){if!utf8。ValidString(s){returns,errors。New(inputisnotvalidUTF8)}r:〔〕rune(s)fori,j:0,len(r)1;ilen(r)2;i,ji1,j1{r〔i〕,r〔j〕r〔j〕,r〔i〕}returnstring(r),nil}
  如果输入字符串包含无效的UTF8字符,此更改将返回错误。
  b。由于Reverse函数现在返回错误,因此修改main函数以丢弃额外的错误值。将现有main功能替换为以下内容。funcmain(){input:Thequickbrownfoxjumpedoverthelazydogrev,revErr:Reverse(input)doubleRev,doubleRevErr:Reverse(rev)fmt。Printf(original:q,input)fmt。Printf(reversed:q,err:v,rev,revErr)fmt。Printf(reversedagain:q,err:v,doubleRev,doubleRevErr)}
  这些调用Reverse应该返回一个nil错误,因为输入字符串是有效的UTF8。
  c。您将需要导入错误和unicodeutf8包。main。go中的import语句应如下所示。import(errorsfmtunicodeutf8)
  d。修改reversetest。go文件检查是否有错误,如果返回产生错误则跳过测试。funcFuzzReverse(ftesting。F){testcases:〔〕string{Hello,world,,!12345}for,tc:rangetestcases{f。Add(tc)Usef。Addtoprovideaseedcorpus}f。Fuzz(func(ttesting。T,origstring){rev,err1:Reverse(orig)iferr1!nil{return}doubleRev,err2:Reverse(rev)iferr2!nil{return}iforig!doubleRev{t。Errorf(Before:q,after:q,orig,doubleRev)}ifutf8。ValidString(orig)!utf8。ValidString(rev){t。Errorf(ReverseproducedinvalidUTF8stringq,rev)}})}
  除了返回之外,您还可以调用t。Skip()以停止执行该模糊输入。
  2、运行代码
  a。使用gotest运行测试gotestPASSokexamplefuzz0。019s
  b。使用gotestfuzzFuzz进行模糊测试,几秒钟后,停止用ctrlC模糊测试。gotestfuzzFuzzfuzz:elapsed:0s,gatheringbaselinecoverage:038completedfuzz:elapsed:0s,gatheringbaselinecoverage:3838completed,nowfuzzingwith4workersfuzz:elapsed:3s,execs:86342(28778sec),newinteresting:2(total:35)fuzz:elapsed:6s,execs:193490(35714sec),newinteresting:4(total:37)fuzz:elapsed:9s,execs:304390(36961sec),newinteresting:4(total:37)。。。fuzz:elapsed:3m45s,execs:7246222(32357sec),newinteresting:8(total:41)Cfuzz:elapsed:3m48s,execs:7335316(31648sec),newinteresting:8(total:41)PASSokexamplefuzz228。000s
  除非您通过fuzztime标志进行限制,否则模糊测试将一直运行,直到遇到失败的输入。如果没有发生故障,默认是永远运行,并且可以使用中断该过程ctrlC。
  c。使用gotestfuzzFuzzfuzztime30s。如果没有30秒发现失败,它会在退出模糊测试。gotestfuzzFuzzfuzztime30sfuzz:elapsed:0s,gatheringbaselinecoverage:05completedfuzz:elapsed:0s,gatheringbaselinecoverage:55completed,nowfuzzingwith4workersfuzz:elapsed:3s,execs:80290(26763sec),newinteresting:12(total:12)fuzz:elapsed:6s,execs:210803(43501sec),newinteresting:14(total:14)fuzz:elapsed:9s,execs:292882(27360sec),newinteresting:14(total:14)fuzz:elapsed:12s,execs:371872(26329sec),newinteresting:14(total:14)fuzz:elapsed:15s,execs:517169(48433sec),newinteresting:15(total:15)fuzz:elapsed:18s,execs:663276(48699sec),newinteresting:15(total:15)fuzz:elapsed:21s,execs:771698(36143sec),newinteresting:15(total:15)fuzz:elapsed:24s,execs:924768(50990sec),newinteresting:16(total:16)fuzz:elapsed:27s,execs:1082025(52427sec),newinteresting:17(total:17)fuzz:elapsed:30s,execs:1172817(30281sec),newinteresting:17(total:17)fuzz:elapsed:31s,execs:1172817(0sec),newinteresting:17(total:17)PASSokexamplefuzz31。025s
  模糊测试通过了!
  结论
  做得很好!您刚刚学习了在Go中进行模糊测试。
  完成的代码
  main。gopackagemainimport(errorsfmtunicodeutf8)funcmain(){input:Thequickbrownfoxjumpedoverthelazydogrev,revErr:Reverse(input)doubleRev,doubleRevErr:Reverse(rev)fmt。Printf(original:q,input)fmt。Printf(reversed:q,err:v,rev,revErr)fmt。Printf(reversedagain:q,err:v,doubleRev,doubleRevErr)}funcReverse(sstring)(string,error){if!utf8。ValidString(s){returns,errors。New(inputisnotvalidUTF8)}r:〔〕rune(s)fori,j:0,len(r)1;ilen(r)2;i,ji1,j1{r〔i〕,r〔j〕r〔j〕,r〔i〕}returnstring(r),nil}
  reversetest。gopackagemainimport(testingunicodeutf8)funcFuzzReverse(ftesting。F){testcases:〔〕string{Hello,world,,!12345}for,tc:rangetestcases{f。Add(tc)Usef。Addtoprovideaseedcorpus}f。Fuzz(func(ttesting。T,origstring){rev,err1:Reverse(orig)iferr1!nil{return}doubleRev,err2:Reverse(rev)iferr2!nil{return}iforig!doubleRev{t。Errorf(Before:q,after:q,orig,doubleRev)}ifutf8。ValidString(orig)!utf8。ValidString(rev){t。Errorf(ReverseproducedinvalidUTF8stringq,rev)}})}

拜登中国已经领先,不能让他们赢,我们得快点行动编辑:拾遗随着中国崛起,世界越来越看到中国实力,近日,美国总统拜登指出,中国已经在电动汽车领域上领先,作为汽车工业的未来发展电动汽车势在必行,我们不能让他(中国)赢。拜登……豪掷187亿!台积电隔空叫板中芯国际,中国院士的观点要重视全球芯片荒的加剧让芯片代工行业再次火热起来,就连一向高冷的英特尔都按捺不住,放下身段宣布进军芯片代工领域,与台积电、三星等代工巨头抢饭碗。虽然英特尔的营收规模远超台积电,……苹果不卖手机林氏木业不卖家具他们出售的是生活方式撰文蓝科技已故苹果创始人乔布斯并不喜欢别人说苹果是卖手机的。乔布斯解释说,苹果不是卖手机的,而是ios操作系统。如今的苹果手机早已成为了时尚和技术前沿的符号,成为了……橙心优选,回归初心,进行市场下沉,社区团购洗牌已经开始了在上几期的文章中,赤焰信息跟大家谈到了橙心优选内部组织大调整的消息。橙心优选作为滴滴旗下的社区团购平台,早期也传出橙心优选将独立业务,在不依靠滴滴的基础上,进行自主生存和……Win7如何防止流氓软件自动安装?当我们使用Win7系统安装软件时,通常会遇到捆绑安装的软件。如果您不小心遇到了将自动安装的大量流氓软件,那么我应该如何防止这个问题?让我们来看看小编的解决方案。Win7可……一文带你了解教育智能投影机如何选教育投影机,作为教学场景的一部分,说重要也重要,说不重要也不重要。因为首先它属于外在条件,而学习的本质还是主动探索了解,有兴趣才会有持久的收获。不过话又说回来,事物之间是……英特尔被AMD逼的不再挤牙膏,8寸掌上游戏本也升级i7119GPDWINMax又升级intel11代i71195g7处理器了!为什么要说又呢?这得从老版WINMax说起,去年GPD推出的WinMax,由于采用8英寸屏的迷你笔记本电……进行数字货币交易如何防止被冻卡我们进行数字货币交易后,可能会把数字货币换成普通的法币,因为法币可以用来购物和买现实世界中的资产。但是,如果你提现时在不法商家进行提现,就会被冻结银行卡,直到涉及到的案件解决为……再过30年,中国会不会发展成为芯片制造业强国?为什么?根据高铁2035年要修到台北的国家规划,在此之前,半导体世界领先企业台积电肯定也收回来了。按这个速度计算,用不了30年,十几年就达到了世界先进水平。现在,在半导体产量和技……扫黑资源泄露,暴露出了演员的问题最近,扫黑风暴被泄露相信大多数人已经看过全集了,不少人都幸灾乐祸的看着腾讯‘亏本’。其实吧,大家不是忍受不了来会员,毕竟人家购买版权也需要成本,会员费相比于外国也还算很便……电子黑板极速云发布新版本电子黑板极速云新版本发布,优化开关机时间,解决键盘依赖、断网使用等问题。电子黑板同一块面积既实现普通黑板的粉笔书写功能,也提供了高清显示和互动触控,包含播放教学课件、视频……北美首款!LucidAir官宣首款电动车搭载激光雷达近日,美国高端豪华电动车品牌LucidGroup宣布将推出Air系列电动轿车,LucidAir将成为北美市场首款搭载激光雷达的量产车型,通过搭载DreamDrive驾驶辅助系统……
邀请媒体,邀请记者专访企业领导如何做媒体专访,是非常适合想要打造品牌口碑的企业的。围绕企业的领导,企业的发展讲述企业的故事,增加企业在大众心中的好感。对企业品牌知名度的扩大和形象的提升都会具有非常积极的作用。……有翡剧照曝光孙坚首演反派眼神深邃执念复仇星关系10月31日讯近日,根据Priest原创小说《有匪》改编,由赵丽颖、王一博、张慧雯、孙坚等主演的古装武侠剧《有翡》首次曝光了剧照。剧照中,孙坚高束发髻,眼神坚毅手持兵器,……新世界波谲云诡张经伟搭档张鲁一再度追击万茜星关系1月13日讯1月13日起,由徐兵编剧并执导,孙红雷、张鲁一、万茜、尹昉领衔主演,李纯、胡静、秦汉、张经伟等实力演员倾情加盟的《新世界》将在东方卫视、北京卫视晚间播出。《新……世界杯联盟式橄榄球赛RLWC视觉形象设计世界杯联盟式橄榄球赛(RugbyLeagueWorldCup)始于1954年,是代表联盟式橄榄球运动最高水平的顶级赛事,现每四年举办一届。第十六届将于2021年10月23日至1……有种随份子叫李易峰,参加军队集体婚礼被催婚,三千签名照请就位星关系12月30日讯12月28日,火箭军常规导弹第一旅集体婚礼如期举办。正在拍摄《号手就位》的李易峰,因在剧中饰演火箭军军人夏拙,也来到现场给战友们送祝福。在婚礼现场,李……4。9S破百,综合油耗1。25L的中型SUV,瑞虎8PLUS汽油车向新能源车发展转型,是大势所趋,国家政策激励引导,各大主机厂也在纷纷投入、研发、产出旗下新能源车型,都是为了日后能在新能源市场分一杯羹。奇瑞一直被称为自主品牌中的技术研发……小米推出24。5英寸240Hz显示器,预售价1599元本文转自:IT之家作者:汪淼据IT之家网友HNwwa投稿,小米有品近日上架了一款小米快速液晶显示器,采用24。5英寸1080p分辨率240Hz屏,预售到手价1599元。……揭秘我国首批中国航天员这精神让一众网友钦佩据央视新闻报道称,他是首批中国航天员为圆梦已坚守23年,其就是邓清明。1998年,邓清明入选我国首批航天员。做过神九神十神十一备份的他,保持着与主份航天员一样的训练内容和……蓝盈莹直面回应不是女主脸每个人都是自己生命的主角星关系12月26日讯电视剧《精英律师》正在热播中,剧中蓝盈莹饰演法律天才、过目不忘的律师助理戴曦,很多法律条文她都能脱口而出,堪称人形法条机。近期,她接受媒体专访,关于配音与口……爱情公寓5新预告曝贤菲婚礼最终季有情人终成眷属星关系12月23日讯今日,由北京爱奇艺科技有限公司、华策克顿旗下辛迪加影视出品,韦正执导,娄艺潇、李佳航、孙艺洲、李金铭领衔主演,张一铎、成果、万籽麟主演,陈赫特别出演的都市喜……爱情公寓5预告片来袭十年终章追忆最初的你我星关系12月23日讯由华策克顿旗下辛迪加影视、北京爱奇艺科技有限公司联合出品,由韦正执导,娄艺潇、李佳航、孙艺洲、李金铭领衔主演,张一铎、成果、万籽麟主演,陈赫特别出演的都市喜……司机怀疑是碰瓷,小学生却鞠躬回报暖心!敬个礼、鞠个躬小小的动作却能暖化人心!下面的故事也许就发生在你身边,这些故事告诉我们,感恩之心,无论如何表达,都能滋润心灵,美好世界。这些故事似乎也表明,孩子、老人比成日……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网