jceb / dex

DesktopEntry Execution
Other
421 stars 33 forks source link

Test failures #36

Closed morxa closed 6 years ago

morxa commented 6 years ago

Tests fail in the latest release (v0.8.0) and the master branch:

$ make install PREFIX=$PWD/install && ./install/bin/dex --test -v
Trying:
    Application._build_cmd('gvim')
Expecting:
    ['gvim']
ok
Trying:
    Application._build_cmd('gvim test')
Expecting:
    ['gvim', 'test']
ok
Trying:
    Application._build_cmd('"gvim" test')
Expecting:
    ['gvim', 'test']
ok
Trying:
    Application._build_cmd('"gvim test"')
Expecting:
    ['gvim test']
ok
Trying:
    Application._build_cmd('"gvim test" test2 "test \\" 3"')
Expecting:
    ['gvim test', 'test2', 'test " 3']
**********************************************************************
File "./install/bin/dex", line 389, in __main__.Application._build_cmd
Failed example:
    Application._build_cmd('"gvim test" test2 "test \\" 3"')
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib64/python3.6/doctest.py", line 1330, in __run
        compileflags, 1), test.globs)
      File "<doctest __main__.Application._build_cmd[4]>", line 1, in <module>
        Application._build_cmd('"gvim test" test2 "test \\" 3"')
      File "./install/bin/dex", line 501, in _build_cmd
        raise ApplicationExecException('Exec value contains an unbalanced number of quote characters.')
    ApplicationExecException: 'Exec value contains an unbalanced number of quote characters.'
Trying:
    Application._build_cmd(r'"test \\\\ \" moin" test')
Expecting:
    ['test \\ " moin', 'test']
**********************************************************************
File "./install/bin/dex", line 391, in __main__.Application._build_cmd
Failed example:
    Application._build_cmd(r'"test \\\\ \" moin" test')
Exception raised:
    Traceback (most recent call last):
      File "/usr/lib64/python3.6/doctest.py", line 1330, in __run
        compileflags, 1), test.globs)
      File "<doctest __main__.Application._build_cmd[5]>", line 1, in <module>
        Application._build_cmd(r'"test \\\\ \" moin" test')
      File "./install/bin/dex", line 501, in _build_cmd
        raise ApplicationExecException('Exec value contains an unbalanced number of quote characters.')
    ApplicationExecException: 'Exec value contains an unbalanced number of quote characters.'
Trying:
    Application._build_cmd(r'"gvim \\\\ \`test\$"')
Expecting:
    ['gvim \\ `test$']
**********************************************************************
File "./install/bin/dex", line 393, in __main__.Application._build_cmd
Failed example:
    Application._build_cmd(r'"gvim \\\\ \`test\$"')
Expected:
    ['gvim \\ `test$']
Got:
    ['gvim \\\\ \\`test\\$']
Trying:
    Application._build_cmd(r'vim ~/.vimrc', True)
Expecting:
    ['x-terminal-emulator', '-e', 'vim', '~/.vimrc']
ok
Trying:
    Application._build_cmd('vim ~/.vimrc', False)
Expecting:
    ['vim', '~/.vimrc']
ok
Trying:
    Application._build_cmd("vim '~/.vimrc test'", False)
Expecting:
    ['vim', '~/.vimrc test']
ok
Trying:
    Application._build_cmd('vim \'~/.vimrc " test\'', False)
Expecting:
    ['vim', '~/.vimrc " test']
ok
Trying:
    Application._build_cmd('sh -c \'vim ~/.vimrc " test\'', False)
Expecting:
    ['sh', '-c', 'vim ~/.vimrc " test']
ok
Trying:
    Application._build_cmd("sh -c 'vim ~/.vimrc \" test\"'", False)
Expecting:
    ['sh', '-c', 'vim ~/.vimrc " test"']
ok
Trying:
    Application._build_cmd("vim %u", False)
Expecting:
    ['vim']
ok
Trying:
    Application._build_cmd("vim ~/.vimrc %u", False)
Expecting:
    ['vim', '~/.vimrc']
