Modificato: si (l'OP) menzionato si utilizza OSX. Non sono a conoscenza di strumenti simili su OSX. Esiste una chiamata di sistema di basso livello (ereditata da BSD) denominata "kqueue", ma è necessario implementare il proprio strumento a livello utente. C'è un'applicazione di esempio di Apple, chiamata "Watcher", ma è solo a prova di concetto e non fa ciò che vuoi.
C'è lo another thread su questo su Stack Overflow (anche inconcludente).
Per mancanza di uno strumento appropriato, se si sta utilizzando un linguaggio di programmazione specifico, consiglierei di cercare soluzioni già scritte per questo. In caso contrario, penso che sei bloccato a polling e la gestione dei cambiamenti da soli ...
Ecco il mio originale, risposta basato su Linux, per scopi di archiviazione:
Se stai usando Linux, si potrebbe desiderare di dai un'occhiata a inotify. Più in particolare, è possibile installare inotify-tools, che includono inotifywait
.
Con esso, è possibile monitorare file e directory per un numero di eventi, ad esempio accesso, modifica, apertura, chiusura e molti altri. inotifywait
può uscire una volta che è stato rilevato l'evento specificato, e così un ciclo semplice sarebbe ottenere ciò che si vuole:
while :; do
inotifywait -e modify /some/directory
run_test_suite
done
Tra l'altro, molti linguaggi di programmazione e ambienti hanno già i loro corridori di test continuo (per esempio, con Python puoi usare tdaemon, tra gli altri).
Sede [questa FAQ] (http://inotify.aiken.cz/?section=inotify&page=faq&lang=en) (quarta questione e la pagina si collega a) . –
dnotify sembra perfetto, tranne che io sono su un Mac.Scusa, avrei dovuto dirlo nel mio post. – Thomas
Dovrei secondo ciò che Dennis ha indicato: non usare dnotify, usa invece inotify. – rbp