rjeczalik / notify

File system event notification library on steroids.
MIT License
900 stars 128 forks source link

Add illumos build tags in the right places #188

Closed Toasterson closed 3 years ago

Toasterson commented 4 years ago

I added the new illumos build target to the right places analogous to the solaris build tag.

The buildtags inherit from one another so it did build on illumos already but this makes it future proof if the buildtags diverge at some date.

Also, the tests on illumos fail because of missing files?

--- FAIL: TestWatcherFen (0.33s)
    testing_test.go:219: testing_test.go:502: missing events for "notify/testdata/506863856/src/github.com/ppknap/link/include/coost/link/detail/stdhelpers" (notify.FileDelete)
    testing_test.go:219: testing_test.go:300: w.Watcher.Close()=open notify/testdata/506863856/src/github.com/ppknap/link/include/coost/link/detail: no such file or directory
--- FAIL: TestStopPathNotExists (0.60s)
    testing_test.go:219: testing_test.go:300: w.Watcher.Close()=open notify/testdata/603188642/src/github.com/ppknap: no such file or directory
FAIL
FAIL    github.com/rjeczalik/notify     17.235s
FAIL
rjeczalik commented 3 years ago

Thanks @Toasterson for the PR!

Also, the tests on illumos fail because of missing files?

The files are generated by the test helper, the failures indicate real issues, either the watcher impl is flaky or the test itself is flaky.

rjeczalik commented 3 years ago

@Toasterson If you rebase onto master I will merge it. Thanks!

Toasterson commented 3 years ago

Newest testing report. Seems a couple of operations are not supported but otherwise good.

vagrant@openindiana:/vagrant/notify$ go test -v              
=== RUN   TestEventString
--- PASS: TestEventString (0.00s)
=== RUN   TestNotifyExample
    testing_test.go:779: Watch(/vagrant/notify/testdata/518340291/src/github.com/rjeczalik/fs, 0xc00009f5c0, [notify.Write])=operation not supported
    testing_test.go:779: Watch(/vagrant/notify/testdata/518340291/src/github.com/pblaszczyk/qttu, 0xc00009f5c0, [notify.Write])=operation not supported
    testing_test.go:219: testing_test.go:934: ExpectNotifyEvents did not receive any of the expected events [Event(notify.Write)@src/github.com/rjeczalik/fs/fs.go] after 2s (i=0)
--- FAIL: TestNotifyExample (2.14s)
=== RUN   TestStop
    notify_test.go:102: TODO(rjeczalik)
--- SKIP: TestStop (0.00s)
=== RUN   TestNonrecursiveTree
--- PASS: TestNonrecursiveTree (3.96s)
=== RUN   TestNonrecursiveTreeInternal
--- PASS: TestNonrecursiveTreeInternal (2.65s)
=== RUN   TestRecursiveTree
--- PASS: TestRecursiveTree (5.97s)
=== RUN   TestRecursiveTreeWatchInactiveMerge
--- PASS: TestRecursiveTreeWatchInactiveMerge (0.48s)
=== RUN   TestRecursiveTree_Windows
--- PASS: TestRecursiveTree_Windows (0.29s)
=== RUN   TestCanonicalNoSymlink
--- PASS: TestCanonicalNoSymlink (0.00s)
=== RUN   TestJoinevents
--- PASS: TestJoinevents (0.00s)
=== RUN   TestTreeSplit
--- PASS: TestTreeSplit (0.00s)
=== RUN   TestTreeBase
--- PASS: TestTreeBase (0.00s)
=== RUN   TestTreeIndexSep
--- PASS: TestTreeIndexSep (0.00s)
=== RUN   TestTreeLastIndexSep
--- PASS: TestTreeLastIndexSep (0.00s)
=== RUN   TestCleanpath
    util_test.go:141: TODO(rjeczalik)
--- SKIP: TestCleanpath (0.00s)
=== RUN   TestCanonical
--- PASS: TestCanonical (0.01s)
=== RUN   TestCanonicalCircular
--- PASS: TestCanonicalCircular (0.00s)
=== RUN   TestCanonical_RelativeSymlink
--- PASS: TestCanonical_RelativeSymlink (0.01s)
=== RUN   TestWatcherFen
    testing_test.go:196: Walk("/vagrant/notify/testdata/176913680", fn)=operation not supported
--- FAIL: TestWatcherFen (0.04s)
=== RUN   TestWatcher
    testing_test.go:196: Walk("/vagrant/notify/testdata/622925103", fn)=operation not supported
--- FAIL: TestWatcher (0.04s)
=== RUN   TestStopPathNotExists
    testing_test.go:196: Walk("/vagrant/notify/testdata/804778690", fn)=operation not supported
--- FAIL: TestStopPathNotExists (0.04s)
=== RUN   TestWatcherUnwatch
    testing_test.go:196: Walk("/vagrant/notify/testdata/107091769", fn)=operation not supported
--- FAIL: TestWatcherUnwatch (0.04s)
=== RUN   TestWatcherCreateOnly
    testing_test.go:196: Walk("/vagrant/notify/testdata/913013060", fn)=operation not supported
--- FAIL: TestWatcherCreateOnly (0.03s)
=== RUN   TestWatchpoint
--- PASS: TestWatchpoint (0.00s)
FAIL
exit status 1
FAIL    github.com/rjeczalik/notify     15.713s
rjeczalik commented 3 years ago

@Toasterson Thanks! We do not have illumos builder to take a stab at it. Until then the support for it will be limited.

Nevertheless this PR looks ok, thanks for sending it and sorry it took that much time to respond!