[csw-maintainers] Small/Medium-size coding project available

Maciej (Matchek) Bliziński maciej at opencsw.org
Wed May 8 19:20:48 CEST 2013


2013/5/8 Peter FELECAN <pfelecan at opencsw.org>:
> "Maciej (Matchek) Bliziński" <maciej at opencsw.org> writes:
>
>> 2013/5/8 Peter FELECAN <pfelecan at opencsw.org>
>>>
>>> I intend to use Qt Core for this.
>>
>> Do you mean you'd write this in C++?
>
> Yes. The result can run on all our servers, isn't it?

Sure.

>> Qt Core[1] looks interesting. I didn't know QT had non-gui utility classes.
>
> In my case this is the main usage of Qt: writing servers, back ends,
> ETL, &c.
>
>> What testing framework would you use? QtTest?
>
> A very good candidate. Not that I need a special framework to write
> unit, system and integration tests. However, if you think that using a
> test framework should be in the specification, I will gladly conform.

Usually you end up with a framework, even if you start without one, so
I think picking one right at the start is a good idea. The top-level
code could be something like:

GetLock();
disk_state = GetDiskState();
db_state = GetDbState();
disk_operation_list = ComputeDiskOperationList(disk_state, db_state);
ApplyDiskOperations(disk_operation_list);
ReleaseLock();

The Get*State() methods would interact with the environment, so I
wouldn't expect much tests for that part. The
ComputeDiskOperationList() function on the other hand would do the
critical work, so I would expect that there would be a set of sample
inputs and expected outputs. This way we'll be able to add support for
newly discovered corner cases while ensuring that all the previous
cases are still working correctly.

Maciej


More information about the maintainers mailing list