aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorPaul Eggert2017-10-20 22:44:13 -0700
committerPaul Eggert2017-10-20 22:44:13 -0700
commit3155cb1585da7235145d76791feaf6170d8be0f1 (patch)
tree19b655867f27bb630b182f4bdb00a2e2d5ee6427 /test
parentcb29f41624e5163a0aea4bfc98591e683807a2f8 (diff)
parent11bd8aa24b347f75e674528dd1a94b0a4037105e (diff)
downloademacs-3155cb1585da7235145d76791feaf6170d8be0f1.tar.gz
emacs-3155cb1585da7235145d76791feaf6170d8be0f1.zip
Merge from origin/emacs-26
11bd8aa24b Fix flymake's loading of subr-x b500e06f4d Fix Bug#28896 d815de017b Skip a Flymake test for old gcc versions fd3d8610b2 Make :align-to account for display-line-numbers 831eafc8ae Augment Flymake API for third-party extensions ddd547fada Improve treatment of Fortran's "class default" 234b1e3864 Flymake backends must check proc obsoleteness in source bu... 3ea6a4d4ba Skip an rsync test in tramp-tests.el 25f83fa7c5 ; Indentation fixes 4d578d432d On Windows default a frame's border width to zero (Bug#28873) 6f1dea5c74 Spelling fixes b8433b0954 Use pop-to-buffer-same-window instead of switch-to-buffer 2f7163fb72 Fix the MSDOS build. 2551d28fe8 Fix line number display after 'widen' dc8812829b Remove resizable attribute on macOS undecorated frames (bu... b970a4a52a Fix handling of `border-width' in `frameset--restore-frame... 445e92658f Mention how to send CC to > 1 address in a bug report 8ca6fa585a Improve format-time-string doc 2e1b3522b8 Improve documentation of 'line-number-display-width' 5b6e59cfdb Implement vc-default-dir-extra-headers for vc-rcs 22adeca42a In NEWS give advice on use of `switch-to-buffer' (Bug#28645) 2c3e6f1ddc Dont update primary selection with winner-undo b38724ab67 Work around ImageMagick bug 825 20cc68e871 Document rectangle-preview option more (Bug#27974) a0b7b301dd Do not reject https://gnu.org in commit messages fb4200a875 Fix Edebug spec for cl-defun (bug#24255) db68cefe72 Fix errors in kmacro.el post-command-hook c63b344c3d Fix range-error in image-dired.el 081d2187c4 Fix 'line-number-display-width' in hscrolled windows 16e85456e7 Fix error in tramp-smb-handle-insert-directory 613db8d35c Don't reject PBM header whitespace unnecessarily 3205b12a78 Fix regression in display of PPM images 1ca9ae7069 Require subr-x when compiling nnimap.el de60992053 Fix ert-test finding by symbol (Bug#28849) 51615a8082 Don't remember old debugger window (Bug#17882) 5980de3727 Disable python native completion on w32 (Bug#28580) 616b4c5956 Let select-frame-by-name choose any frame when called from... 8eb3c01dbd * lisp/dired-aux.el (dired-create-directory): Doc fix. 325dfdae13 Avoid compilation warnings in optimized builds f79382819c ; * src/composite.c (Fclear_composition_cache): Fix last c... f95cd5cd70 Improve customization of arabic-shaper-ZWNJ-handling. a7f154688d Improve customization type of 'mouse-drag-and-drop-region' 864734d112 ; Prefer https: to http: in GNU URLs 3c78960a47 Encourage https: in commit messages def9715282 ; Cleanup of etc/NEWS 4e59ecc646 Fix wording in Elisp manual's child frames section (Bug#28... eda9f5018c Another fix for C mode fontification of w32 source files 05aadd8990 Fix fontification of ALIGN_STACK functions aa0c38f358 Make sure thread stack is properly aligned on MS-Windows d7038020aa Do not under-align pseudovectors ff33053012 Fix indentation bug in multi-line CSS selectors 8968be822e ; * etc/NEWS: Grammar and spelling fixes 716b84034d gnutls_mac_get_nonce_size has been added in gnutls 3.3 55e313f7be ; * CONTRIBUTE: More suggestions for using US English. 622c675648 * CONTRIBUTE: Suggest American English. # Conflicts: # etc/NEWS # msdos/sed2v2.inp
Diffstat (limited to 'test')
-rw-r--r--test/lisp/kmacro-tests.el1
-rw-r--r--test/lisp/net/tramp-tests.el384
-rw-r--r--test/lisp/progmodes/f90-tests.el14
-rw-r--r--test/lisp/progmodes/flymake-tests.el9
-rw-r--r--test/manual/indent/css-mode.css10
5 files changed, 217 insertions, 201 deletions
diff --git a/test/lisp/kmacro-tests.el b/test/lisp/kmacro-tests.el
index 9f3eeafe486..690d5029231 100644
--- a/test/lisp/kmacro-tests.el
+++ b/test/lisp/kmacro-tests.el
@@ -818,7 +818,6 @@ This is a regression for item 7 in Bug#24991."
818 818
819(kmacro-tests-deftest kmacro-tests-step-edit-cleans-up-hook () 819(kmacro-tests-deftest kmacro-tests-step-edit-cleans-up-hook ()
820 "Step-editing properly cleans up `post-command-hook.' (Bug #18708)" 820 "Step-editing properly cleans up `post-command-hook.' (Bug #18708)"
821 (:expected-result :failed)
822 (let (post-command-hook) 821 (let (post-command-hook)
823 (setq-local post-command-hook '(t)) 822 (setq-local post-command-hook '(t))
824 (kmacro-tests-run-step-edit "x" 823 (kmacro-tests-run-step-edit "x"
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 7cc0779b81c..e92d1b6203c 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -1883,96 +1883,98 @@ This checks also `file-name-as-directory', `file-name-directory',
1883 (let (quoted) 1883 (let (quoted)
1884 (let ((tmp-name1 (tramp--test-make-temp-name nil quoted)) 1884 (let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
1885 (tmp-name2 (tramp--test-make-temp-name nil quoted)) 1885 (tmp-name2 (tramp--test-make-temp-name nil quoted))
1886 (tmp-name3 (tramp--test-make-temp-name nil quoted)) 1886 (tmp-name3 (tramp--test-make-temp-name 'local quoted)))
1887 (tmp-name4 (tramp--test-make-temp-name 'local quoted)) 1887 (dolist (source-target
1888 (tmp-name5 (tramp--test-make-temp-name 'local quoted))) 1888 `(;; Copy on remote side.
1889 1889 (,tmp-name1 . ,tmp-name2)
1890 ;; Copy on remote side. 1890 ;; Copy from remote side to local side.
1891 (unwind-protect 1891 (,tmp-name1 . ,tmp-name3)
1892 (progn 1892 ;; Copy from local side to remote side.
1893 (write-region "foo" nil tmp-name1) 1893 (,tmp-name3 . ,tmp-name1)))
1894 (copy-file tmp-name1 tmp-name2) 1894 (let ((source (car source-target))
1895 (should (file-exists-p tmp-name2)) 1895 (target (cdr source-target)))
1896 (with-temp-buffer 1896
1897 (insert-file-contents tmp-name2) 1897 ;; Copy simple file.
1898 (should (string-equal (buffer-string) "foo"))) 1898 (unwind-protect
1899 (should-error 1899 (progn
1900 (copy-file tmp-name1 tmp-name2) 1900 (write-region "foo" nil source)
1901 :type 'file-already-exists) 1901 (should (file-exists-p source))
1902 (copy-file tmp-name1 tmp-name2 'ok) 1902 (copy-file source target)
1903 (make-directory tmp-name3) 1903 (should (file-exists-p target))
1904 ;; This has been changed in Emacs 26.1. 1904 (with-temp-buffer
1905 (when (tramp--test-emacs26-p) 1905 (insert-file-contents target)
1906 (should-error 1906 (should (string-equal (buffer-string) "foo")))
1907 (copy-file tmp-name1 tmp-name3) 1907 (should-error
1908 :type 'file-already-exists)) 1908 (copy-file source target)
1909 (copy-file tmp-name1 (file-name-as-directory tmp-name3)) 1909 :type 'file-already-exists)
1910 (should 1910 (copy-file source target 'ok))
1911 (file-exists-p 1911
1912 (expand-file-name (file-name-nondirectory tmp-name1) tmp-name3)))) 1912 ;; Cleanup.
1913 1913 (ignore-errors (delete-file source))
1914 ;; Cleanup. 1914 (ignore-errors (delete-file target)))
1915 (ignore-errors (delete-file tmp-name1)) 1915
1916 (ignore-errors (delete-file tmp-name2)) 1916 ;; Copy file to directory.
1917 (ignore-errors (delete-directory tmp-name3 'recursive))) 1917 (unwind-protect
1918 1918 (progn
1919 ;; Copy from remote side to local side. 1919 (write-region "foo" nil source)
1920 (unwind-protect 1920 (should (file-exists-p source))
1921 (progn 1921 (make-directory target)
1922 (write-region "foo" nil tmp-name1) 1922 (should (file-directory-p target))
1923 (copy-file tmp-name1 tmp-name4) 1923 ;; This has been changed in Emacs 26.1.
1924 (should (file-exists-p tmp-name4)) 1924 (when (tramp--test-emacs26-p)
1925 (with-temp-buffer 1925 (should-error
1926 (insert-file-contents tmp-name4) 1926 (copy-file source target)
1927 (should (string-equal (buffer-string) "foo"))) 1927 :type 'file-already-exists))
1928 (should-error 1928 (copy-file source (file-name-as-directory target))
1929 (copy-file tmp-name1 tmp-name4) 1929 (should
1930 :type 'file-already-exists) 1930 (file-exists-p
1931 (copy-file tmp-name1 tmp-name4 'ok) 1931 (expand-file-name (file-name-nondirectory source) target))))
1932 (make-directory tmp-name5) 1932
1933 ;; This has been changed in Emacs 26.1. 1933 ;; Cleanup.
1934 (when (tramp--test-emacs26-p) 1934 (ignore-errors (delete-file source))
1935 (should-error 1935 (ignore-errors (delete-directory target 'recursive)))
1936 (copy-file tmp-name1 tmp-name5) 1936
1937 :type 'file-already-exists)) 1937 ;; Copy directory to existing directory.
1938 (copy-file tmp-name1 (file-name-as-directory tmp-name5)) 1938 (unwind-protect
1939 (should 1939 (progn
1940 (file-exists-p 1940 (make-directory source)
1941 (expand-file-name (file-name-nondirectory tmp-name1) tmp-name5)))) 1941 (should (file-directory-p source))
1942 1942 (write-region "foo" nil (expand-file-name "foo" source))
1943 ;; Cleanup. 1943 (should (file-exists-p (expand-file-name "foo" source)))
1944 (ignore-errors (delete-file tmp-name1)) 1944 (make-directory target)
1945 (ignore-errors (delete-file tmp-name4)) 1945 (should (file-directory-p target))
1946 (ignore-errors (delete-directory tmp-name5 'recursive))) 1946 ;; Directory `target' exists already, so we must use
1947 1947 ;; `file-name-as-directory'.
1948 ;; Copy from local side to remote side. 1948 (copy-file source (file-name-as-directory target))
1949 (unwind-protect 1949 (should
1950 (progn 1950 (file-exists-p
1951 (write-region "foo" nil tmp-name4 nil 'nomessage) 1951 (expand-file-name
1952 (copy-file tmp-name4 tmp-name1) 1952 (concat (file-name-nondirectory source) "/foo") target))))
1953 (should (file-exists-p tmp-name1)) 1953
1954 (with-temp-buffer 1954 ;; Cleanup.
1955 (insert-file-contents tmp-name1) 1955 (ignore-errors (delete-directory source 'recursive))
1956 (should (string-equal (buffer-string) "foo"))) 1956 (ignore-errors (delete-directory target 'recursive)))
1957 (should-error 1957
1958 (copy-file tmp-name4 tmp-name1) 1958 ;; Copy directory/file to non-existing directory.
1959 :type 'file-already-exists) 1959 (unwind-protect
1960 (copy-file tmp-name4 tmp-name1 'ok) 1960 (progn
1961 (make-directory tmp-name3) 1961 (make-directory source)
1962 ;; This has been changed in Emacs 26.1. 1962 (should (file-directory-p source))
1963 (when (tramp--test-emacs26-p) 1963 (write-region "foo" nil (expand-file-name "foo" source))
1964 (should-error 1964 (should (file-exists-p (expand-file-name "foo" source)))
1965 (copy-file tmp-name4 tmp-name3) 1965 (make-directory target)
1966 :type 'file-already-exists)) 1966 (should (file-directory-p target))
1967 (copy-file tmp-name4 (file-name-as-directory tmp-name3)) 1967 (copy-file
1968 (should 1968 source
1969 (file-exists-p 1969 (expand-file-name (file-name-nondirectory source) target))
1970 (expand-file-name (file-name-nondirectory tmp-name4) tmp-name3)))) 1970 (should
1971 (file-exists-p
1972 (expand-file-name
1973 (concat (file-name-nondirectory source) "/foo") target))))
1971 1974
1972 ;; Cleanup. 1975 ;; Cleanup.
1973 (ignore-errors (delete-file tmp-name1)) 1976 (ignore-errors (delete-directory source 'recursive))
1974 (ignore-errors (delete-file tmp-name4)) 1977 (ignore-errors (delete-directory target 'recursive))))))))
1975 (ignore-errors (delete-directory tmp-name3 'recursive))))))
1976 1978
1977(ert-deftest tramp-test12-rename-file () 1979(ert-deftest tramp-test12-rename-file ()
1978 "Check `rename-file'." 1980 "Check `rename-file'."
@@ -1983,111 +1985,105 @@ This checks also `file-name-as-directory', `file-name-directory',
1983 (let (quoted) 1985 (let (quoted)
1984 (let ((tmp-name1 (tramp--test-make-temp-name nil quoted)) 1986 (let ((tmp-name1 (tramp--test-make-temp-name nil quoted))
1985 (tmp-name2 (tramp--test-make-temp-name nil quoted)) 1987 (tmp-name2 (tramp--test-make-temp-name nil quoted))
1986 (tmp-name3 (tramp--test-make-temp-name nil quoted)) 1988 (tmp-name3 (tramp--test-make-temp-name 'local quoted)))
1987 (tmp-name4 (tramp--test-make-temp-name 'local quoted)) 1989 (dolist (source-target
1988 (tmp-name5 (tramp--test-make-temp-name 'local quoted))) 1990 `(;; Rename on remote side.
1989 1991 (,tmp-name1 . ,tmp-name2)
1990 ;; Rename on remote side. 1992 ;; Rename from remote side to local side.
1991 (unwind-protect 1993 (,tmp-name1 . ,tmp-name3)
1992 (progn 1994 ;; Rename from local side to remote side.
1993 (write-region "foo" nil tmp-name1) 1995 (,tmp-name3 . ,tmp-name1)))
1994 (rename-file tmp-name1 tmp-name2) 1996 (let ((source (car source-target))
1995 (should-not (file-exists-p tmp-name1)) 1997 (target (cdr source-target)))
1996 (should (file-exists-p tmp-name2)) 1998
1997 (with-temp-buffer 1999 ;; Rename simple file.
1998 (insert-file-contents tmp-name2) 2000 (unwind-protect
1999 (should (string-equal (buffer-string) "foo"))) 2001 (progn
2000 (write-region "foo" nil tmp-name1) 2002 (write-region "foo" nil source)
2001 (should-error 2003 (should (file-exists-p source))
2002 (rename-file tmp-name1 tmp-name2) 2004 (rename-file source target)
2003 :type 'file-already-exists) 2005 (should-not (file-exists-p source))
2004 (rename-file tmp-name1 tmp-name2 'ok) 2006 (should (file-exists-p target))
2005 (should-not (file-exists-p tmp-name1)) 2007 (with-temp-buffer
2006 (write-region "foo" nil tmp-name1) 2008 (insert-file-contents target)
2007 (make-directory tmp-name3) 2009 (should (string-equal (buffer-string) "foo")))
2008 ;; This has been changed in Emacs 26.1. 2010 (write-region "foo" nil source)
2009 (when (tramp--test-emacs26-p) 2011 (should (file-exists-p source))
2010 (should-error 2012 (should-error
2011 (rename-file tmp-name1 tmp-name3) 2013 (rename-file source target)
2012 :type 'file-already-exists)) 2014 :type 'file-already-exists)
2013 (rename-file tmp-name1 (file-name-as-directory tmp-name3)) 2015 (rename-file source target 'ok)
2014 (should-not (file-exists-p tmp-name1)) 2016 (should-not (file-exists-p source)))
2015 (should 2017
2016 (file-exists-p 2018 ;; Cleanup.
2017 (expand-file-name (file-name-nondirectory tmp-name1) tmp-name3)))) 2019 (ignore-errors (delete-file source))
2018 2020 (ignore-errors (delete-file target)))
2019 ;; Cleanup. 2021
2020 (ignore-errors (delete-file tmp-name1)) 2022 ;; Rename file to directory.
2021 (ignore-errors (delete-file tmp-name2)) 2023 (unwind-protect
2022 (ignore-errors (delete-directory tmp-name3 'recursive))) 2024 (progn
2023 2025 (write-region "foo" nil source)
2024 ;; Rename from remote side to local side. 2026 (should (file-exists-p source))
2025 (unwind-protect 2027 (make-directory target)
2026 (progn 2028 (should (file-directory-p target))
2027 (write-region "foo" nil tmp-name1) 2029 ;; This has been changed in Emacs 26.1.
2028 (rename-file tmp-name1 tmp-name4) 2030 (when (tramp--test-emacs26-p)
2029 (should-not (file-exists-p tmp-name1)) 2031 (should-error
2030 (should (file-exists-p tmp-name4)) 2032 (rename-file source target)
2031 (with-temp-buffer 2033 :type 'file-already-exists))
2032 (insert-file-contents tmp-name4) 2034 (rename-file source (file-name-as-directory target))
2033 (should (string-equal (buffer-string) "foo"))) 2035 (should-not (file-exists-p source))
2034 (write-region "foo" nil tmp-name1) 2036 (should
2035 (should-error 2037 (file-exists-p
2036 (rename-file tmp-name1 tmp-name4) 2038 (expand-file-name (file-name-nondirectory source) target))))
2037 :type 'file-already-exists) 2039
2038 (rename-file tmp-name1 tmp-name4 'ok) 2040 ;; Cleanup.
2039 (should-not (file-exists-p tmp-name1)) 2041 (ignore-errors (delete-file source))
2040 (write-region "foo" nil tmp-name1) 2042 (ignore-errors (delete-directory target 'recursive)))
2041 (make-directory tmp-name5) 2043
2042 ;; This has been changed in Emacs 26.1. 2044 ;; Rename directory to existing directory.
2043 (when (tramp--test-emacs26-p) 2045 (unwind-protect
2044 (should-error 2046 (progn
2045 (rename-file tmp-name1 tmp-name5) 2047 (make-directory source)
2046 :type 'file-already-exists)) 2048 (should (file-directory-p source))
2047 (rename-file tmp-name1 (file-name-as-directory tmp-name5)) 2049 (write-region "foo" nil (expand-file-name "foo" source))
2048 (should-not (file-exists-p tmp-name1)) 2050 (should (file-exists-p (expand-file-name "foo" source)))
2049 (should 2051 (make-directory target)
2050 (file-exists-p 2052 (should (file-directory-p target))
2051 (expand-file-name (file-name-nondirectory tmp-name1) tmp-name5)))) 2053 ;; Directory `target' exists already, so we must use
2052 2054 ;; `file-name-as-directory'.
2053 ;; Cleanup. 2055 (rename-file source (file-name-as-directory target))
2054 (ignore-errors (delete-file tmp-name1)) 2056 (should-not (file-exists-p source))
2055 (ignore-errors (delete-file tmp-name4)) 2057 (should
2056 (ignore-errors (delete-directory tmp-name5 'recursive))) 2058 (file-exists-p
2057 2059 (expand-file-name
2058 ;; Rename from local side to remote side. 2060 (concat (file-name-nondirectory source) "/foo") target))))
2059 (unwind-protect 2061
2060 (progn 2062 ;; Cleanup.
2061 (write-region "foo" nil tmp-name4 nil 'nomessage) 2063 (ignore-errors (delete-directory source 'recursive))
2062 (rename-file tmp-name4 tmp-name1) 2064 (ignore-errors (delete-directory target 'recursive)))
2063 (should-not (file-exists-p tmp-name4)) 2065
2064 (should (file-exists-p tmp-name1)) 2066 ;; Rename directory/file to non-existing directory.
2065 (with-temp-buffer 2067 (unwind-protect
2066 (insert-file-contents tmp-name1) 2068 (progn
2067 (should (string-equal (buffer-string) "foo"))) 2069 (make-directory source)
2068 (write-region "foo" nil tmp-name4 nil 'nomessage) 2070 (should (file-directory-p source))
2069 (should-error 2071 (write-region "foo" nil (expand-file-name "foo" source))
2070 (rename-file tmp-name4 tmp-name1) 2072 (should (file-exists-p (expand-file-name "foo" source)))
2071 :type 'file-already-exists) 2073 (make-directory target)
2072 (rename-file tmp-name4 tmp-name1 'ok) 2074 (should (file-directory-p target))
2073 (should-not (file-exists-p tmp-name4)) 2075 (rename-file
2074 (write-region "foo" nil tmp-name4 nil 'nomessage) 2076 source
2075 (make-directory tmp-name3) 2077 (expand-file-name (file-name-nondirectory source) target))
2076 ;; This has been changed in Emacs 26.1. 2078 (should-not (file-exists-p source))
2077 (when (tramp--test-emacs26-p) 2079 (should
2078 (should-error 2080 (file-exists-p
2079 (rename-file tmp-name4 tmp-name3) 2081 (expand-file-name
2080 :type 'file-already-exists)) 2082 (concat (file-name-nondirectory source) "/foo") target))))
2081 (rename-file tmp-name4 (file-name-as-directory tmp-name3))
2082 (should-not (file-exists-p tmp-name4))
2083 (should
2084 (file-exists-p
2085 (expand-file-name (file-name-nondirectory tmp-name4) tmp-name3))))
2086 2083
2087 ;; Cleanup. 2084 ;; Cleanup.
2088 (ignore-errors (delete-file tmp-name1)) 2085 (ignore-errors (delete-directory source 'recursive))
2089 (ignore-errors (delete-file tmp-name4)) 2086 (ignore-errors (delete-directory target 'recursive))))))))
2090 (ignore-errors (delete-directory tmp-name3 'recursive))))))
2091 2087
2092(ert-deftest tramp-test13-make-directory () 2088(ert-deftest tramp-test13-make-directory ()
2093 "Check `make-directory'. 2089 "Check `make-directory'.
@@ -2346,6 +2342,7 @@ This tests also `file-directory-p' and `file-accessible-directory-p'."
2346 "Check `dired' with wildcards." 2342 "Check `dired' with wildcards."
2347 (skip-unless (tramp--test-enabled)) 2343 (skip-unless (tramp--test-enabled))
2348 (skip-unless (tramp--test-sh-p)) 2344 (skip-unless (tramp--test-sh-p))
2345 (skip-unless (not (tramp--test-rsync-p)))
2349 ;; Since Emacs 26.1. 2346 ;; Since Emacs 26.1.
2350 (skip-unless (fboundp 'insert-directory-wildcard-in-dir-p)) 2347 (skip-unless (fboundp 'insert-directory-wildcard-in-dir-p))
2351 2348
@@ -4394,6 +4391,7 @@ Since it unloads Tramp, it shall be the last test to run."
4394;; * Fix `tramp-test05-expand-file-name-relative' in `expand-file-name'. 4391;; * Fix `tramp-test05-expand-file-name-relative' in `expand-file-name'.
4395;; * Fix `tramp-test06-directory-file-name' for `ftp'. 4392;; * Fix `tramp-test06-directory-file-name' for `ftp'.
4396;; * Fix `tramp-test27-start-file-process' on MS Windows (`process-send-eof'?). 4393;; * Fix `tramp-test27-start-file-process' on MS Windows (`process-send-eof'?).
4394;; * Fix `tramp-test28-interrupt-process', timeout doesn't work reliably.
4397;; * Fix Bug#16928 in `tramp-test38-asynchronous-requests'. 4395;; * Fix Bug#16928 in `tramp-test38-asynchronous-requests'.
4398 4396
4399(defun tramp-test-all (&optional interactive) 4397(defun tramp-test-all (&optional interactive)
diff --git a/test/lisp/progmodes/f90-tests.el b/test/lisp/progmodes/f90-tests.el
index 0c03a190ca2..2a9100adff6 100644
--- a/test/lisp/progmodes/f90-tests.el
+++ b/test/lisp/progmodes/f90-tests.el
@@ -256,21 +256,25 @@ end program prog")
256 (should (= 5 (current-indentation))))) 256 (should (= 5 (current-indentation)))))
257 257
258(ert-deftest f90-test-bug25039 () 258(ert-deftest f90-test-bug25039 ()
259 "Test for https://debbugs.gnu.org/25039 ." 259 "Test for https://debbugs.gnu.org/25039 and 28786."
260 (with-temp-buffer 260 (with-temp-buffer
261 (f90-mode) 261 (f90-mode)
262 (insert "program prog 262 (insert "program prog
263select type (a) 263select type (a)
264class is (c1)
265x = 1
266type is (t1) 264type is (t1)
267x = 2 265x = 2
266class is (c1)
267x = 1
268class default
269x=3
268end select 270end select
269end program prog") 271end program prog")
270 (f90-indent-subprogram) 272 (f90-indent-subprogram)
271 (forward-line -3) 273 (forward-line -3)
272 (should (= 2 (current-indentation))) ; type is 274 (should (= 2 (current-indentation))) ; class default
275 (forward-line -2)
276 (should (= 2 (current-indentation))) ; class is
273 (forward-line -2) 277 (forward-line -2)
274 (should (= 2 (current-indentation))))) ; class is 278 (should (= 2 (current-indentation))))) ; type is
275 279
276;;; f90-tests.el ends here 280;;; f90-tests.el ends here
diff --git a/test/lisp/progmodes/flymake-tests.el b/test/lisp/progmodes/flymake-tests.el
index 0b29b6a9715..cfa810053ca 100644
--- a/test/lisp/progmodes/flymake-tests.el
+++ b/test/lisp/progmodes/flymake-tests.el
@@ -24,6 +24,7 @@
24;;; Code: 24;;; Code:
25(require 'ert) 25(require 'ert)
26(require 'flymake) 26(require 'flymake)
27(eval-when-compile (require 'subr-x)) ; string-trim
27 28
28(defvar flymake-tests-data-directory 29(defvar flymake-tests-data-directory
29 (expand-file-name "lisp/progmodes/flymake-resources" 30 (expand-file-name "lisp/progmodes/flymake-resources"
@@ -37,7 +38,7 @@
37;; 38;;
38;; 39;;
39(defun flymake-tests--wait-for-backends () 40(defun flymake-tests--wait-for-backends ()
40 ;; Weirdness here... http://debbugs.gnu.org/17647#25 41 ;; Weirdness here... https://debbugs.gnu.org/17647#25
41 ;; ... meaning `sleep-for', and even 42 ;; ... meaning `sleep-for', and even
42 ;; `accept-process-output', won't suffice as ways to get 43 ;; `accept-process-output', won't suffice as ways to get
43 ;; process filters and sentinels to run, though they do work 44 ;; process filters and sentinels to run, though they do work
@@ -128,7 +129,11 @@ SEVERITY-PREDICATE is used to setup
128 129
129(ert-deftest different-diagnostic-types () 130(ert-deftest different-diagnostic-types ()
130 "Test GCC warning via function predicate." 131 "Test GCC warning via function predicate."
131 (skip-unless (and (executable-find "gcc") (executable-find "make"))) 132 (skip-unless (and (executable-find "gcc")
133 (version<=
134 "5" (string-trim
135 (shell-command-to-string "gcc -dumpversion")))
136 (executable-find "make")))
132 (let ((flymake-wrap-around nil)) 137 (let ((flymake-wrap-around nil))
133 (flymake-tests--with-flymake 138 (flymake-tests--with-flymake
134 ("errors-and-warnings.c") 139 ("errors-and-warnings.c")
diff --git a/test/manual/indent/css-mode.css b/test/manual/indent/css-mode.css
index bf612b53a14..640418b022d 100644
--- a/test/manual/indent/css-mode.css
+++ b/test/manual/indent/css-mode.css
@@ -66,6 +66,16 @@ div::before {
66 ); 66 );
67} 67}
68 68
69/* Multi-line selector including both a pseudo-class and
70 parenthesis. */
71.form-group:not(.required) label,
72.birth-date .row > * {
73 &::after {
74 display: inline;
75 font-weight: normal;
76 }
77}
78
69@font-face { 79@font-face {
70 src: url("Sans-Regular.eot") format("eot"), 80 src: url("Sans-Regular.eot") format("eot"),
71 url("Sans-Regular.woff") format("woff"), 81 url("Sans-Regular.woff") format("woff"),