Hi Krishna —
Thanks for the follow-up discussion and reassurance that you're tracking
the bigger questions. Your point about having reflection on module-scope
methods as well as class-scope methods addresses the main concern I raised
yesterday about class-based testing (the other concern being whether the
procedure is the correct 'unit' for thinking about unit testing).
Another question I'm mentally wrestling with is whether reflection is the
shortest path to these testing frameworks or not. It's difficult for me
to imagine that the compiler will not play some role in unit testing (or
at least, I haven't heard a model proposed that was completely independent
of the compiler), so I find myself wrestling with the question of whether
changing the compiler to support such reflection routines will be simpler
/ better than changing the compiler to do whatever it needs to do for unit
testing. But the amount of work there could also depend heavily on how
unit testing is expressed and run in Chapel (where I think a major open
question relates to how unit testing will interact with running on
multiple locales).
-Brad
On Thu, 23 May 2019, Krishna Kumar Dey wrote:
Hey Brad,
I agree with you that without having clear idea about the design of testing
framework we should not dive into the implementation of the features that I
have requested. Although our idea for creating these issues were not just
to get help in implementation but more to discuss about the unit test. I
and Lydia are in continuous discussion about the design of testing
framework and we also have thought about the module based tests. I think it
will be good if we could look at solutions for both module-based and
class-based tests. We should be looking for all type of users and as an
initial implementation giving both feature would be very helpful for the
developers.
Talking about module based tests I feel we may need a function that can
help us to return all the funtion of a module as strings and another
function which can call function given the name of function(string). These
are some of the feature I think we may need. I am sure we will come across
other useful requirements as we proceed with the discussion.
Thank you,
Krishna
On Thu, 23 May 2019, 4:23 am Brad Chamberlain, <[email protected]> wrote:
Hi Krishna —
Welcome to the project!
I think that the issues themselves are reasonable requests, though I also
think there are some challenges to making the two issues you filed today
be sufficient to support unit testing given other related challenges, like
the ones that Michael raised in the comments of #8326.
I also wanted to mention that when we discussed various approaches to unit
testing as a team a few weeks ago, there were definitely split opinions as
to whether or not a class+method-based approach is preferable.
Specifically, since Chapel isn't a pure OO language and significant codes
can be written without using classes, there was a desire among some of the
team members for a way to write unit tests that did not require creating a
class. And if we had such a way, it raises the question for me as to
whether that would be sufficient to test code that did use classes as
well.
The combination of those two things would give me pause in diving into
these implementation tasks without a clear picture of what the unit
testing framework looks like, how it would work, and buy-in that it's what
the team and users want. I know that Ben was wrestling with these
questions before leaving the other week, but am not clear how far he got.
Best wishes,
-Brad
On Wed, 22 May 2019, Krishna Kumar Dey wrote:
Hey All,
I am Krishna Kumar Dey, GSoC'19 student developer where I am working on
*Unit
Test Framework* for Chapel. While discussing with my mentors I came
across
the reflection module that I will be using for the project. This module
lacks a few functionalities which we need for the development of the
framework. I have created issues for the same. And I need your opinion
regarding these feature requests.
Issues:
- Proposed support for Reflection functions that get number of methods
of a class. #13069 <https://github.com/chapel-lang/chapel/issues/13069
- Proposed support for Reflection functions that get name of method of
a
class. #13068 <https://github.com/chapel-lang/chapel/issues/13068>
- Call methods from method name in string #8326
<https://github.com/chapel-lang/chapel/issues/13069>
--
Thank you,
Krishna Kumar Dey
<https://github.com/chapel-lang/chapel/issues/13069>
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers