name: htsn
-version: 0.0.6
+version: 0.0.7
cabal-version: >= 1.8
author: Michael Orlitzky
maintainer: Michael Orlitzky <michael@orlitzky.com>
doc/htsnrc.example
doc/man1/htsn.1
doc/init.openrc
+ test/shell/*.test
test/xml/*.xml
synopsis:
Parse XML files from The Sports Network feed.
-O2
+-- These won't work without shelltestrunner installed in your
+-- $PATH. Maybe there is some way to tell Cabal that.
+test-suite shelltests
+ type: exitcode-stdio-1.0
+ hs-source-dirs: src test
+ main-is: ShellTests.hs
+ build-depends:
+ base == 4.*,
+ cmdargs >= 0.10.6,
+ configurator == 0.2.*,
+ directory == 1.2.*,
+ filepath == 1.3.*,
+ hdaemonize == 0.4.*,
+ hslogger == 1.2.*,
+ htsn-common == 0.0.1,
+ hxt == 9.3.*,
+ MissingH == 1.2.*,
+ network == 2.4.*,
+ process == 1.1.*,
+ tasty == 0.7.*,
+ tasty-hunit == 0.4.*,
+ unix == 2.6.*
+
+ -- It's not entirely clear to me why I have to reproduce all of this.
+ ghc-options:
+ -Wall
+ -fwarn-hi-shadowing
+ -fwarn-missing-signatures
+ -fwarn-name-shadowing
+ -fwarn-orphans
+ -fwarn-type-defaults
+ -fwarn-tabs
+ -fwarn-incomplete-record-updates
+ -fwarn-monomorphism-restriction
+ -fwarn-unused-do-bind
+ -O2
+
+
source-repository head
type: git
location: http://michael.orlitzky.com/git/htsn.git
let cfg = (def :: Configuration) `merge_optional` opt_config
init_logging (log_level cfg) (log_file cfg) (syslog cfg)
- -- Check the optional config for missing required options. This is
- -- necessary because if the user specifies an empty list of
- -- hostnames in e.g. the config file, we want to bail rather than
- -- fall back on the default list (which was merged from a default
- -- Configuration above).
- when (null $ get_feed_hosts (OC.feed_hosts opt_config)) $ do
- report_error "No feed hosts supplied."
- exitWith (ExitFailure exit_no_feed_hosts)
-
+ -- Check the optional config for missing required options.
when (isNothing (OC.password opt_config)) $ do
report_error "No password supplied."
exitWith (ExitFailure exit_no_password)
report_error "No username supplied."
exitWith (ExitFailure exit_no_username)
+ -- This should be impossible. We had a choice to make: since the
+ -- command-line feed_hosts are usually not supplied, we don't want
+ -- to take the empty list supplied on the command-line and use
+ -- that. But that means that we need to do the same thing if the
+ -- user supplies an empty list in the config file. That "same thing"
+ -- is to use the default list. So, this should never be empty,
+ -- because if the optional config has no feed hosts, we use the
+ -- default list.
+ when (null $ get_feed_hosts (feed_hosts cfg)) $ do
+ report_error "No feed hosts supplied."
+ exitWith (ExitFailure exit_no_feed_hosts)
+
when (daemonize cfg) $ do
-- Old PID files can be left around after an unclean shutdown. We
-- only care if we're running as a daemon.
--- /dev/null
+#
+# If a feed host is supplied on the command-line, it should override
+# the default list. Since htsn attempts to run forever, we sleep for a
+# second after starting it and then kill it ($! is its pid).
+#
+dist/build/htsn/htsn -u foo --password bar localhost & sleep 1; kill $!
+>>> /Connecting to localhost./
+>>>2 /ERROR: connect: does not exist \(Connection refused\)/
+>>>=0