Commit Graph

34 Commits

Author SHA1 Message Date
Michael Tryby
2bf3be4c64 Adding tests at test root
Couldn't get tests in subdirectores to work so adding them at test root instead.
2019-03-22 11:51:08 -04:00
Michael Tryby
ec72db5d82 pulling up call to find_packages
eliminates multiple calls to find_packages
2019-03-22 11:08:54 -04:00
Michael Tryby
48facd89d0 Fixing test build on gcc 2019-03-21 18:08:05 -04:00
Michael Tryby
ccbb422259 Reorganizing src and test folders
Moving epanet_output library from tools to src folder. Setting up parallel folder hierarchy in tests folder.
2019-03-20 17:58:24 -04:00
Michael Tryby
b403814eaf Tweaking in line comments 2019-02-26 13:42:42 -05:00
Michael Tryby
5b244daa08 Separating 32 and 64 bit builds 2019-02-26 10:36:26 -05:00
Lew Rossman
3eb9a68783 Fixes win_build and VS/cmake build problems 2019-02-11 14:30:15 -05:00
Michael Tryby
8a7277eab0 Adding build option for coverage 2019-02-07 11:34:18 -05:00
Michael Tryby
6a0151b9c7 Adding support for custom epanet_py build target 2019-02-04 14:28:32 -05:00
Michael Tryby
b63f232884 Initial commit interface for python wrap 2018-11-30 15:49:28 -05:00
Michael Tryby
be2ca0a9f6 Implmenting Toolkit API versioning 2018-11-29 11:57:51 -05:00
Michael Tryby
ad4969ea1b Rolling back errormanager 2018-11-19 16:40:40 -05:00
Michael Tryby
440230ef6d Rolling back errormanager 2018-11-19 16:33:30 -05:00
Michael Tryby
ec6bb25a11 Merge branch 'dev' into issue-172 2018-09-04 15:00:21 -04:00
Michael Tryby
b9a1934879 Making epanet exports opt in 2018-09-04 11:53:53 -04:00
Michael Tryby
bdfe7ec289 Fixing build for python wrapper 2018-08-28 11:23:30 -04:00
Sam Hatchett
6316f6757d re-adds header/dat files to IDE cmake output 2018-08-27 16:02:00 -04:00
Michael Tryby
e8acc1b177 Fixing build 2018-08-23 07:48:01 -04:00
Michael Tryby
0938f82c32 Adding adding GEN_X macro for cmake export header 2018-08-22 15:46:24 -04:00
Michael Tryby
4723336726 Adding errormanager to toolkit api 2018-07-13 11:47:47 -04:00
Michael Tryby
594b6b9260 Python package epanet-python builds and runs 2018-07-03 18:47:30 -04:00
Michael Tryby
323e041e6b Fixing typo 2018-07-03 18:16:09 -04:00
Michael Tryby
ff2c851b1c Merging latest from dev, trying to get import lib generated 2018-07-03 17:38:40 -04:00
Sam Hatchett
9520b6d253 fixes cmake for mac, adds define option for building tests 2018-06-06 18:14:36 -05:00
Michael Tryby
bbe40c5ba4 Feature unittest (#157)
* Adding support for unit testing using boost unit test and ctest

* Adding libboost-test to Travis config.

* Adding libboost-test to Travis config.

* Modifying per element comparison

* Modifying per element comparison

* Fixing typo

* Fixing typo

* Adding custom comparison for strings

* Updating Travis to run unit tests

* Updating Travis to run unit tests

* Fixing typo

* Preparing unit testing to run on Appveyor

* Preparing unit testing to run on Appveyor

* Preparing unit testing to run on Appveyor

* Preparing unit testing to run on Appveyor and Travis

* Preparing unit testing to run on Appveyor and Travis

* Preparing unit testing to run on Appveyor and Travis

* Preparing unit testing to run on Appveyor

* Preparing unit testing to run on Appveyor

* Fixing unit testing path issue in CMake

* Fixing unit testing path issue in CMake

* Fixing bugs in cmake and appveyor scripts

* Rolling back generate_export_header in cmake
2018-03-21 14:10:10 -04:00
Michael Tryby
07fa9f4758 Adding flag to compile for c++11 2018-02-16 15:25:57 -05:00
Michael Tryby
7c525318b5 Adding flag to compile for c++11 2018-02-16 15:20:42 -05:00
Michael Tryby
8875722082 Changing cmake to no longer glob output library files. 2018-02-16 15:13:07 -05:00
Michael Tryby
508bfb1cd4 Adding support for unit testing using boost unit test and ctest 2018-02-16 14:17:12 -05:00
Michael Tryby
060db17018 Adding epanet-output lib target to CMake 2018-01-26 13:16:53 -05:00
Sam Hatchett
84abab346c modifies cmake to link shared lib to the CLI
also much improved IDE file grouping, for people who use IDEs
2018-01-12 11:38:05 -05:00
Michael Tryby
47733feb74 Configure appveyor (#142)
with much appreciation to @michaeltryby 🎉 

* Initial commit getting Appveyor running
* Modifying branch built
* Modifying generator
* Modifying path to test scripts
* Modifying path to test scripts
* Configuring appveyor cache to store cmake generated build files
* suppressing insecure string warnings
* Fixing typo
* Fixing problem with cmake build invocation
* Changing CMake to Linux build on Travis
* Adding compiler flags for MSVC
* Adding Appveyor build status badge
* Adding Appveyor build status badge
* Adding include directory so it is available to project files
* cleaning cache
* rebuilding cache
2018-01-12 11:35:43 -05:00
Sam Hatchett
e1acb5a601 improves file availability from cmake-generated projects 2018-01-11 14:16:20 -05:00
Sam Hatchett
f97d837231 Feature wrapper (#136)
this quite sizable commit does several things, but is primarily
focussed on building a toolkit that can run simultaneous
simulations/analyses within a shared memory space. Versions <=2.1 use a
long list of global variables that prevent multiple instantiations on
linux systems without resorting to compilation tricks (like duplicate
binaries or similar via static linkage). This version uses a single "Project" pointer to encapsulate
the network and analysis data. There are no changes to existing algo
implementations other than to accomodate dereferencing of the passed-in
pointers. A more detailed list of major changes below:

- mirrors all “ENxxxx” function calls with “EN_xxxx” versions (note the
underscore) that take an extra first parameter: a pointer to an
EN_Project struct, which contains all network, hydraulic, quality, and
associated data.
- tweaks some code formatting to make it more readable
- removes some deprecated/commented code that was sufficiently old
- fixes implicit type-cast warnings

* Added ENaddnode and ENaddlink functions

* More memory reallocations

* Added ENInit, ENsetheadcurveindex

* Added ENdeletelink and ENdeletenode

* restored default behavior for float types

* fixed type

* Added docstrings for ENinit

* cleanup change

* moves global rule variables to vars.h

* migrates rule structs to typedefs

for better readability

* char types to proper enums

fixes #93

* Change some variable declarations for compatibility

Changes to keep compatibility with C89 compilers: variables must be
declared at the top of the functions. Remove the use of EN_LinkType in
function call as it is not compatible with ENgetnodetype.

* Moved declaration of idstodelete to top of function

* Updated ENinit function and headers

Updated header files with new functions
Updated def file with new functions
For ENinit changes names of parameters #98
Added enum for headloss formula

* Missed these files in 1a033fc

* migrates char types to enums fixes #93,

supports unified link/node type enums, rather than public/private
redefinitions

* removing links in reverse-index order maintains proper indexing fixes #96

* style

* clarifies curve getter units issue (dox)

closes #95

* fixes link/node confusion in ENsetlinktype

partially reverts a3bce95dc330a5a297634a303d438e2e1bc41cc9

* partial compilation fix

* fixes dox issue

* fixes allocation issues with enums

- updates style in various places
- introduces FlowDirection enum
- use snprintf to prevent overflow

* fixes enum type cast

* updated mac project settings

* Use of _snprintf on Windows and remove DLLEXPORT from mempool.h

snprintf it not compatible on Windows so we use _snprintf
mempool gave starnge compilation errors while removing DLLEXPORT worked.
Not sure why these functions needed to be exposed in the DLL?

* Revert "Use of _snprintf on Windows and remove DLLEXPORT from mempool.h"

This reverts commit 6238f77d47fa0feaabe5836043c006937de433a2.

* use of _snprintf instead of snprintf on Windows and removed DLLEXPORT from mempool.h

Had compilation errors on mempool.h. Removed DLLEXPORT so solve it. Not
sure why there was a need to expose these functions?

* Shift indices for Links in ENaddnode

Need to shift indices for Links not just Pipes since a pump could be
connected directly to a reservoir. Also set the defult base demand to
zero (was 5).

* Set defualts for madatory link properties in ENaddlink and small fix for ENsetheadcurveindex

Relates to #102 and closes #103

* wraps globals into structs, duplicates api functions with objective versions



* parse and serialize Comment field for network elements

related to #47

* adds getter for head/efficiency curve

in EN_getlinkvalue

* adds getter for event node index

… to return the index of the junction (tank) that triggered the event.

* fixes edge case in parsing

… where inp files without demands in [JUNCTIONS] and without any
[DEMAND] categories will fail.

* adds freeing function for project pointer

* removes redundant string literals, fixes overrun issue in error message getter function

* check for hydraulics already closed

* moving error definitions to data file

* deprecates ENR err message getter (unused)

* updates location of errors data file

also begins to expose blind structs to curves and patterns,
anticipating buildout of APIs for those.

* updates CLI output to reflect executable name as invoked

relates to #109

* Feature nrtest (#131)

* Initial commit EPANET testing tools.

* Initial commit for epanet-nrtestsuite

* SWIG wrapper for EPANET outputapi (#118)

* Removed pervious version of outputapi and wrapper

* SWIG wrapper for EPANET outputapi

* Patching cmake build script fixed target for outputapi

* Build failing on deprecated test script

* Minor changes. Responding to review comments.

* Feature nrtest (#121)

* Configured python setup to automatically build nrtest tools.

* Working on build / testing automation

* Adding EPANET 2.0.12 benchmark

* Updated Travis yml to run nrtest

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning again

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Working on configuring python environment and building test tools under Travis CI.

* Making gen-config.sh and run-nrtest.sh executable

* Debugging .travis.yml

* Debugging .travis.yml

* Debugging .travis.yml again

* Debugging .travis.yml again

* debugging travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* Fixing bug with __strncpy_chk destlen < len

* nrtesting clean up

* re-implements fixes from:

5eead5ae40
3c788567a4

* removes extraneous build files, moves cmake and updates travis

* mirror of 9b37035560f9683f1514b439f7586a5c17bca5bf

* Move some variable declarations

* More variable declarations

* Fix TmpDir

* Allocate _defaultModel

* Fix EN_addcurve funcrion

* Fix for inpfile

* Fix writeRuleinInp call

* Set MAXMSG to 79 chars

* Fix for flow direction

* Refactoring testing related python packages and SWIG wrapper bug fix (#139)

* Eliminated epanet-reader package. Removed numpy dependency from epanet-output. Fixed reference counting bug in SWIG wrapper. Added error checking to run_nrtest.sh. Added nrtest package to requirements file.

* changing buildhome directory

* Fixing bug related to preprocessor definition of PI
2018-01-09 16:56:42 -05:00