[Gluster-devel] Cmockery2 in GlusterFS

Lalatendu Mohanty lmohanty at redhat.com
Tue Jul 22 06:23:03 UTC 2014


On 07/21/2014 10:48 PM, Harshavardhana wrote:
> Cmockery2 is a hard dependency before GlusterFS can be compiled in
> upstream master now - we could make it conditional
> and enable if necessary? since we know we do not have the cmockery2
> packages available on all systems?

+1, we need to make it conditional and enable it if necessary.  I am 
also not sure if we have "cmockery2-devel" in el5, el6. If not Build 
will fail.

> On Mon, Jul 21, 2014 at 10:16 AM, Luis Pabon <lpabon at redhat.com> wrote:
>> Niels you are correct. Let me take a look.
>>
>> Luis
>>
>>
>> -----Original Message-----
>> From: Niels de Vos [ndevos at redhat.com]
>> Received: Monday, 21 Jul 2014, 10:41AM
>> To: Luis Pabon [lpabon at redhat.com]
>> CC: Anders Blomdell [anders.blomdell at control.lth.se];
>> gluster-devel at gluster.org
>> Subject: Re: [Gluster-devel] Cmockery2 in GlusterFS
>>
>>
>> On Mon, Jul 21, 2014 at 04:27:18PM +0200, Anders Blomdell wrote:
>>> On 2014-07-21 16:17, Anders Blomdell wrote:
>>>> On 2014-07-20 16:01, Niels de Vos wrote:
>>>>> On Fri, Jul 18, 2014 at 02:52:18PM -0400, Luis Pabón wrote:
>>>>>> Hi all,
>>>>>>      A few months ago, the unit test framework based on cmockery2 was
>>>>>> in the repo for a little while, then removed while we improved the
>>>>>> packaging method.  Now support for cmockery2 (
>>>>>> http://review.gluster.org/#/c/7538/ ) has been merged into the repo
>>>>>> again.  This will most likely require you to install cmockery2 on
>>>>>> your development systems by doing the following:
>>>>>>
>>>>>> * Fedora/EPEL:
>>>>>> $ sudo yum -y install cmockery2-devel
>>>>>>
>>>>>> * All other systems please visit the following page:
>>>>>> https://github.com/lpabon/cmockery2/blob/master/doc/usage.md#installation
>>>>>>
>>>>>> Here is also some information about Cmockery2 and how to use it:
>>>>>>
>>>>>> * Introduction to Unit Tests in C Presentation:
>>>>>> http://slides-lpabon.rhcloud.com/feb24_glusterfs_unittest.html#/
>>>>>> * Cmockery2 Usage Guide:
>>>>>> https://github.com/lpabon/cmockery2/blob/master/doc/usage.md
>>>>>> * Using Cmockery2 with GlusterFS:
>>>>>> https://github.com/gluster/glusterfs/blob/master/doc/hacker-guide/en-US/markdown/unittest.md
>>>>>>
>>>>>>
>>>>>> When starting out writing unit tests, I would suggest writing unit
>>>>>> tests for non-xlator interface files when you start.  Once you feel
>>>>>> more comfortable writing unit tests, then move to writing them for
>>>>>> the xlators interface files.
>>>>> Awesome, many thanks! I'd like to add some unittests for the RPC and
>>>>> NFS
>>>>> layer. Several functions (like ip-address/netmask matching for ACLs)
>>>>> look very suitable.
>>>>>
>>>>> Did you have any particular functions in mind that you would like to
>>>>> see
>>>>> unittests for? If so, maybe you can file some bugs for the different
>>>>> tests so that we won't forget about it? Depending on the tests, these
>>>>> bugs may get the EasyFix keyword if there is a clear description and
>>>>> some pointers to examples.
>>>> Looks like parts of cmockery was forgotten in glusterfs.spec.in:
>>>>
>>>> # rpm -q -f  `which gluster`
>>>> glusterfs-cli-3.7dev-0.9.git5b8de97.fc20.x86_64
>>>> # ldd `which gluster`
>>>>       linux-vdso.so.1 =>  (0x00007ffff4dfe000)
>>>>       libglusterfs.so.0 => /lib64/libglusterfs.so.0 (0x00007fe034cc4000)
>>>>       libreadline.so.6 => /lib64/libreadline.so.6 (0x00007fe034a7d000)
>>>>       libncurses.so.5 => /lib64/libncurses.so.5 (0x00007fe034856000)
>>>>       libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fe03462c000)
>>>>       libgfxdr.so.0 => /lib64/libgfxdr.so.0 (0x00007fe034414000)
>>>>       libgfrpc.so.0 => /lib64/libgfrpc.so.0 (0x00007fe0341f8000)
>>>>       libxml2.so.2 => /lib64/libxml2.so.2 (0x00007fe033e8f000)
>>>>       libz.so.1 => /lib64/libz.so.1 (0x00007fe033c79000)
>>>>       libm.so.6 => /lib64/libm.so.6 (0x00007fe033971000)
>>>>       libdl.so.2 => /lib64/libdl.so.2 (0x00007fe03376d000)
>>>>       libcmockery.so.0 => not found
>>>>       libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe03354f000)
>>>>       libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fe033168000)
>>>>       libc.so.6 => /lib64/libc.so.6 (0x00007fe032da9000)
>>>>       libcmockery.so.0 => not found
>>>>       libcmockery.so.0 => not found
>>>>       libcmockery.so.0 => not found
>>>>       liblzma.so.5 => /lib64/liblzma.so.5 (0x00007fe032b82000)
>>>>       /lib64/ld-linux-x86-64.so.2 (0x00007fe0351f1000)
>>>>
>>>> Should I file a bug report or could someone on the fast-lane fix this?
>>> My bad (installation with --nodeps --force :-()
>> Actually, I was not expecting a dependency on cmockery2. My
>> understanding was that only some temporary test-applications would be
>> linked with libcmockery and not any binaries that would get packaged in
>> the RPMs.
>>
>> Luis, could you clarify that?
>>
>> Thanks,
>> Niels
>>
>> _______________________________________________
>> Gluster-devel mailing list
>> Gluster-devel at gluster.org
>> http://supercolony.gluster.org/mailman/listinfo/gluster-devel
>>
>
>



More information about the Gluster-devel mailing list