sunwait

Commits at 7f990b65b416c2845874f6e099ffe596940a389d

  1. 7f990b65 Add "--at" option to "poll" command For testing. Shota FUJI authored at Shota FUJI comitted at
  2. 72e50fd3 Fix timeout calculation applied in inverted way That fucking variable negates timezone offset for some unknown reason (probably American programming this time too.) Shota FUJI authored at Shota FUJI comitted at
  3. 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
  4. c60756e3 Remove snapshot test for "version" command It was there as a demo. Shota FUJI authored at Shota FUJI comitted at
  5. 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
  6. 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
  7. 6c53f057 Add E2E test for incorrect CLI usage Shota FUJI authored at Shota FUJI comitted at
  8. 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
  9. 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
  10. 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
  11. f20b6a42 Fix grammar on help message Shota FUJI authored at Shota FUJI comitted at
  12. 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
  13. 237048ce Document how to build man page Shota FUJI authored at Shota FUJI comitted at
  14. 5b18e92e Defaults to the new Zig CLI Every functionality I'm aware of has been migrated. Shota FUJI authored at Shota FUJI comitted at
  15. b1606ed6 Add examples in original USAGE.txt as behavior tests Final check. Shota FUJI authored at Shota FUJI comitted at
  16. 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
  17. fea537ab Offset CLI argument Shota FUJI authored at Shota FUJI comitted at
  18. bdb74658 Fix incorrect offset usage in man page Shota FUJI authored at Shota FUJI comitted at
  19. 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
  20. 30ddee1c Twilight angle CLI argument Shota FUJI authored at Shota FUJI comitted at
  21. 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
  22. 1927160c Fix incorrect sunrise/sunset calculation on non-UTC timezone Shota FUJI authored at Shota FUJI comitted at
  23. 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
  24. 5be27e01 Parse date args on "report" command Shota FUJI authored at Shota FUJI comitted at
  25. 8e71843d Call "generate_report" on report command Shota FUJI authored at Shota FUJI comitted at
  26. 88c46686 Support hyphen-less "utc" flag Required for behavior matching tests. Shota FUJI authored at Shota FUJI comitted at
  27. f272abe2 Set correct default value for "targetTimet" Shota FUJI authored at Shota FUJI comitted at
  28. 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
  29. 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
  30. 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