JPlag icon indicating copy to clipboard operation
JPlag copied to clipboard

Dedicated front-end tests (in separate projects?)

Open tsaglam opened this issue 2 years ago • 1 comments

Test cases for frontends, such as the Java Feature Test, should not reside in the core projects. Rather, they should be distributed into their respective frontends. However, if these require a full JPlag run, they cannot reside in the frontend project, as they only have a dependency on the front-end utils. Thus, we may need dedicated test projects for the front-ends.

This is the current dependency graph:

graph BT;
    java("Java Frontend")-->utils("Frontend Utilities");
    jplag("JPlag Core")-->utils;
    cpp("C/C++ Frontend")-->utils;
    jplag-->java;
    jplag-->cpp;

    click jplag "https://github.com/jplag/JPlag/tree/master/jplag" _blank
    click java "https://github.com/jplag/JPlag/tree/master/jplag.frontend.java" _blank
    click cpp "https://github.com/jplag/JPlag/tree/master/jplag.frontend.cpp" _blank
    click utils "https://github.com/jplag/JPlag/tree/master/jplag.frontend-utils" _blank

This is my proposed solution:

graph BT;
    java("Java Frontend")-->utils("Frontend Utilities");
    cpp("C/C++ Frontend")-->utils;
    jplag("JPlag Core")-->java;
    jplag-->utils;
    jplag-->cpp;
    jtest("Java Test Project")-->java;
    jtest-->jplag;
    cpptest(C/C++ Test Project)-->jplag;
    cpptest-->cpp;

    click jplag "https://github.com/jplag/JPlag/tree/master/jplag" _blank
    click java "https://github.com/jplag/JPlag/tree/master/jplag.frontend.java" _blank
    click cpp "https://github.com/jplag/JPlag/tree/master/jplag.frontend.cpp" _blank
    click utils "https://github.com/jplag/JPlag/tree/master/jplag.frontend-utils" _blank

Unrelated: mermaid in markdown is dope!

tsaglam avatar Feb 23 '22 09:02 tsaglam

Lightweight frontend test cases that do not depend on the JPlag core can now be defined in the frontend projects themselves. For details see #408.

tsaglam avatar May 04 '22 14:05 tsaglam

Closed, as we currently employ lightweight language module tests that do not depend on the JPlag core.

tsaglam avatar Sep 15 '22 14:09 tsaglam