ITADN

zprint.main-test failing when run on my dev box

#355Openlread 创建于 2025-05-16
L
lreadcommented
Hiya @kkinnear! While updating zprint to 1.3.0 in rewrite-clj's canary tests, I noticed that a test in `main-tests` is failing for me. ## Environment Linux Pop!_OS, JDK 17 ## Setup ```shell $ git clone git@github.com:kkinnear/zprint.git $ cd zprint $ git reset 1.3.0 --hard ``` ## Repro ``` $ clojure -Srepro -M:cljtest ``` ## Expected Behaviour All tests pass ## Actual Behaviour I get a single test failing: ``` Running tests in #{"test"} Testing zprint.comment-test Testing zprint.config-test Testing zprint.core-test Testing zprint.finish-test Testing zprint.guide-test Testing zprint.main-test FAIL in (main-tests) (main_test.cljc:211) (with-out-str (binding [*err* *out*] (-main ":debug" "{:files {:glob \"tt*_test.clj\"}}" "-lfsw"))) matches: "Processing file tt" >>> expected diverges: "t_test.clj\n2_test.clj\nFailed to write output file: tt2_test.clj because java.io.FileNotFoundException: tt2_test.clj (Permission denied)\nProcessed 2 files, with 1 error, 1 of which required formatting.\n" >>> actual diverges: "2_test.clj\nFailed to write output file: tt2_test.clj because java.io.FileNotFoundException: tt2_test.clj (Permission denied)\nt_test.clj\nProcessed 2 files, with 1 error, 1 of which required formatting.\n" expected: "Processing file ttt_test.clj\nProcessing file tt2_test.clj\nFailed to write output file: tt2_test.clj because java.io.FileNotFoundException: tt2_test.clj (Permission denied)\nProcessed 2 files, with 1 error, 1 of which required formatting.\n" actual: "Processing file tt2_test.clj\nFailed to write output file: tt2_test.clj because java.io.FileNotFoundException: tt2_test.clj (Permission denied)\nProcessing file ttt_test.clj\nProcessed 2 files, with 1 error, 1 of which required formatting.\n" diff: - "Processing file ttt_test.clj\nProcessing file tt2_test.clj\nFailed to write output file: tt2_test.clj because java.io.FileNotFoundException: tt2_test.clj (Permission denied)\nProcessed 2 files, with 1 error, 1 of which required formatting.\n" + "Processing file tt2_test.clj\nFailed to write output file: tt2_test.clj because java.io.FileNotFoundException: tt2_test.clj (Permission denied)\nProcessing file ttt_test.clj\nProcessed 2 files, with 1 error, 1 of which required formatting.\n" Didn't find uberjar target/zprint-filter-1.3.0 , skipping 13 uberjar tests!! Testing zprint.range-test Testing zprint.rewrite-test Testing zprint.spec-test Testing zprint.zprint-test Testing zprint.zutil-test Ran 11 tests containing 2001 assertions. 1 failures, 0 errors. ``` ## Diagnosis Source for failing test: https://github.com/kkinnear/zprint/blob/118d10b10df0b061d94c02cf1881a399b3cbc6c0/test/zprint/main_test.cljc#L211-L215 It looks to me like the test expects the files to be processed in a specific order. But that specific order does not match on my particular dev box. Perhaps if zprint were to sort files resulting from a glob match before processing them, that would do the trick? I'll go ahead and tell rewrite-clj to skip this test when testing against zprint 1.3.0, but thought you'd be interested to know about the failure.
2 条评论