Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rearrange build process and directory organization #88

Closed
masatake opened this issue Oct 9, 2014 · 6 comments
Closed

Rearrange build process and directory organization #88

masatake opened this issue Oct 9, 2014 · 6 comments
Assignees

Comments

@masatake
Copy link
Member

masatake commented Oct 9, 2014

As I wrote #63 I'm thinking rearrange the directory organization of source tree.
When thinking about the directory organization, we have to think about build process.

The discussion of this issue will continue, so I will start on my private branch.

The initial question is about platforms we support. Do you want to maintain code for
VAX, vms, amiga, os2 and riscos? I don't want.

@masatake masatake changed the title rearrange build process and directory organization Rearrange build process and directory organization Oct 9, 2014
@ffes
Copy link
Member

ffes commented Oct 9, 2014

Is adding subdirectories to Units an option? Now there are 330+ directories in one directory. I think about splitting them in directories per language and some dirs like "config" and "core"

The initial question is about platforms we support. Do you want to maintain code for
VAX, vms, amiga, os2 and riscos? I don't want.

I don't think so. ctags at least 5.5 till 5.8 were only released as source, Fedora binaries and a Windows binary plus sources. Most of those old makefile haven't been touched since 2003.

@masatake
Copy link
Member Author

masatake commented Oct 9, 2014

... yet another good idea. I will try splitting them.

@masatake
Copy link
Member Author

The initial thing I have to do is make 'make tar.gz' or something similar work well.
It seems that current targets depend on the subversion repository of exuberant-ctags.
Resarch is needed.

@masatake masatake mentioned this issue Oct 16, 2014
masatake added a commit that referenced this issue Nov 9, 2014
test.units target is too complex.
The test cases are run sequentially. So I rewrite it as a shell script.

Some features not in the test.units are implemented.

1. It can run tests under timeout command.
   Under timeout command all test cases classed to .i(entering infinite
   loop) are run.

2. It can run tests under valgrind.
   all test cases classed to .v are run but the results are ignored.

3. It checks exit status of each running of test cases.
   If the status is not 0, the test is treated as "FAILED".
   If expected.tags file is not prepared in a test, units command checks
   only the exit status.

4. It deals a sub-directory as a category.
   It is proposed by @ffes in #88.
   A directory ended with .r is recognized as a category.
   This feature isn't tested yet.

5. It reports "FIXED".

   If a .b class test(known bug) is passed, it is reported as FIXED.
   If a .i class test(infinite loop) is passed with --with-timeout option,
   it is reported as FIXED.

You can run units with

    $ make -f testing.mak units

UNIT_LANGUAGE and UNIT macros can be used like

    $ make -f testing.mak units UNIT_LANGUAGE=C UNIT=local.c

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
@masatake
Copy link
Member Author

If is not documented yet but now you can use subdirectory under Units to add a test case.
Use suffix .r for the directory. See Units/parser-ada.

@masatake
Copy link
Member Author

I name a subdirectory a category in my script.

@masatake
Copy link
Member Author

masatake commented May 1, 2015

#300 solves this issue.

@masatake masatake closed this as completed May 1, 2015
masatake pushed a commit to masatake/ctags that referenced this issue Mar 12, 2020
Including a '*.c' directly might causes some issues.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants