sunwait

Commits at 200c24e23ece4a8426cf2d0218c0b11155c508e8

  1. 200c24e2 Fix test changes its snapshot day to day Due to lack of "--from", test result differs depends on the date test ran. Shota FUJI authored at Shota FUJI comitted at
  2. c60756e3 Remove snapshot test for "version" command It was there as a demo. Shota FUJI authored at Shota FUJI comitted at
  3. f690ac25 Add "--from" option to "list" command It was nearly impossible to test due to reference to the system time. Shota FUJI authored at Shota FUJI comitted at
  4. 08f471e4 Setup snapshot testings Behavior matching tests is helpful, but it prevents me from adding, changing or improving existing functionality. Snapshot testing solves this problem. Here is my plan: 1. Add a way to fix time (new CLI arg or C API something) 2. Create snapshots for behavior matching tests 3. Delete behavior matching tests This file-based snapshotting works great with external tools. In a future when I add a structured output (e.g. JSON,) difftastic would help diff-ing a lot. The reason I choose "version" command is it does not rely on system time. Even "report" command prints current time to output and that messes snapshot testing up. Shota FUJI authored at Shota FUJI comitted at
  5. 6c53f057 Add E2E test for incorrect CLI usage Shota FUJI authored at Shota FUJI comitted at
  6. 4cc8a62f E2E testing As I'm going to add features and changes to existing behavior, tests not bound to legacy program is necessary. Shota FUJI authored at Shota FUJI comitted at
  7. 7d352678 Add --date option to report command It supersedes "y", "m" and "d" options. I'm yet to decide it should be positional or labelled, so CLI currently accepts both. Shota FUJI authored at Shota FUJI comitted at
  8. 18912188 Separate arg parser code into several files It was not easy to read, and I'm going to add more logic to arg parsers. Shota FUJI authored at Shota FUJI comitted at
  9. f20b6a42 Fix grammar on help message Shota FUJI authored at Shota FUJI comitted at
  10. 8f2024a8 Update man pages to the new CLI Previous CLI don't fit well to man page format, especially due to its hyphen-less semi-positional sometimes-ignored options. Shota FUJI authored at Shota FUJI comitted at
  11. 237048ce Document how to build man page Shota FUJI authored at Shota FUJI comitted at
  12. 5b18e92e Defaults to the new Zig CLI Every functionality I'm aware of has been migrated. Shota FUJI authored at Shota FUJI comitted at
  13. b1606ed6 Add examples in original USAGE.txt as behavior tests Final check. Shota FUJI authored at Shota FUJI comitted at
  14. 37828fd1 Wait command No behavior tests for this. How should I do CLI program that performs `sleep()`? Shota FUJI authored at Shota FUJI comitted at
  15. fea537ab Offset CLI argument Shota FUJI authored at Shota FUJI comitted at
  16. bdb74658 Fix incorrect offset usage in man page Shota FUJI authored at Shota FUJI comitted at
  17. 024f9127 Fix prints "unknown argument" for incorrect arguments Errors other than UnknownArg, such as MissingValue logs eariler. UnknownArg is also used as a "skip" signal and there were no other error in an error set, that's why the log was here. I simply forgot to remove that when I added other error values. Shota FUJI authored at Shota FUJI comitted at
  18. 30ddee1c Twilight angle CLI argument Shota FUJI authored at Shota FUJI comitted at
  19. 64f0da64 Event type arguments for list command I initially thought these args affects every command. Turned out, only "list" and "wait" commands use those args. That's why I set those as command options rather than global options. This time, I choose correctness and user-friendliness over backwards-compatibility. Shota FUJI authored at Shota FUJI comitted at
  20. 1927160c Fix incorrect sunrise/sunset calculation on non-UTC timezone Shota FUJI authored at Shota FUJI comitted at
  21. 304fec8b Fix invalid CLI argument does not abort parsing Invalid argument, such as "d foo" should abort and prints usage error. Shota FUJI authored at Shota FUJI comitted at
  22. 5be27e01 Parse date args on "report" command Shota FUJI authored at Shota FUJI comitted at
  23. 8e71843d Call "generate_report" on report command Shota FUJI authored at Shota FUJI comitted at
  24. 88c46686 Support hyphen-less "utc" flag Required for behavior matching tests. Shota FUJI authored at Shota FUJI comitted at
  25. f272abe2 Set correct default value for "targetTimet" Shota FUJI authored at Shota FUJI comitted at
  26. 4a52d259 Run "print_list" on "list" command It does not work correctly because the default value of `target_time` being the same as `now` instead of "start of the day of `now`." Anyway, the command prints something and exits with expected status. That's okay for now. Shota FUJI authored at Shota FUJI comitted at
  27. 66781b3d Fix lat/lon accepts negative number with suffix Values like -1.2345N are illegal and confusing. As I've added "--latitude" and "--longitude" options, there are no need for supporting negative suffixed values. Shota FUJI authored at Shota FUJI comitted at
  28. c5402dc6 Add --latitude and --longitude options This is obvious and less error-prone. I'm gonna keep non-flag variants for compatibility. Shota FUJI authored at Shota FUJI comitted at
  29. 74ebda97 Defer getting now/target time CLI does not take argument for "now". Also "target" defaults to "now". Shota FUJI authored at Shota FUJI comitted at
  30. 7b4e63f6 Print poll result to stdout Shota FUJI authored at Shota FUJI comitted at