BOOST_FIXTURE_TEST_CASE(test_error, ParserFixture) { RedisValue value = parse("-Error message\r\n"); BOOST_CHECK_EQUAL(value.toString(), "Error message"); BOOST_CHECK_EQUAL(value.isError(), true); BOOST_CHECK_EQUAL(value.isOk(), false); }
void redisworker::task(const RedisValue& value) { if(value.isOk()) { std::cout<<value.toArray()[0].toString()<<std::endl; std::cout<<value.toArray()[1].toString()<<std::endl; m_taskcb(value); m_redis.command("BRPOP",m_para.task_title,"push:test2",0,boost::bind(&redisworker::onBrpop,this,_1)); if(value.toArray()[1].toString() == m_para.quitcmd) m_ioService.stop(); } else { std::cerr<<"BRPOP: error"<<value.toString()<<std::endl; } }
int main(int, char **) { boost::asio::ip::address address = boost::asio::ip::address::from_string("127.0.0.1"); const unsigned short port = 6379; boost::asio::io_service ioService; RedisSyncClient redis(ioService); std::string errmsg; if( !redis.connect(address, port, errmsg) ) { std::cerr << "Can't connect to redis: " << errmsg << std::endl; return EXIT_FAILURE; } RedisValue result; int i = 0; while (true) { std::stringstream s; s << i++; result = redis.command("SET", "key", "value: " + s.str()); if( result.isError() ) { std::cerr << "SET error: " << result.toString() << "\n"; return EXIT_FAILURE; } result = redis.command("GET", "key"); if( result.isOk() ) { std::cout << "GET: " << result.toString() << "\n"; // return EXIT_SUCCESS; } else { std::cerr << "GET error: " << result.toString() << "\n"; // return EXIT_FAILURE; } } }