ok
Trying:
    Application._build_cmd("vim '%u' ~/.vimrc", False)
Expecting:
    ['vim', '%u', '~/.vimrc']
ok
Trying:
    Application._build_cmd("vim %u ~/.vimrc", False)
Expecting:
    ['vim', '~/.vimrc']
ok
Trying:
    Application._build_cmd("vim /%u/.vimrc", False)
Expecting:
    ['vim', '//.vimrc']
ok
Trying:
    Application._build_cmd("vim %u/.vimrc", False)
Expecting:
    ['vim', '/.vimrc']
ok
Trying:
    Application._build_cmd("vim %U/.vimrc", False)
Expecting:
    ['vim', '/.vimrc']
ok
Trying:
    Application._build_cmd("vim /%U/.vimrc", False)
Expecting:
    ['vim', '//.vimrc']
ok
Trying:
    Application._build_cmd("vim %U .vimrc", False)
Expecting:
    ['vim', '.vimrc']
ok
Trying:
    Application._build_cmd("vim \\%u ~/.vimrc", False)
Expecting:
    ['vim', '%u', '~/.vimrc']
ok
Trying:
    Application._build_cmd("vim %x .vimrc", False)
Expecting:
    ['vim', '%x', '.vimrc']
ok
Trying:
    Application._build_cmd("vim %x/.vimrc", False)
Expecting:
    ['vim', '%x/.vimrc']
ok
59 items had no tests:
    __main__
    __main__.Application
    __main__.Application.__cmp__
    __main__.Application.__eq__
    __main__.Application.__init__
    __main__.Application.basename
    __main__.Application.execute
    __main__.ApplicationExecException
    __main__.ApplicationExecException.__init__
    __main__.ApplicationExecException.__str__
    __main__.AutostartFile
    __main__.AutostartFile.__init__
    __main__.DesktopEntry
    __main__.DesktopEntry.Categories
    __main__.DesktopEntry.Comment
    __main__.DesktopEntry.Exec
    __main__.DesktopEntry.GenericName
    __main__.DesktopEntry.Hidden
    __main__.DesktopEntry.Icon
    __main__.DesktopEntry.MimeType
    __main__.DesktopEntry.Name
    __main__.DesktopEntry.NoDisplay
    __main__.DesktopEntry.NotShowIn
    __main__.DesktopEntry.OnlyShowIn
    __main__.DesktopEntry.Path
    __main__.DesktopEntry.StartupNotify
    __main__.DesktopEntry.StartupWMClass
    __main__.DesktopEntry.Terminal
    __main__.DesktopEntry.TryExec
    __main__.DesktopEntry.Type
    __main__.DesktopEntry.URL
    __main__.DesktopEntry.Version
    __main__.DesktopEntry.__init__
    __main__.DesktopEntry.__lt__
    __main__.DesktopEntry.__str__
    __main__.DesktopEntry._get_value
    __main__.DesktopEntry.filename
    __main__.DesktopEntry.fromfile
    __main__.DesktopEntry.get_boolean
    __main__.DesktopEntry.get_list
    __main__.DesktopEntry.get_localestring
    __main__.DesktopEntry.get_numeric
    __main__.DesktopEntry.get_string
    __main__.DesktopEntry.get_strings
    __main__.DesktopEntry.load
    __main__.DesktopEntry.set_value
    __main__.DesktopEntry.write
    __main__.DesktopEntryTypeException
    __main__.DesktopEntryTypeException.__init__
    __main__.DesktopEntryTypeException.__str__
    __main__.EmptyAutostartFile
    __main__.EmptyAutostartFile.__init__
    __main__._autostart
    __main__._create
    __main__._run
    __main__._test
    __main__.get_autostart_directories
    __main__.get_autostart_files
    __main__.which
**********************************************************************
1 items had failures:
   3 of  25 in __main__.Application._build_cmd
25 tests in 60 items.
22 passed and 3 failed.
***Test Failed*** 3 failures.

This is on Fedora 27 with Python 3.6.4.

morxa commented 6 years ago

Not sure why, but it works in a clean chroot, just not with my local user configuration.