merge autoland to mozilla-central. r=merge a=merge

MozReview-Commit-ID: 6Oc6fb3YbAa
This commit is contained in:
Sebastian Hengst 2017-10-01 23:51:37 +02:00
Родитель ecafa414e2 88c31186c4
Коммит f88545629f
9 изменённых файлов: 128 добавлений и 46 удалений

Просмотреть файл

@ -2196,7 +2196,7 @@ class StaticAnalysis(MachCommandBase):
'the analysis is only performed on the files changed '
'in the patch streamed through stdin. This is called '
'the diff mode.')
@CommandArgument('--checks', '-c', default='-*,mozilla-*', metavar='checks',
@CommandArgument('--checks', '-c', default='-*', metavar='checks',
help='Static analysis checks to enable. By default, this enables only '
'custom Mozilla checks, but can be any clang-tidy checks syntax.')
@CommandArgument('--jobs', '-j', default='0', metavar='jobs', type=int,
@ -2206,7 +2206,7 @@ class StaticAnalysis(MachCommandBase):
@CommandArgument('--fix', '-f', default=False, action='store_true',
help='Try to autofix errors detected by clang-tidy checkers.')
def check(self, source=None, jobs=2, strip=1, verbose=False,
checks='-*,mozilla-*', fix=False):
checks='-*', fix=False):
self._set_log_level(verbose)
rc = self._build_compile_db(verbose=verbose)
if rc != 0:
@ -2222,6 +2222,9 @@ class StaticAnalysis(MachCommandBase):
python = self.virtualenv_manager.python_path
if checks == '-*':
checks = self._get_checks()
common_args = ['-clang-tidy-binary', self._clang_tidy_path,
'-checks=%s' % checks,
'-extra-arg=-DMOZ_CLANG_PLUGIN']
@ -2296,6 +2299,21 @@ class StaticAnalysis(MachCommandBase):
args = [self._clang_tidy_path, '-list-checks', '-checks=-*,mozilla-*']
return self._run_command_in_objdir(args=args, pass_thru=True)
def _get_checks(self):
checks = '-*'
import yaml
with open(mozpath.join(self.topsrcdir, "tools", "clang-tidy", "config.yaml")) as f:
try:
config = yaml.load(f)
for item in config['clang_checkers']:
if item['publish']:
checks += ',' + item['name']
except Exception:
print('Looks like config.yaml is not valid, so we are unable to '
'determine default checkers, using \'-checks=-*,mozilla-*\'')
checks += ',mozilla-*'
return checks
def _get_config_environment(self):
ran_configure = False
config = None

Просмотреть файл

@ -1 +1 @@
{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"f1fb4b65964c81bc1240544267ea334f554ca38ae7a74d57066f4d47d2b5d568","Cargo.toml":"e32298befd6cf68ea07f761e7a928eabe4e596d506ab4582db3761d59fd68834","LICENSE":"fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85","README.md":"c5781e673335f37ed3d7acb119f8ed33efdf6eb75a7094b7da2abe0c3230adb8","build.rs":"950bcc47a196f07f99f59637c28cc65e02a885130011f90a2b2608248b4724a2","build/match_byte.rs":"89e8b941af74df2c204abf808672d3ff278bdec75abc918c41a843260b924677","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","docs/index.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","src/color.rs":"422a2e934b06a2cca7beef7afeab42bdca81a73eb27afcbdb3d2a98db892590b","src/cow_rc_str.rs":"541216f8ef74ee3cc5cbbc1347e5f32ed66588c401851c9a7d68b867aede1de0","src/from_bytes.rs":"331fe63af2123ae3675b61928a69461b5ac77799fff3ce9978c55cf2c558f4ff","src/lib.rs":"37aec41c81021cd4cc8f34491ee75de2e8340feada2d0096b107597fc4ac485d","src/macros.rs":"adb9773c157890381556ea83d7942dcc676f99eea71abbb6afeffee1e3f28960","src/nth.rs":"cd7a29c736ee279c38801c3c40c9ea25abe309fc08fb64c8f1574cad615f3097","src/parser.rs":"69ef59a1c28e49b89cfc67effc7408e59af63c416128889b5e8d48022e17c06d","src/rules_and_declarations.rs":"962f59aab8030b0d1202859ff841ed6254ce4bd4159eee5e915ccdf4b802f4d5","src/serializer.rs":"3dc1d9441c9602f26d34c0b209f6d3954814815b780c068f9dc3514d808de3d9","src/size_of_tests.rs":"4b5e4f6fa209bfe4ff8e44fdf10535a5eba5b7b644afac7ee32b60923c23460c","src/tests.rs":"3572f340d9e38b3482f5f8e6bdbabc99c8ff9caeb8f92cdb7d266a1e5110abb1","src/tokenizer.rs":"c46d540cf589de8a2a2a0d918575a257de4d6a55af78e87b0d9c1345032b80ef","src/unicode_range.rs":"fbbd0f4b393944699730a6b0f945b2b2376fcea61fce2ea37190fb287793021a"},"package":"05012fcdbdeb4c6f59f67db47c1f879929339274a691ee1fb90c26b297783629"}
{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",".travis.yml":"f1fb4b65964c81bc1240544267ea334f554ca38ae7a74d57066f4d47d2b5d568","Cargo.toml":"7d35a8de9f311d00bd9dfa96e533e3db0584f914b1798d4937ddf1ff6baff74e","LICENSE":"fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85","README.md":"c5781e673335f37ed3d7acb119f8ed33efdf6eb75a7094b7da2abe0c3230adb8","build.rs":"950bcc47a196f07f99f59637c28cc65e02a885130011f90a2b2608248b4724a2","build/match_byte.rs":"2c84b8ca5884347d2007f49aecbd85b4c7582085526e2704399817249996e19b","docs/.nojekyll":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","docs/404.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","docs/index.html":"025861f76f8d1f6d67c20ab624c6e418f4f824385e2dd8ad8732c4ea563c6a2e","src/color.rs":"422a2e934b06a2cca7beef7afeab42bdca81a73eb27afcbdb3d2a98db892590b","src/cow_rc_str.rs":"541216f8ef74ee3cc5cbbc1347e5f32ed66588c401851c9a7d68b867aede1de0","src/from_bytes.rs":"331fe63af2123ae3675b61928a69461b5ac77799fff3ce9978c55cf2c558f4ff","src/lib.rs":"37aec41c81021cd4cc8f34491ee75de2e8340feada2d0096b107597fc4ac485d","src/macros.rs":"adb9773c157890381556ea83d7942dcc676f99eea71abbb6afeffee1e3f28960","src/nth.rs":"17f014269795809cbbee0462eb1a0ecfb73a6e9f3e60d19971430cfc9662911a","src/parser.rs":"69ef59a1c28e49b89cfc67effc7408e59af63c416128889b5e8d48022e17c06d","src/rules_and_declarations.rs":"962f59aab8030b0d1202859ff841ed6254ce4bd4159eee5e915ccdf4b802f4d5","src/serializer.rs":"3dc1d9441c9602f26d34c0b209f6d3954814815b780c068f9dc3514d808de3d9","src/size_of_tests.rs":"4b5e4f6fa209bfe4ff8e44fdf10535a5eba5b7b644afac7ee32b60923c23460c","src/tests.rs":"3572f340d9e38b3482f5f8e6bdbabc99c8ff9caeb8f92cdb7d266a1e5110abb1","src/tokenizer.rs":"c46d540cf589de8a2a2a0d918575a257de4d6a55af78e87b0d9c1345032b80ef","src/unicode_range.rs":"fbbd0f4b393944699730a6b0f945b2b2376fcea61fce2ea37190fb287793021a"},"package":"89af8ca7a36c8c591a9ff56ffb88ea2597095d8c1b834af9ca5be5032dcfe06e"}

