|
From: <chr...@us...> - 2012-02-29 10:44:30
|
Revision: 3578
http://dlvhex.svn.sourceforge.net/dlvhex/?rev=3578&view=rev
Author: chrisr86
Date: 2012-02-29 10:44:19 +0000 (Wed, 29 Feb 2012)
Log Message:
-----------
merge trunk 3555:3566 into refactoring branch
Modified Paths:
--------------
dlvhex/branches/dlvhex-refactoring/testsuite/Makefile.am
Added Paths:
-----------
dlvhex/branches/dlvhex-refactoring/testsuite/TestDLVProcess.cpp
Property Changed:
----------------
dlvhex/branches/dlvhex-refactoring/
dlvhex/branches/dlvhex-refactoring/dlvhex2.pc.in
Property changes on: dlvhex/branches/dlvhex-refactoring
___________________________________________________________________
Modified: svn:mergeinfo
- /dlvhex/branches/Release_1_7_1:2266-2271
/dlvhex/branches/aspsolver_weak_parser_extension:2197-2210
/dlvhex/branches/dlvhex+mlp:1979-3104
/dlvhex/branches/dlvhex-add-better-benchmarking:2150-2177
/dlvhex/branches/dlvhex-fix-nonmon-atoms:2095-2099
/dlvhex/branches/dlvhex-refactoring-evalheurimprovements:3189-3296
/dlvhex/branches/dlvhex-refactoring-modularparser:2930*,3037
/dlvhex/branches/dlvhex-refactoring-spiritv2:3003-3045
/dlvhex/branches/dlvhex-spirit-refactoring:1603-1611,1615-1616,1619,1621-1629
/dlvhex/branches/release2x:3240-3339
/dlvhex/tags/Release_1_7_0:2130-2265
/dlvhex/trunk:2241-2410,2422,2505,2510,2525,2527,2552-2553,2564-2565,2625,3195-3238,3247-3367,3369-3370,3373,3386-3387,3390,3397,3402-3532
+ /dlvhex/branches/Release_1_7_1:2266-2271
/dlvhex/branches/aspsolver_weak_parser_extension:2197-2210
/dlvhex/branches/dlvhex+mlp:1979-3104
/dlvhex/branches/dlvhex-add-better-benchmarking:2150-2177
/dlvhex/branches/dlvhex-fix-nonmon-atoms:2095-2099
/dlvhex/branches/dlvhex-refactoring-evalheurimprovements:3189-3296
/dlvhex/branches/dlvhex-refactoring-modularparser:2930*,3037
/dlvhex/branches/dlvhex-refactoring-spiritv2:3003-3045
/dlvhex/branches/dlvhex-spirit-refactoring:1603-1611,1615-1616,1619,1621-1629
/dlvhex/branches/release2x:3240-3339
/dlvhex/tags/Release_1_7_0:2130-2265
/dlvhex/trunk:2241-2410,2422,2505,2510,2525,2527,2552-2553,2564-2565,2625,3195-3238,3247-3367,3369-3370,3373,3386-3387,3390,3397,3402-3532,3556-3566
Property changes on: dlvhex/branches/dlvhex-refactoring/dlvhex2.pc.in
___________________________________________________________________
Modified: svn:mergeinfo
- /dlvhex/trunk/dlvhex2.pc.in:3369-3370,3373,3386-3387,3390,3397,3402-3532
+ /dlvhex/trunk/dlvhex2.pc.in:3369-3370,3373,3386-3387,3390,3397,3402-3532,3556-3566
Modified: dlvhex/branches/dlvhex-refactoring/testsuite/Makefile.am
===================================================================
--- dlvhex/branches/dlvhex-refactoring/testsuite/Makefile.am 2012-02-28 12:39:42 UTC (rev 3577)
+++ dlvhex/branches/dlvhex-refactoring/testsuite/Makefile.am 2012-02-29 10:44:19 UTC (rev 3578)
@@ -40,12 +40,14 @@
TestModelGraph \
TestEvalGraph \
TestOnlineModelBuilder \
- TestOfflineModelBuilder
+ TestOfflineModelBuilder \
+ TestDLVProcess
check_PROGRAMS = \
$(AUTOMATED_TEST_PROGS) \
TestTestPluginStatic \
- TestPlainHEX
+ TestPlainHEX \
+ TestDLVProcess
TESTS = \
run-dlvhex-tests.sh \
@@ -173,3 +175,7 @@
fixtureEx1.cpp \
$(top_srcdir)/src/Logger.cpp \
$(top_srcdir)/src/CAUAlgorithms.cpp
+
+TestDLVProcess_SOURCES = \
+ TestDLVProcess.cpp
+TestDLVProcess_LDADD = $(LDADD_ASPSOLVER)
\ No newline at end of file
Copied: dlvhex/branches/dlvhex-refactoring/testsuite/TestDLVProcess.cpp (from rev 3566, dlvhex/trunk/testsuite/TestDLVProcess.cpp)
===================================================================
--- dlvhex/branches/dlvhex-refactoring/testsuite/TestDLVProcess.cpp (rev 0)
+++ dlvhex/branches/dlvhex-refactoring/testsuite/TestDLVProcess.cpp 2012-02-29 10:44:19 UTC (rev 3578)
@@ -0,0 +1,95 @@
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif // HAVE_CONFIG_H
+
+#include "dlvhex2/DLVProcess.h"
+
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE "testDLVProcess"
+#include <boost/test/unit_test.hpp>
+#include <boost/thread.hpp>
+
+
+DLVHEX_NAMESPACE_USE
+
+class SimpleEvaluator
+{
+public:
+ SimpleEvaluator(const std::string& in)
+ : input(in)
+ { }
+
+ void
+ solve()
+ {
+ proc = new DLVProcess;
+ proc->setPath(DLVPATH);
+ proc->addOption("-silent");
+ proc->addOption("-facts");
+ proc->addOption("--");
+ proc->spawn();
+
+ std::ostream& programStream = proc->getOutput();
+ programStream << input;
+ programStream.flush();
+ proc->endoffile();
+
+ std::cerr << "input = " << std::endl << input << std::endl;
+
+ std::istream& is = proc->getInput();
+
+ std::cerr << "Getting results: " << std::endl;
+ std::size_t count = 0;
+
+ std::cerr << "Ans " << ++count;
+ std::string res;
+ std::getline(is, res);
+ std::cerr << ": ";
+ if (res.empty())
+ {
+ std::cerr << "Break now! res.empty()" << std::endl;
+ //break;
+ }
+ else if (is.bad())
+ {
+ std::cerr << "Break now! is.bad()" << std::endl;
+ //break;
+ }
+ std::cerr << res << std::endl;
+
+ std::cerr << std::endl;
+ delete proc;
+ proc = 0;
+ }
+
+private:
+ DLVProcess* proc;
+ std::string input;
+};
+
+BOOST_AUTO_TEST_CASE ( testDLVProcess )
+{
+ std::string line1 = "a v b :- c.\n";
+ std::string line2 = "c v d :- e.\n";
+ std::string line3 = "e v f :- g.\n";
+ std::string line4 = "g v h :- i.\n";
+ std::string line5 = "i v j.\n";
+
+ std::string program = "";
+ program = program + line1 + line2 + line3 + line4 + line5;
+
+ SimpleEvaluator se(program);
+
+ se.solve();
+ se.solve();
+ se.solve();
+ se.solve();
+ se.solve();
+ se.solve();
+ se.solve();
+ se.solve();
+}
+
+// Local Variables:
+// mode: C++
+// End:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|