Web Analytics

手机做MODEM实现无线上网

前不久和一位售前同事到北京出差,途中在动车上看到他把本子连到Nokia手机上并通过手机上网。现如今通过手机上网也不是什么新鲜事,关键看是否需要。平时上班有公司网络,下班家里有宽带,路途中可通过手机直接浏览WAP站点,所以对于我这样的开发人员而言倒是没有特别充分的让本子通过做MODEM的手机上网的需求。 公司信息安全改造屏蔽了外部的许多站点,其中包括BLOGBUS,而且目前BUS不支持WAP浏览。这让我在白天闲暇时维护自己的博客成为了一件困难事,就这样我也有了通过手机MODEM实现电脑无线上网的需求。当然出差途中也可以通过这种方式处理一些紧急事件。 ...

August 30, 2009 · 3 min · Tony Bai

cmockery支持mock输出参数

近两天一有空就会去看看项目代码,思考一下如何利用cmockery对项目里已有的代码进行测试。项目代码中很多被调用的接口都带有输出参数,而且在这些接口中多利用返回值指示执行成败也否,而利用输出参数返回一些关键结果,这些结果值甚至影响着后续的函数执行流程。前期研究cmockery时没有注意到cmockery是否可以设置被mock接口的输出参数的值,不过回顾了一下cmockery实现的原理,觉得cmockery是应该可以支持的。遂重新翻看了一下cmockery的manual,发现在mock_query_database中确有对输出参数的mock调用,代码如下: // Mock query database function. unsigned int mock_query_database( DatabaseConnection* const connection, const char * const query_string, void *** const results) { *results = (void**)mock(); return (unsigned int)mock(); } void test_get_customer_id_by_name(void **state) { DatabaseConnection connection = { “somedatabase.somewhere.com”, 12345678, mock_query_database }; int customer_ids = 543; will_return(mock_query_database, &customer_ids); will_return(mock_query_database, 1); assert_int_equal(get_customer_id_by_name(&connection, “john doe”), 543); } ...

August 26, 2009 · 2 min · Tony Bai

C单元测试之使用cmockery

这么久以来一直没有找到一款很好的支持mock测试的C语言单元测试工具包,但前不久在一网友的评论中得知:去年Google曾发布了一款c语言的轻量级单元测试framework — “cmockery”,cmcokery很小巧,对其他开源包没有依赖,对被测试代码侵入性小;它支持mock test,同样也可以支持常规的单元测试。 之前在博客中曾描述过C语言实现mock的一个思路,不过和cmockery对比起来,当时我的思路显然还处于初级阶段,而cmockery则走到了更高级,使用起来也更为简便。 还是以我上一篇文章中的代码来举例,利用cmockery来对biz.c进行mock test。 应用层被测试代码不变: /* biz.h */ #ifndef BIZ_H #define BIZ_H ...

August 22, 2009 · 4 min · Tony Bai

分享一个Oracle OCI库的BUG

上周测试组反馈在一台HP X86-64主机Solaris 10 for X86环境下部署的应用无法连接Oracle数据库,错误码ORA-12154。而另外一个产品的部署在这台主机上的应用却能正常连接到数据库。本周安排专人对该问题进行查找,在先后排除了用户环境设置、Oracle数据库服务端等问题后,我们最终把目光集中在了Oracle客户端的OCI库上。 ...

July 31, 2009 · 2 min · Tony Bai

周末“捉虫”记

周六,对于上班族来说是多么好的日子,能在家里享受自由的无拘无束的生活而且不用担心第二天的工作,应该说是一周中最没有压力的一天。六点半起床,慢慢喝下一杯225ml左右的凉白开(保健医生说20-25摄氏度的凉白开比较适宜作为起床后的第一杯水),套上运动短裤和上衣,打开MP3播放器,塞上耳机,出门在园区内慢跑。昨晚下了一场雨,所以园区早上的空气很好。耳畔酷玩乐队的“Viva La Vida”让我跑起来很轻松,30分钟的有氧慢跑能让我的大脑和心脏获得足够的氧气,心情也变得更好。最后绕着园区走上一圈结束锻炼。 ...