42
third_party/rust/cssparser/Cargo.toml поставляемый
Просмотреть файл

@ -12,7 +12,7 @@
[package]
name = "cssparser"
version = "0.21.2"
version = "0.21.3"
authors = ["Simon Sapin <simon.sapin@exyr.org>"]
build = "build.rs"
exclude = ["src/css-parsing-tests/**", "src/big-data-url.css"]
@ -22,34 +22,34 @@ readme = "README.md"
keywords = ["css", "syntax", "parser"]
license = "MPL-2.0"
repository = "https://github.com/servo/rust-cssparser"
[dependencies.itoa]
[dependencies.matches]
version = "0.1"
[dependencies.phf]
version = "0.7"
[dependencies.cssparser-macros]
version = "0.3"
[dependencies.serde]
version = "1.0"
optional = true
[dependencies.dtoa-short]
version = "0.3"
[dependencies.heapsize]
version = ">= 0.3, < 0.5"
optional = true
[dependencies.matches]
version = "0.1"
[dependencies.smallvec]
version = "0.4.3"
[dependencies.procedural-masquerade]
version = "0.1"
[dependencies.dtoa-short]
[dependencies.itoa]
version = "0.3"
[dependencies.smallvec]
version = "0.4.3"
[dependencies.cssparser-macros]
version = "0.3"
[dependencies.phf]
version = "0.7"
[dependencies.serde]
version = "1.0"
optional = true
[dev-dependencies.rustc-serialize]
version = "0.3"
@ -58,12 +58,12 @@ version = "0.7"
[dev-dependencies.difference]
version = "1.0"
[build-dependencies.quote]
version = "0.3"
[build-dependencies.syn]
version = "0.11"
[build-dependencies.quote]
version = "0.3"
[features]
dummy_match_byte = []
bench = []

