Skip to content

Commit 9296ef1

Browse files
Added build argument to select whether to test with localhost or not
1 parent 2e8d71d commit 9296ef1

File tree

10 files changed

+219
-5
lines changed

10 files changed

+219
-5
lines changed

.github/workflows/docker-deploy.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ env:
99
jobs:
1010
build-and-push-image:
1111
runs-on: ubuntu-latest
12+
services:
13+
activemq:
14+
image: rmohr/activemq:latest # Or a specific version like rmohr/activemq:5.15.9
15+
ports:
16+
- 30163:30163 # JMS port
17+
- 8161:8161 # Web console port
1218
permissions:
1319
contents: read
1420
packages: write

CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ endif()
8989

9090
option(OPTION_TARGET_MESSAGING "Messaging (requires libcurl)" off)
9191
option(OPTION_TARGET_DOCS "Generate Doxygen documentation" off)
92+
option(OPTION_TEST_WITH_LOCALHOST "Use localhost as server rather than vcell.cam.uchc.edu" off)
9293

9394
if (${OPTION_TARGET_DOCS})
9495
# if (DOXYGEN_FOUND AND ${CMAKE_VERSION} GREATER_EQUAL 3.9)
@@ -166,6 +167,10 @@ if (OPTION_TARGET_MESSAGING)
166167
add_definitions(-DUSE_MESSAGING)
167168
endif()
168169

170+
if (OPTION_TEST_WITH_LOCALHOST)
171+
add_definitions(-DTEST_WITH_LOCALHOST)
172+
endif()
173+
169174
######################################
170175
#
171176
# Add subdirectories

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ COPY . /vcellroot
1919
RUN mkdir -p /vcellroot/build/bin
2020
WORKDIR /vcellroot/build
2121

22-
RUN /usr/bin/cmake .. -G Ninja -DOPTION_TARGET_MESSAGING=ON -DOPTION_TARGET_DOCS=OFF
22+
RUN /usr/bin/cmake .. -G Ninja -DOPTION_TARGET_MESSAGING=ON -DOPTION_TARGET_DOCS=OFF -DOPTION_TEST_WITH_LOCALHOST=ON
2323
#RUN /usr/bin/cmake .. -G Ninja -DOPTION_TARGET_MESSAGING=ON -DOPTION_TARGET_DOCS=OFF -DCMAKE_CXX_FLAGS="-fexperimental-library" # `experimental-library` needed for new j-thread feature!
2424
RUN ninja --verbose
2525
RUN ctest -VV --output-on-failure

VCellMessaging/src/CurlProxyClasses.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ std::string trim(const std::string& str) {
2121
#include <array>
2222
#include <unistd.h>
2323
#include <ctime>
24+
#include <iostream>
2425

2526
#include "VCELL/JobEventStatus.h"
2627
#include "VCELL/SimulationMessaging.h"

tests/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,12 @@ target_link_libraries(unit_tests PRIVATE
2727
)
2828
gtest_discover_tests(unit_tests)
2929

30-
target_compile_definitions(unit_tests PRIVATE
31-
RESOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}/unit/resources"
32-
)
30+
target_compile_definitions(unit_tests PRIVATE RESOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}/unit/resources")
31+
if (OPTION_TEST_WITH_LOCALHOST)
32+
target_compile_definitions(unit_tests PRIVATE TEST_WITH_LOCALHOST=1)
33+
else()
34+
target_compile_definitions(unit_tests PRIVATE TEST_WITH_LOCALHOST=0)
35+
endif ()
3336

3437