July 18, 2009 · 4 min · Tony Bai

体检·SSH·Safari4

一年一度的公司福利体检结果刚刚出炉不久,与去年相比,我今年身体状况有些“不妙”:体重超重、血压有些偏高,另外谷丙转氨酶也略高于正常值。今天中午公司委托体检机构安排一名老医生给我们说说体检结果。老医生针对从全体员工体检结果中统计出的TOP3问题状况给出了具体的讲解和预防/缓解措施。这三个常见身体状况是:超重/肥胖、高血脂/血糖和脂肪肝,相信不仅我们公司的员工有这些问题,大多数做IT的人都或多或少有类似的情况。医生的讲解让在座的同事们不时发出“惊叹之声”。如何摆脱这些身体问题,老医生给了我们一个大家可能都熟知的“六字真经”:管住嘴,迈开腿。其实真经大家都知道,但是能否坚持做下去,这个却不是每个人都能肯定的。关于谷丙转氨酶略高的问题,医生的答复是:“可能与体检前一阶段的睡眠不好、压力过大等等有一定关系,问题不大。不放心可一段时间后去复查一下”。听了这番解释,我悬着的心才放了下来。 ...

July 17, 2009 · 3 min · Tony Bai

“牢骚”几句

饭否无法访问,Twitter也无法访问,不知道是否是被GOV和谐了,弄得我想“牢骚”几句都没有地方。 下午在家里“关门闭户”独自一人通过家庭影院重温了2007年上映的真人版“Transformers”以及一张花絮盘。虽然这部片子看过多次了,但是今天看起来依旧还是那么“起劲儿”。从花絮里看到了幕后电影制作人员努力和智慧,要知道仅仅一个擎天柱身上的零件就达到了10000多个,而且制作人员为了提高逼真度,每个重要的零件都是来摄自真实的汽车零件图片。 ...

July 12, 2009 · 2 min · Tony Bai

家中新绿

我们俩都不敢养真花,原因只有一个:怕养不活。但是上周还是没能抑制住心底对绿色植物的喜爱,用“不菲价格”购入了两盆“大家伙”。 花匠称其中的一盆花为“香牡丹”,我在网上搜了半天也没找到“香牡丹”这种花;还是LP发现这盆花与一种叫“栀子花”的形神俱似,而且查了一下栀子花的资料,发现栀子花又名“木丹”,“牡丹” vs. “木丹”,发音也接近^_^,姑且把它看作是小叶栀子花吧。这种花最大的特点就是“香”。刚放到屋子里就满屋飘香。而且现在正值其花期,几十个花骨朵是“你方唱罢我登场”,让人看起来甚是喜欢。 貌似“栀子花” ...

July 4, 2009 · 1 min · Tony Bai

成都行记

去九寨的必经路之一就是成都。公司在成都有分舵,位于风景秀丽的青城山上,但5.12地震时青城山毁坏严重,公司也受到了不小的损失。公司总部这边的很多人到过成都出差,凡去多的人都说成都不错:东西不贵,生活节奏慢,是个宜居城市。 乘国航班机从沈阳飞往成都,途中遇到气流较多,飞机颠簸的较为厉害,那些日子恰逢法航的空难震惊世界,心中恐惧不免油然而生,只能加大耳机的音量麻痹自己的恐惧神经^_^。还好,飞机有惊无险的顺利到达成都双流机场,下飞机后第一件事就是办理两张熊猫金卡。 ...

July 2, 2009 · 6 min · Tony Bai

走进九寨

工作这几年去过全国很多地方,名山秀水也见识了不少,但是心底依然时常涌动着一种向往,那就是到九寨沟看看。九寨沟之美想必大家也都有所耳闻,但耳闻不如亲历。这不我终于有机会达成这一夙愿了:和LP一起走进童话世界-九寨沟。 ...

June 24, 2009 · 7 min · Tony Bai