Просмотреть файл

@ -187,7 +187,7 @@ fn parse_case(tts: &mut iter::Peekable<vec::IntoIter<syn::TokenTree>>,
Some(syn::TokenTree::Token(syn::Token::Ident(ident))) => {
assert_eq!(last_byte, None, "I don't support ranges with identifiers!");
assert_eq!(*binding, None);
for mut byte in table.iter_mut() {
for byte in table.iter_mut() {
if *byte == 0 {
*byte = case_id;
}
@ -196,7 +196,7 @@ fn parse_case(tts: &mut iter::Peekable<vec::IntoIter<syn::TokenTree>>,
}
Some(syn::TokenTree::Token(syn::Token::Underscore)) => {
assert_eq!(last_byte, None);
for mut byte in table.iter_mut() {
for byte in table.iter_mut() {
if *byte == 0 {
*byte = case_id;
}

7
third_party/rust/cssparser/src/nth.rs поставляемый
Просмотреть файл

@ -89,9 +89,10 @@ fn parse_signless_b<'i, 't>(input: &mut Parser<'i, 't>, a: i32, b_sign: i32) ->
}
fn parse_n_dash_digits(string: &str) -> Result<i32, ()> {
if string.len() >= 3
&& string[..2].eq_ignore_ascii_case("n-")
&& string[2..].chars().all(|c| matches!(c, '0'...'9'))
let bytes = string.as_bytes();
if bytes.len() >= 3
&& bytes[..2].eq_ignore_ascii_case(b"n-")
&& bytes[2..].iter().all(|&c| matches!(c, b'0'...b'9'))
{
Ok(parse_number_saturate(&string[1..]).unwrap()) // Include the minus sign
} else {

14
toolkit/library/gtest/rust/Cargo.lock сгенерированный
Просмотреть файл

@ -298,7 +298,7 @@ dependencies = [
[[package]]
name = "cssparser"
version = "0.21.2"
version = "0.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cssparser-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -558,7 +558,7 @@ name = "geckoservo"
version = "0.0.1"
dependencies = [
"atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"hashglobe 0.1.0",
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
@ -757,7 +757,7 @@ name = "malloc_size_of"
version = "0.0.1"
dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"hashglobe 0.1.0",
"servo_arc 0.0.1",
@ -1189,7 +1189,7 @@ name = "selectors"
version = "0.19.0"
dependencies = [
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"malloc_size_of 0.0.1",
@ -1296,7 +1296,7 @@ dependencies = [
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fallible 0.0.1",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1350,7 +1350,7 @@ version = "0.0.1"
dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"malloc_size_of 0.0.1",
"malloc_size_of_derive 0.0.1",
@ -1686,7 +1686,7 @@ dependencies = [
"checksum core-foundation-sys 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387"
"checksum core-graphics 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2fd47addfc77b7e574d24e5434f95bb64a863769dfd4f1d451ca4ff5530ba01a"
"checksum core-text 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2a23bef779fab70e5e6af23e36eed03a48e1c1687dea8929505d405ea48d1f5e"
"checksum cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)" = "05012fcdbdeb4c6f59f67db47c1f879929339274a691ee1fb90c26b297783629"
"checksum cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)" = "89af8ca7a36c8c591a9ff56ffb88ea2597095d8c1b834af9ca5be5032dcfe06e"
"checksum cssparser-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "079adec4af52bb5275eadd004292028c79eb3c5f5b4ee8086a36d4197032f6df"
"checksum darling 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9861a8495606435477df581bc858ccf15a3469747edf175b94a4704fd9aaedac"
"checksum darling_core 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1486a8b00b45062c997f767738178b43219133dd0c8c826cb811e60563810821"

14
toolkit/library/rust/Cargo.lock сгенерированный
Просмотреть файл

@ -296,7 +296,7 @@ dependencies = [
[[package]]
name = "cssparser"
version = "0.21.2"
version = "0.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cssparser-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -556,7 +556,7 @@ name = "geckoservo"
version = "0.0.1"
dependencies = [
"atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"hashglobe 0.1.0",
"libc 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)",
@ -755,7 +755,7 @@ name = "malloc_size_of"
version = "0.0.1"
dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"hashglobe 0.1.0",
"servo_arc 0.0.1",
@ -1176,7 +1176,7 @@ name = "selectors"
version = "0.19.0"
dependencies = [
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"malloc_size_of 0.0.1",
@ -1283,7 +1283,7 @@ dependencies = [
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"fallible 0.0.1",
"fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1337,7 +1337,7 @@ version = "0.0.1"
dependencies = [
"app_units 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.15.2 (registry+https://github.com/rust-lang/crates.io-index)",
"malloc_size_of 0.0.1",
"malloc_size_of_derive 0.0.1",
@ -1673,7 +1673,7 @@ dependencies = [
"checksum core-foundation-sys 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bc9fb3d6cb663e6fd7cf1c63f9b144ee2b1e4a78595a0451dd34bff85b9a3387"
"checksum core-graphics 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2fd47addfc77b7e574d24e5434f95bb64a863769dfd4f1d451ca4ff5530ba01a"
"checksum core-text 7.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2a23bef779fab70e5e6af23e36eed03a48e1c1687dea8929505d405ea48d1f5e"
"checksum cssparser 0.21.2 (registry+https://github.com/rust-lang/crates.io-index)" = "05012fcdbdeb4c6f59f67db47c1f879929339274a691ee1fb90c26b297783629"
"checksum cssparser 0.21.3 (registry+https://github.com/rust-lang/crates.io-index)" = "89af8ca7a36c8c591a9ff56ffb88ea2597095d8c1b834af9ca5be5032dcfe06e"
"checksum cssparser-macros 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "079adec4af52bb5275eadd004292028c79eb3c5f5b4ee8086a36d4197032f6df"
"checksum darling 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9861a8495606435477df581bc858ccf15a3469747edf175b94a4704fd9aaedac"
"checksum darling_core 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1486a8b00b45062c997f767738178b43219133dd0c8c826cb811e60563810821"

Просмотреть файл

@ -143,9 +143,13 @@ DownloadLastDir.prototype = {
let file = plainPrefFile;
if (aReason == Components.interfaces.nsIContentPrefCallback2.COMPLETE_OK &&
result instanceof Components.interfaces.nsIContentPref) {
file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsIFile);
file.initWithPath(result.value);
try {
file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsIFile);
file.initWithPath(result.value);
} catch (e) {
file = plainPrefFile;
}
}
aCallback(file);
}

Просмотреть файл

@ -0,0 +1,59 @@
---
target: obj-x86_64-pc-linux-gnu
# It is used by 'mach static-analysis' and 'mozreview static-analysis bot'
# in order to have consistency across the used checkers.
# All the clang checks used by the static-analysis tools.
clang_checkers:
- name: -*
publish: !!bool no
- name: clang-analyzer-deadcode.DeadStores
publish: !!bool yes
- name: clang-analyzer-security.*
publish: !!bool no
- name: misc-assert-side-effect
publish: !!bool yes
- name: misc-suspicious-missing-comma
publish: !!bool yes
- name: misc-suspicious-semicolon
publish: !!bool yes
- name: modernize-loop-convert
publish: !!bool yes
- name: modernize-raw-string-literal
publish: !!bool yes
- name: modernize-redundant-void-arg
publish: !!bool no
- name: modernize-shrink-to-fit
publish: !!bool yes
- name: modernize-use-equals-default
publish: !!bool yes
- name: modernize-use-equals-delete
publish: !!bool yes
- name: modernize-use-nullptr
publish: !!bool yes
- name: modernize-use-override
publish: !!bool yes
- name: mozilla-*
publish: !!bool yes
- name: performance-*
publish: !!bool yes
- name: readability-container-size-empty
publish: !!bool yes
- name: readability-else-after-return
publish: !!bool yes
- name: readability-misleading-indentation
publish: !!bool yes
- name: readability-redundant-control-flow
publish: !!bool yes
- name: readability-redundant-smartptr-get
publish: !!bool no
- name: readability-uniqueptr-delete-release
publish: !!bool yes
- name: modernize-use-auto
# Controversial, see bug 1371052.
publish: !!bool no
- name: modernize-use-bool-literals
# Too noisy because of `while (0)` in many macros.
publish: !!bool no
# Third party files from mozilla-central
third_party: tools/rewriting/ThirdPartyPaths.txt