3538
#add_executable(integration_tests
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# JMS_Paramters
2+
JMS_PARAM_BEGIN
3+
JMS_BROKER localhost:30163
4+
JMS_USER clientUser dummy
5+
JMS_QUEUE workerEvent
6+
JMS_TOPIC serviceControl
7+
VCELL_USER ldresche
8+
SIMULATION_KEY 886118677
9+
JOB_INDEX 0
10+
JMS_PARAM_END
11+
12+
SOLVER CVODE
13+
STARTING_TIME 0.0
14+
ENDING_TIME 10.0
15+
RELATIVE_TOLERANCE 1.0E-9
16+
ABSOLUTE_TOLERANCE 1.0E-9
17+
MAX_TIME_STEP 1.0
18+
KEEP_EVERY 1
19+
NUM_EQUATIONS 2
20+
ODE s0 INIT 1.0;
21+
RATE - ((0.5 * s0) - (0.2 * s1));
22+
ODE s1 INIT 0.0;
23+
RATE ((0.5 * s0) - (0.2 * s1));
24+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
##---------------------------------------------
2+
## /simdata/ldresche/SimID_886118677_0_.functions
3+
##---------------------------------------------
4+
5+
Compartment::J_r0; ((0.5 * s0) - (0.2 * s1)); ; Nonspatial_VariableType; false
6+
Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
t:s0:s1:
2+
0.00000000000000000E+00 1.00000000000000000E+00 0.00000000000000000E+00
3+
1.02648488190150711E-10 9.99999999948675722E-01 5.13242440913875063E-11
4+
1.02658753038969712E-06 9.99999486706603657E-01 5.13293396373231300E-07
5+
1.12914363494047687E-05 9.99994354310467903E-01 5.64568953210529354E-06
6+
4.48211895830175010E-05 9.99977589784958321E-01 2.24102150417055293E-05
7+
1.17277047540880841E-04 9.99941363945291539E-01 5.86360547084540949E-05
8+
2.53272368309885381E-04 9.99873375142890652E-01 1.26624857109333797E-04
9+
4.96024984269423201E-04 9.99752030703600969E-01 2.47969296398973030E-04
10+
9.22698163574049712E-04 9.99538800058830001E-01 4.61199941169868684E-04
11+
1.68044365853622663E-03 9.99160272360433921E-01 8.39727639565850115E-04
12+
3.18862269929603417E-03 9.98407466672823207E-01 1.59253332717652126E-03
13+
5.45114110140219790E-03 9.97279622342691741E-01 2.72037765730797233E-03
14+
7.71365950350836119E-03 9.96153562661734271E-01 3.84643733826544416E-03
15+
9.97617790561452535E-03 9.95029284922585688E-01 4.97071507741405488E-03
16+
1.22386963077206895E-02 9.93906786345072457E-01 6.09321365492729479E-03
17+
1.45012147098268537E-02 9.92786064126930712E-01 7.21393587306905053E-03
18+
1.73952544462393256E-02 9.91355107543508862E-01 8.64489245649092790E-03
19+
2.02892941826517993E-02 9.89927047398444282E-01 1.00729526015555741E-02
20+
2.31833339190642730E-02 9.88501877601865031E-01 1.14981223981348198E-02
21+
2.60773736554767467E-02 9.87079592114147530E-01 1.29204078858523308E-02
22+
3.29068688347819438E-02 9.83734614715639721E-01 1.62653852843602023E-02
23+
3.97363640140871374E-02 9.80405590318767395E-01 1.95944096812325566E-02
24+
5.02957748456068915E-02 9.75289650084949389E-01 2.47103499150505036E-02
25+
6.08551856771266456E-02 9.70211385257129355E-01 2.97886147428706068E-02
26+
7.14145965086463996E-02 9.65170518189519044E-01 3.48294818104809070E-02
27+
8.19740073401661606E-02 9.60166773545884755E-01 3.98332264541152309E-02
28+
9.25334181716859216E-02 9.55199878101650190E-01 4.48001218983497956E-02
29+
1.09712253292456846E-01 9.47197402212381134E-01 5.28025977876188587E-02
30+
1.26891088413227771E-01 9.39290581299578320E-01 6.07094187004216662E-02
31+
1.44069923533998695E-01 9.31478272015571096E-01 6.85217279844288346E-02
32+
1.61248758654769619E-01 9.23759344630696533E-01 7.62406553693034117E-02
33+
1.89660049003499281E-01 9.11195316277009670E-01 8.88046837229902880E-02
34+
2.18071339352228943E-01 8.98878691567765453E-01 1.01121308432234533E-01
35+
2.46482629700958605E-01 8.86804598883420114E-01 1.13195401116579816E-01
36+
2.74893920049688267E-01 8.74968262536995778E-01 1.25031737463004083E-01
37+
3.03305210398417957E-01 8.63365000789078185E-01 1.36634999210921676E-01
38+
3.31716500747147647E-01 8.51990224040054867E-01 1.48009775959944967E-01
39+
3.60127791095877337E-01 8.40839433068397923E-01 1.59160566931601855E-01
40+
3.88539081444607026E-01 8.29908217266169590E-01 1.70091782733830132E-01
41+
4.41138445070370255E-01 8.10235627189399343E-01 1.89764372810600435E-01
42+
4.77567574856914034E-01 7.97029226508457089E-01 2.02970773491542689E-01
43+
5.13996704643457814E-01 7.84155337872014080E-01 2.15844662127985643E-01
44+
5.50425834430001593E-01 7.71605588560225097E-01 2.28394411439774653E-01
45+
5.86854964216545372E-01 7.59371816557104728E-01 2.40628183442894966E-01
46+
6.23284094003089151E-01 7.47446066126369102E-01 2.52553933873630565E-01
47+
6.59713223789632930E-01 7.35820582268969181E-01 2.64179417731030486E-01
48+
6.96142353576176709E-01 7.24487805053363076E-01 2.75512194946636535E-01
49+
7.58815310233661888E-01 7.05654481953680968E-01 2.94345518046318699E-01
50+
8.21488266891147068E-01 6.87629536154125143E-01 3.12370463845874413E-01
51+
8.84161223548632247E-01 6.70378268923642939E-01 3.29621731076356561E-01
52+
9.46834180206117426E-01 6.53867470964243247E-01 3.46132529035756198E-01
53+
1.00950713686360261E+00 6.38065359483856231E-01 3.61934640516143269E-01
54+
1.07218009352108767E+00 6.22941516449129762E-01 3.77058483550869794E-01
55+
1.13485305017857274E+00 6.08466829122856878E-01 3.91533170877142678E-01
56+
1.19752600683605781E+00 5.94613433892461130E-01 4.05386566107538426E-01
57+
1.26019896349354288E+00 5.81354663050361431E-01 4.18645336949638014E-01
58+
1.32287192015102795E+00 5.68664993725449097E-01 4.31335006274550459E-01
59+
1.38554487680851302E+00 5.56519998669646965E-01 4.43480001330352702E-01
60+
1.44821783346599808E+00 5.44896299070346424E-01 4.55103700929653243E-01
61+
1.51089079012348315E+00 5.33771519516928472E-01 4.66228480483071195E-01
62+
1.57356374678096822E+00 5.23124244999401800E-01 4.76875755000597867E-01
63+
1.63623670343845329E+00 5.12933979731394318E-01 4.87066020268605349E-01
64+
1.69890966009593836E+00 5.03181107681094364E-01 4.96818892318905247E-01
65+
1.76158261675342342E+00 4.93846854780748468E-01 5.06153145219251144E-01
66+
1.82425557341090849E+00 4.84913252781268178E-01 5.15086747218731489E-01
67+
1.88692853006839356E+00 4.76363104676305715E-01 5.23636895323693952E-01
68+
1.94960148672587863E+00 4.68179951606793432E-01 5.31820048393206291E-01
69+
2.01227444338336392E+00 4.60348041167775057E-01 5.39651958832224610E-01
70+
2.07494740004084921E+00 4.52852297094320178E-01 5.47147702905679489E-01
71+
2.13762035669833450E+00 4.45678290239669095E-01 5.54321709760330572E-01
72+
2.20029331335581979E+00 4.38812210792762725E-01 5.61187789207236998E-01
73+
2.26296627001330508E+00 4.32240841692172695E-01 5.67759158307827083E-01
74+
2.32563922667079037E+00 4.25951533186333664E-01 5.74048466813666169E-01
75+
2.38831218332827566E+00 4.19932178485779350E-01 5.80067821514220539E-01
76+
2.45098513998576095E+00 4.14171190457713889E-01 5.85828809542286000E-01
77+
2.51365809664324624E+00 4.08657479319653238E-01 5.91342520680346651E-01
78+
2.57633105330073153E+00 4.03380431291335495E-01 5.96619568708664394E-01
79+
2.63900400995821682E+00 3.98329888163913515E-01 6.01670111836086319E-01
80+
2.70167696661570211E+00 3.93496127746071123E-01 6.06503872253928655E-01
81+
2.76434992327318740E+00 3.88869845148941795E-01 6.11130154851058038E-01
82+
2.82702287993067269E+00 3.84442134874129537E-01 6.15557865125870296E-01
83+
2.88969583658815798E+00 3.80204473670731957E-01 6.19795526329267821E-01
84+
2.95236879324564327E+00 3.76148704128358324E-01 6.23851295871641454E-01
85+
3.01504174990312857E+00 3.72267018974363595E-01 6.27732981025636239E-01
86+
3.07771470656061386E+00 3.68551946044992529E-01 6.31448053955007249E-01
87+
3.14038766321809915E+00 3.64996333901570436E-01 6.35003666098429287E-01
88+
3.20306061987558444E+00 3.61593338064120084E-01 6.38406661935879582E-01
89+
3.26573357653306973E+00 3.58336407835898707E-01 6.41663592164100960E-01
90+
3.32840653319055502E+00 3.55219273693456239E-01 6.44780726306543484E-01
91+
3.39107948984804031E+00 3.52235935217927731E-01 6.47764064782072047E-01
92+
3.45375244650552560E+00 3.49380649544342170E-01 6.50619350455657663E-01
93+
3.51642540316301089E+00 3.46647920306724255E-01 6.53352079693275467E-01
94+
3.57909835982049618E+00 3.44032487057707448E-01 6.55967512942292386E-01
95+
3.64177131647798147E+00 3.41529315142283463E-01 6.58470684857716426E-01
96+
3.70444427313546676E+00 3.39133586006194754E-01 6.60866413993805191E-01
97+
3.76711722979295205E+00 3.36840687920315074E-01 6.63159312079684926E-01
98+
3.82979018645043734E+00 3.34646207103166171E-01 6.65353792896833829E-01
99+
3.89246314310792263E+00 3.32545919224480291E-01 6.67454080775519709E-01
100+
3.95513609976540792E+00 3.30535781273451845E-01 6.69464218726548155E-01
101+
4.01780905642289277E+00 3.28611923776025050E-01 6.71388076223975006E-01
102+
4.08048201308037761E+00 3.26770643346235901E-01 6.73229356653764155E-01
103+
4.14315496973786246E+00 3.25008395557270624E-01 6.74991604442729431E-01
104+
4.20582792639534730E+00 3.23321788118517361E-01 6.76678211881482694E-01
105+
4.26850088305283215E+00 3.21707574345476921E-01 6.78292425654523079E-01
106+
4.36259663226557493E+00 3.19413195181034726E-01 6.80586804818965274E-01
107+
4.45669238147831770E+00 3.17265070740067878E-01 6.82734929259932066E-01
108+
4.55078813069106047E+00 3.15253877871656929E-01 6.84746122128343071E-01
109+
4.64488387990380325E+00 3.13370887632055728E-01 6.86629112367944217E-01
110+
4.73897962911654602E+00 3.11607927741266999E-01 6.88392072258733001E-01
111+
4.83307537832928880E+00 3.09957347043537612E-01 6.90042652956462388E-01
112+
4.92717112754203157E+00 3.08411982061210621E-01 6.91588017938789434E-01
113+
5.02126687675477434E+00 3.06965125834067321E-01 6.93034874165932679E-01
114+
5.11536262596751712E+00 3.05610498904494543E-01 6.94389501095505457E-01
115+
5.20945837518025989E+00 3.04342222141284424E-01 6.95657777858715631E-01
116+
5.30355412439300267E+00 3.03154791209282182E-01 6.96845208790717763E-01
117+
5.39764987360574544E+00 3.02043052635592169E-01 6.97956947364407831E-01
118+
5.49174562281848821E+00 3.01002181432545757E-01 6.98997818567454243E-01
119+
5.58584137203123099E+00 3.00027660175653355E-01 6.99972339824346701E-01
120+
5.67993712124397376E+00 2.99115259411111445E-01 7.00884740588888611E-01
121+
5.77403287045671654E+00 2.98261019295870233E-01 7.01738980704129878E-01
122+
5.86812861966945931E+00 2.97461232403345710E-01 7.02538767596654345E-01
123+
5.96222436888220209E+00 2.96712427631590503E-01 7.03287572368409553E-01
124+
6.05632011809494486E+00 2.96011355142305865E-01 7.03988644857694190E-01
125+
6.15041586730768763E+00 2.95354972258738302E-01 7.04645027741261698E-01
126+
6.24451161652043041E+00 2.94740430259425534E-01 7.05259569740574466E-01
127+
6.33860736573317318E+00 2.94165062013088063E-01 7.05834937986911881E-01
128+
6.43270311494591596E+00 2.93626370403025250E-01 7.06373629596974695E-01
129+
6.52679886415865873E+00 2.93122017490281217E-01 7.06877982509718672E-01
130+
6.62089461337140150E+00 2.92649814367307026E-01 7.07350185632692807E-01
131+
6.71499036258414428E+00 2.92207711657821112E-01 7.07792288342178666E-01
132+
6.80908611179688705E+00 2.91793790622163152E-01 7.08206209377836515E-01
133+
6.90318186100962983E+00 2.91406254829892186E-01 7.08593745170107536E-01
134+
6.99727761022237260E+00 2.91043422363364113E-01 7.08956577636635665E-01
135+
7.09137335943511538E+00 2.90703718518221410E-01 7.09296281481778479E-01
136+
7.18546910864785815E+00 2.90385668969080357E-01 7.09614331030919643E-01
137+
7.27956485786060092E+00 2.90087893370859995E-01 7.09912106629139950E-01
138+
7.37366060707334370E+00 2.89809099368042500E-01 7.10190900631957334E-01
139+
7.46775635628608647E+00 2.89548076985837011E-01 7.10451923014162823E-01
140+
7.56185210549882925E+00 2.89303693378861304E-01 7.10696306621138585E-01
141+
7.65594785471157202E+00 2.89074887914547385E-01 7.10925112085452504E-01
142+
7.75004360392431479E+00 2.88860667569953156E-01 7.11139332430046678E-01
143+
7.84413935313705757E+00 2.88660102622012638E-01 7.11339897377987196E-01
144+
7.93823510234980034E+00 2.88472322612513654E-01 7.11527677387486235E-01
145+
8.08080669531667084E+00 2.88210359800015581E-01 7.11789640199984253E-01
146+
8.22337828828354134E+00 2.87973278978804759E-01 7.12026721021195130E-01
147+
8.36594988125041183E+00 2.87758716623703892E-01 7.12241283376295997E-01
148+
8.50852147421728233E+00 2.87564533611528172E-01 7.12435466388471661E-01
149+
8.65109306718415283E+00 2.87388794232750655E-01 7.12611205767249123E-01
150+
8.79366466015102333E+00 2.87229746815752529E-01 7.12770253184247249E-01
151+
8.93623625311789382E+00 2.87085806022613133E-01 7.12914193977386645E-01
152+
9.07880784608476432E+00 2.86955536978731940E-01 7.13044463021267783E-01
153+
9.22137943905163482E+00 2.86837641067565152E-01 7.13162358932434515E-01
154+
9.36395103201850532E+00 2.86730943062506516E-01 7.13269056937493207E-01
155+
9.50652262498537581E+00 2.86634379394257510E-01 7.13365620605742157E-01
156+
9.64909421795224631E+00 2.86546987502534933E-01 7.13453012497464734E-01
157+
9.79166581091911681E+00 2.86467896231261898E-01 7.13532103768737769E-01
158+
9.93423740388598731E+00 2.86396317164659742E-01 7.13603682835339925E-01
159+
1.00000000000000000E+01 2.86365632344379117E-01 7.13634367655620494E-01
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
IDAData logfile
2+
IDAData text format version 1
3+
SimID_886118677_0_.ida
4+
KeepMost 1000

tests/unit/smoke_test.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,13 @@ TEST(SmokeTest, UserProvidesFilesWithoutJMS) {
4343
}
4444

4545
TEST(SmokeTest, UserProvidesFilesWithJMS) {
46-
constexpr int taskID = 2025, hashID = 256118677;
46+
constexpr int taskID = 2025;
47+
#ifdef TEST_WITH_LOCALHOST
48+
constexpr int hashID = 886118677;
49+
#else
50+
constexpr int hashID = 256118677;
51+
#endif
52+
4753
const std::filesystem::path RESOURCE_DIRECTORY{RESOURCE_DIR};
4854
const std::filesystem::path OUTPUT_TARGET{RESOURCE_DIRECTORY /std::format("SimID_{}_0_.ida", hashID)};
4955
const std::array NECESSARY_FILES{

0 commit comments

Comments
 (0)