Skip to content

Instantly share code, notes, and snippets.

@lehnerpat
Last active October 6, 2016 14:54

Revisions

  1. lehnerpat renamed this gist Jul 9, 2014. 1 changed file with 0 additions and 0 deletions.
  2. lehnerpat revised this gist Jul 9, 2014. 1 changed file with 131 additions and 0 deletions.
    131 changes: 131 additions & 0 deletions inw-output-test-sidebyside.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,131 @@
    ----------------------------------------------------------------|-------------------------------------------------------------------------
    Linux (Bash) | Windows (Git Bash)
    ----------------------------------------------------------------|-------------------------------------------------------------------------
    |
    ############################################################
    ## TEST GROUP 1: simple events, watching absolute path ##
    ############################################################
    |
    {$ inotifywait -qmr /tmp/inwtest/} | {$ inotifywait.exe -qmr /d/tmp/inwtest/}
    |
    [/tmp/inwtest]$ touch testfile | [/d/tmp/inwtest]$ touch testfile
    |
    /tmp/inwtest/ CREATE testfile | d:\tmp\inwtest\ CREATE testfile
    /tmp/inwtest/ OPEN testfile |
    /tmp/inwtest/ ATTRIB testfile |
    /tmp/inwtest/ CLOSE_WRITE,CLOSE testfile |
    |
    [/tmp/inwtest]$ mkdir testdir | [/d/tmp/inwtest]$ mkdir testdir
    |
    /tmp/inwtest/ CREATE,ISDIR testdir | d:\tmp\inwtest\ CREATE testdir
    /tmp/inwtest/ OPEN,ISDIR testdir |
    /tmp/inwtest/ CLOSE_NOWRITE,CLOSE,ISDIR testdir |
    |
    [/tmp/inwtest]$ echo "what" > testfile | [/d/tmp/inwtest]$ echo "what" > testfile
    |
    /tmp/inwtest/ MODIFY testfile | d:\tmp\inwtest\ MODIFY testfile
    /tmp/inwtest/ OPEN testfile |
    /tmp/inwtest/ MODIFY testfile |
    /tmp/inwtest/ CLOSE_WRITE,CLOSE testfile |
    |
    [/tmp/inwtest]$ mv testfile otherfile | [/d/tmp/inwtest]$ mv testfile otherfile
    |
    /tmp/inwtest/ MOVED_FROM testfile | d:\tmp\inwtest\ MOVE_FROM testfile
    /tmp/inwtest/ MOVED_TO otherfile | d:\tmp\inwtest\ MOVE_TO otherfile
    |
    |
    ############################################################
    ################################### ## TEST GROUP 2: watching relative path (current dir) ## #########################################
    ############################################################
    |
    ### TEST 2a: no exclusion pattern ###
    |
    |
    {[/tmp/inwtest]$ inotifywait -qmr .} | {[/d/tmp/inwtest]$ inotifywait.exe -qmr .}
    |
    # 2a1 | # 2a1
    [/tmp/inwtest]$ mv otherfile testdir/ | [/d/tmp/inwtest]$ mv otherfile testdir/
    |
    ./ MOVED_FROM otherfile | d:\tmp\inwtest DELETE otherfile
    ./testdir/ MOVED_TO otherfile |
    |
    # 2a2 | # 2a2
    [/tmp/inwtest]$ mkdir -p testdir/2dir/3dir | [/d/tmp/inwtest]$ mkdir -p testdir/2dir/3dir
    |
    ./testdir/ CREATE,ISDIR 2dir | d:\tmp\inwtest CREATE testdir\2dir
    ./testdir/ OPEN,ISDIR 2dir |
    ./testdir/ CLOSE_NOWRITE,CLOSE,ISDIR 2dir |
    ./testdir/ OPEN,ISDIR 2dir |
    ./testdir/ CLOSE_NOWRITE,CLOSE,ISDIR 2dir |
    |
    # 2a3 | # 2a3
    [/tmp/inwtest]$ touch testdir/2dir/3dir/subfile | [/d/tmp/inwtest]$ touch testdir/2dir/3dir/subfile
    |
    ./testdir/2dir/3dir/ CREATE subfile | d:\tmp\inwtest CREATE testdir\2dir\3dir\subfile
    ./testdir/2dir/3dir/ OPEN subfile |
    ./testdir/2dir/3dir/ ATTRIB subfile |
    ./testdir/2dir/3dir/ CLOSE_WRITE,CLOSE subfile |
    |
    ----------------------------------------------------------------|-------------------------------------------------------------------------
    |
    ### Test 2b ###
    |
    |
    {[/tmp/inwtest]$ mkdir .git} | {[/d/tmp/inwtest]$ mkdir .git}
    {[/tmp/inwtest]$ inotifywait -qmr --exclude '^\.git/' .} | {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude '^\.git\\' .}
    |
    [/tmp/inwtest]$ touch .git/gitfile | [/d/tmp/inwtest]$ touch .git/gitfile
    |
    ./.git/ CREATE gitfile | # no output
    ./.git/ OPEN gitfile |
    ./.git/ ATTRIB gitfile |
    ./.git/ CLOSE_WRITE,CLOSE gitfile |
    |
    ----------------------------------------------------------------|-------------------------------------------------------------------------
    |
    ### Test 2c ###
    |
    |
    {[/tmp/inwtest]$ inotifywait -qmr --exclude '\.git/' .} | {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude '\.git\\' .}
    |
    [/tmp/inwtest]$ touch .git/gitfile | [/d/tmp/inwtest]$ touch .git/gitfile
    |
    # no output | # no output
    |
    ----------------------------------------------------------------|-------------------------------------------------------------------------
    |
    ### Test 2d ###
    |
    |
    {[/tmp/inwtest]$ inotifywait -qmr --exclude '^\./\.git/' .} | {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude '^\.\\\.git\\' .}
    |
    [/tmp/inwtest]$ touch .git/gitfile | [/d/tmp/inwtest]$ touch .git/gitfile
    |
    # no output | d:\tmp\inwtest MODIFY .git\gitfile
    |
    ----------------------------------------------------------------|-------------------------------------------------------------------------
    |
    ### Test 2e ###
    |
    |
    {[/tmp/inwtest]$ inotifywait -qmr --exclude 'inwtest/\.git/' .} | {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude 'inwtest\\\.git\\' .}
    |
    [/tmp/inwtest]$ touch .git/gitfile | [/d/tmp/inwtest]$ touch .git/gitfile
    |
    ./.git/ OPEN gitfile | d:\tmp\inwtest MODIFY .git\gitfile
    ./.git/ ATTRIB gitfile | # because full path is not used for matching
    ./.git/ CLOSE_WRITE,CLOSE gitfile |
    # because prefix is not resolved/canonicalized |
    |
    ----------------------------------------------------------------|-------------------------------------------------------------------------
    |
    ### Test 2f ###
    |
    |
    {[/tmp/inwtest]$ inotifywait -qmr --exclude '\.git/gitfile$' .} | {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude '\.git\\gitfile$' .}
    |
    [/tmp/inwtest]$ touch .git/gitfile | [/d/tmp/inwtest]$ touch .git/gitfile
    |
    # no output | # no output
    |
    ----------------------------------------------------------------|-------------------------------------------------------------------------
  3. lehnerpat created this gist Jul 9, 2014.
    122 changes: 122 additions & 0 deletions inw-output-test-linux.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,122 @@
    ############################################################
    ## TEST GROUP 1: simple events, watching absolute path
    ############################################################

    {$ inotifywait -qmr /tmp/inwtest/}

    [/tmp/inwtest]$ touch testfile

    /tmp/inwtest/ CREATE testfile
    /tmp/inwtest/ OPEN testfile
    /tmp/inwtest/ ATTRIB testfile
    /tmp/inwtest/ CLOSE_WRITE,CLOSE testfile

    [/tmp/inwtest]$ mkdir testdir

    /tmp/inwtest/ CREATE,ISDIR testdir
    /tmp/inwtest/ OPEN,ISDIR testdir
    /tmp/inwtest/ CLOSE_NOWRITE,CLOSE,ISDIR testdir

    [/tmp/inwtest]$ echo "what" > testfile

    /tmp/inwtest/ MODIFY testfile
    /tmp/inwtest/ OPEN testfile
    /tmp/inwtest/ MODIFY testfile
    /tmp/inwtest/ CLOSE_WRITE,CLOSE testfile

    [/tmp/inwtest]$ mv testfile otherfile

    /tmp/inwtest/ MOVED_FROM testfile
    /tmp/inwtest/ MOVED_TO otherfile


    ############################################################
    ## TEST GROUP 2: watching relative path (current dir)
    ############################################################

    # TEST 2a: no exclusion pattern


    {[/tmp/inwtest]$ inotifywait -qmr .}

    [/tmp/inwtest]$ mv otherfile testdir/

    ./ MOVED_FROM otherfile
    ./testdir/ MOVED_TO otherfile

    [/tmp/inwtest]$ mkdir -p testdir/2dir/3dir

    ./testdir/ CREATE,ISDIR 2dir
    ./testdir/ OPEN,ISDIR 2dir
    ./testdir/ CLOSE_NOWRITE,CLOSE,ISDIR 2dir
    ./testdir/ OPEN,ISDIR 2dir
    ./testdir/ CLOSE_NOWRITE,CLOSE,ISDIR 2dir

    [/tmp/inwtest]$ touch testdir/2dir/3dir/subfile

    ./testdir/2dir/3dir/ CREATE subfile
    ./testdir/2dir/3dir/ OPEN subfile
    ./testdir/2dir/3dir/ ATTRIB subfile
    ./testdir/2dir/3dir/ CLOSE_WRITE,CLOSE subfile

    ------------------------------------------------------------

    # Test 2b


    {[/tmp/inwtest]$ mkdir .git}
    {[/tmp/inwtest]$ inotifywait -qmr --exclude '^\.git/' .}

    [/tmp/inwtest]$ touch .git/gitfile

    ./.git/ CREATE gitfile
    ./.git/ OPEN gitfile
    ./.git/ ATTRIB gitfile
    ./.git/ CLOSE_WRITE,CLOSE gitfile

    ------------------------------------------------------------

    # Test 2c


    {[/tmp/inwtest]$ inotifywait -qmr --exclude '\.git/' .}

    [/tmp/inwtest]$ touch .git/gitfile

    # no output

    ------------------------------------------------------------

    # Test 2d


    {[/tmp/inwtest]$ inotifywait -qmr --exclude '^\./\.git/' .}

    [/tmp/inwtest]$ touch .git/gitfile

    # no output

    ------------------------------------------------------------

    # Test 2e


    {[/tmp/inwtest]$ inotifywait -qmr --exclude 'inwtest/\.git/' .}

    [/tmp/inwtest]$ touch .git/gitfile

    ./.git/ OPEN gitfile
    ./.git/ ATTRIB gitfile
    ./.git/ CLOSE_WRITE,CLOSE gitfile
    # because prefix is not resolved/canonicalized

    ------------------------------------------------------------

    # Test 2f


    {[/tmp/inwtest]$ inotifywait -qmr --exclude '\.git/gitfile$' .}

    [/tmp/inwtest]$ touch .git/gitfile

    # no output
    103 changes: 103 additions & 0 deletions inw-output-test-windows.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,103 @@
    ## Note: commands were run in bash, thus the forward-slash syntax

    ############################################################
    ## TEST GROUP 1: simple events, watching absolute path
    ############################################################

    {$ inotifywait.exe -qmr /d/tmp/inwtest/}

    [/d/tmp/inwtest]$ touch testfile

    d:\tmp\inwtest\ CREATE testfile

    [/d/tmp/inwtest]$ mkdir testdir

    d:\tmp\inwtest\ CREATE testdir

    [/d/tmp/inwtest]$ echo "what" > testfile

    d:\tmp\inwtest\ MODIFY testfile

    [/d/tmp/inwtest]$ mv testfile otherfile

    d:\tmp\inwtest\ MOVE_FROM testfile
    d:\tmp\inwtest\ MOVE_TO otherfile


    ############################################################
    ## TEST GROUP 2: watching relative path (current dir)
    ############################################################

    # TEST 2a: no exclusion pattern


    {[/d/tmp/inwtest]$ inotifywait.exe -qmr .}

    [/d/tmp/inwtest]$ mv otherfile testdir/

    d:\tmp\inwtest DELETE otherfile

    [/d/tmp/inwtest]$ mkdir -p testdir/2dir/3dir

    d:\tmp\inwtest CREATE testdir\2dir

    [/d/tmp/inwtest]$ touch testdir/2dir/3dir/subfile

    d:\tmp\inwtest CREATE testdir\2dir\3dir\subfile

    ------------------------------------------------------------

    # Test 2b


    {[/d/tmp/inwtest]$ mkdir .git}
    {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude '^\.git\\' .}

    [/d/tmp/inwtest]$ touch .git/gitfile

    # no output

    ------------------------------------------------------------

    # Test 2c


    {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude '\.git\\' .}

    [/d/tmp/inwtest]$ touch .git/gitfile

    # no output

    ------------------------------------------------------------

    # Test 2d


    {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude '^\.\\\.git\\' .}

    [/d/tmp/inwtest]$ touch .git/gitfile

    d:\tmp\inwtest MODIFY .git\gitfile

    ------------------------------------------------------------

    # Test 2e


    {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude 'inwtest\\\.git\\' .}

    [/d/tmp/inwtest]$ touch .git/gitfile

    d:\tmp\inwtest MODIFY .git\gitfile
    # because full path is not used for matching

    ------------------------------------------------------------

    # Test 2f


    {[/d/tmp/inwtest]$ inotifywait.exe -qmr --exclude '\.git\\gitfile$' .}

    [/d/tmp/inwtest]$ touch .git/gitfile

    # no output