Comments (2)
Thank-you for being willing to track the error down. I previously had all the testing folders in .gitignore
while I was fleshing things out, I added them to the repo now. If you look in tests/isense/original, there are three Fortran files that I have been using for the unit testing of isense. I abbreviate them with the keys "monte", "deriv" and "cefit" in the isense.py
module that actually performs the tests. In the isense
module, there is a method called get_completion_tests
that lists the kind of isense test to perform (essentially any of the callable attributes on the fortpy.isense.__init__.Script
class) as well as the line number and char index of the cursor location in the relevant code file.
Let me know if you have questions. There is a debug module, but I wasn't consistent with inserting the debug assertions etc. throughout the code, so it is close to useless at this point. I have an issue open to go through the code and add some strategic debug
references but I haven't got around to it yet. Also the full definition lookup (M-?
) hasn't really been tested well. I have only a single test case in the unit tests for that one because most of the people using fortpy so far haven't been clamoring for it (you are the first). If you want to try and figure out the problem, I would appreciate it.
I pushed some changes a few minutes ago that you should probably pull before you start debugging. Thanks!
from fortpy.
Also (you probably will see this from the code anyway, but...) the results of the isense completions etc. are written to files in the tests/isense
directory and have names like compl_*.tmp
where the *
is the key of the code file that was being tested. If you compare the cursor position in the code file with the output saved in the compl_*.tmp
files, it should become obvious how to use the unit tester.
from fortpy.
Related Issues (20)
- Camel Case in module name
- Extra space between xml documentation and subroutine declaration
- Modifiers in assignment block inside of test block in the xml don't get recognized.
- Type declaration failure.
- Precompiler Parsing Issue HOT 1
- Case sensitive file names
- Module import error
- Error thrown by unit test isn't string HOT 1
- Allow user to define tests that should fail or throw errors
- If fortpy was compiled with a different version of gfortran we should catch it and recompile rather than failing.
- autovar failure HOT 1
- Blank lines in summary tags break parser.
- Create staging directory automatically if it doesn't exist HOT 1
- Possibility to opt out of autoconversion of derived-type . (dot) to % (percent) HOT 1
- Add a "return" to the single line in the SUCCESS file HOT 1
- Warn when `FORTPY_CONFIG` is not set or when fortpy.config.xml is present (whenever `runtest.py` is called) HOT 1
- Makefile doesn't work on mac OSX when the compilation fails, probably regex's aren't consistent HOT 1
- Better output when compiling fortpy-created programs HOT 1
- Failure to allocate `perm` in routine `find_permutation_of_group` before calling HOT 4
- Error in symlib unittests. Fortpy declare pointer, but the variable should be an "allocatable" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fortpy.