-
Notifications
You must be signed in to change notification settings - Fork 462
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix phutil_analyzer bug on interface dependency creation #3
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Summary: Use $interface_name instead of $class_name when dealing with interfaces. Problem happens when you extend an interface: interface SubIface extends SuperIface { ... Notice: Undefined variable: class_name in ... Fatal error: Call to a member function getConcreteString() on a non-object in ... Test Plan: phutil_mapper.php works!
epriestley
pushed a commit
that referenced
this pull request
Aug 10, 2011
Fix phutil_analyzer bug on interface dependency creation
Thanks! I don't use many interfaces. :) |
sylvestre
pushed a commit
to sylvestre/arcanist
that referenced
this pull request
Nov 11, 2013
svn and git are localized and the parsing was failing [1] when 'svn info' was performed in French [2]. [1] [...] >>> [21] <exec> $ svn info '/data/pkg-llvm/clang.svn/test/Driver/clang_f_opts.c'@ <<< [18] <exec> 265,878 us <<< [16] <exec> 280,405 us <<< [19] <exec> 331,980 us <<< [21] <exec> 347,814 us <<< [17] <exec> 369,468 us <<< [15] <exec> 377,656 us <<< [14] <exec> 383,733 us <<< [20] <exec> 373,991 us [2013-11-11 13:25:22] EXCEPTION: (Exception) Unable to parse SVN info. at [/data/pkg-llvm/arcanist/src/repository/api/ArcanistSubversionAPI.php:357] #0 ArcanistSubversionAPI::getSVNInfo(include/clang/Basic/DiagnosticDriverKinds.td) called at [/data/pkg-llvm/arcanist/src/parser/ArcanistDiffParser.php:93] phacility#1 ArcanistDiffParser::parseSubversionDiff(Object ArcanistSubversionAPI, Array of size 4 starting with: { include/clang/Basic/DiagnosticDriverKinds.td => 1 }) called at [/data/pkg-llvm/arcanist/src/workflow/ArcanistDiffWorkflow.php:936] phacility#2 ArcanistDiffWorkflow::generateChanges() called at [/data/pkg-llvm/arcanist/src/workflow/ArcanistDiffWorkflow.php:504] phacility#3 ArcanistDiffWorkflow::run() called at [/data/pkg-llvm/arcanist/scripts/arcanist.php:318] [2] $ svn info Chemin : . Chemin racine de la copie de travail : /data/pkg-llvm/clang.svn URL : https://bar@llvm.org/svn/llvm-project/cfe/trunk Racine du dépôt : https://bar@llvm.org/svn/llvm-project UUID du dépôt : 91177308-0d34-0410-b5e6-96231b3b80d8 Révision : 194373 Type de nœud : répertoire Tâche programmée : normale Auteur de la dernière modification : foo Révision de la dernière modification : 194368 Date de la dernière modification: 2013-11-11 07:36:33 +0100 (lun. 11 nov. 2013)
epriestley
pushed a commit
that referenced
this pull request
May 22, 2014
Summary: Currently, the `ComprehensiveLintEngine` fails to lint `*.py` files with the following exception: ``` > arc lint foo.py [2014-05-22 01:17:12] ERROR 2: escapeshellarg() expects parameter 1 to be string, array given at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #0 escapeshellarg(Array { 0 => --ignore=E101,E501,W291,W292,W293 }) #1 array_map(escapeshellarg, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #2 xsprintf_command(Array { unmasked => false }, %s %s, 4, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] #3 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] #4 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] #5 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:12] #6 PhutilCommandString::__construct(Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:34] #7 csprintf(%C %Ls, Object PhutilCommandString, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistExternalLinter.php:400] #8 ArcanistExternalLinter::buildFutures(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistFutureLinter.php:17] #9 ArcanistFutureLinter::willLintPaths(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/engine/ArcanistLintEngine.php:297] #10 ArcanistLintEngine::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/src/workflow/ArcanistLintWorkflow.php:336] #11 ArcanistLintWorkflow::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/scripts/arcanist.php:322] [2014-05-22 01:17:12] ERROR 2: escapeshellarg() expects parameter 1 to be string, array given at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #0 escapeshellarg(Array { 0 => --ignore=E101,E501,W291,W292,W293 }) #1 array_map(escapeshellarg, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #2 xsprintf_command(Array { unmasked => false }, %s %s, 4, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] #3 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] #4 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] #5 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:65] #6 xsprintf_command(Array { unmasked => false }, %C %C, 1, Object PhutilCommandString, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] #7 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] #8 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] #9 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:12] #10 PhutilCommandString::__construct(Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:34] #11 csprintf(%C %C, Object PhutilCommandString, Object PhutilCommandString) #12 call_user_func_array(csprintf, Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/exec/ExecFuture.php:72] #13 ExecFuture::__construct(%C %C, Object PhutilCommandString, Object PhutilCommandString) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistExternalLinter.php:414] #14 ArcanistExternalLinter::buildFutures(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistFutureLinter.php:17] #15 ArcanistFutureLinter::willLintPaths(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/engine/ArcanistLintEngine.php:297] #16 ArcanistLintEngine::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/src/workflow/ArcanistLintWorkflow.php:336] #17 ArcanistLintWorkflow::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/scripts/arcanist.php:322] [2014-05-22 01:17:12] ERROR 2: escapeshellarg() expects parameter 1 to be string, array given at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #0 escapeshellarg(Array { 0 => --ignore=E101,E501,W291,W292,W293 }) #1 array_map(escapeshellarg, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #2 xsprintf_command(Array { unmasked => false }, %s %s, 4, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] #3 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] #4 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] #5 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:65] #6 xsprintf_command(Array { unmasked => false }, %C %C, 1, Object PhutilCommandString, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] #7 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] #8 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] #9 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:16] #10 PhutilCommandString::__toString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/exec/ExecFuture.php:611] #11 ExecFuture::isReady() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/FutureIterator.php:322] #12 FutureIterator::updateWorkingSet() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/FutureIterator.php:97] #13 FutureIterator::addFuture(Object ExecFuture, foo.py) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistFutureLinter.php:18] #14 ArcanistFutureLinter::willLintPaths(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/engine/ArcanistLintEngine.php:297] #15 ArcanistLintEngine::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/src/workflow/ArcanistLintWorkflow.php:336] #16 ArcanistLintWorkflow::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/scripts/arcanist.php:322] [2014-05-22 01:17:12] ERROR 2: escapeshellarg() expects parameter 1 to be string, array given at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #0 escapeshellarg(Array { 0 => --ignore=E101,E501,W291,W292,W293 }) #1 array_map(escapeshellarg, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #2 xsprintf_command(Array { unmasked => true }, %s %s, 4, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] #3 xsprintf(xsprintf_command, Array { unmasked => true }, Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] #4 PhutilCommandString::renderString(true) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:20] #5 PhutilCommandString::getUnmaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:63] #6 xsprintf_command(Array { unmasked => true }, %C %C, 1, Object PhutilCommandString, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] #7 xsprintf(xsprintf_command, Array { unmasked => true }, Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] #8 PhutilCommandString::renderString(true) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:20] #9 PhutilCommandString::getUnmaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/exec/ExecFuture.php:622] #10 ExecFuture::isReady() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/FutureIterator.php:322] #11 FutureIterator::updateWorkingSet() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/FutureIterator.php:97] #12 FutureIterator::addFuture(Object ExecFuture, foo.py) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistFutureLinter.php:18] #13 ArcanistFutureLinter::willLintPaths(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/engine/ArcanistLintEngine.php:297] #14 ArcanistLintEngine::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/src/workflow/ArcanistLintWorkflow.php:336] #15 ArcanistLintWorkflow::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/scripts/arcanist.php:322] ``` Test Plan: Ran `arc lint foo.py` on an empty file. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin Differential Revision: https://secure.phabricator.com/D9251
epriestley
pushed a commit
that referenced
this pull request
Jul 16, 2015
Summary: This is to fix `arc unit` when running a test file with no test results (e.g. skipped) ``` EXCEPTION: (RuntimeException) Undefined variable: last_test_finished at [<phutil>/src/error/PhutilErrorHandler.php:210] arcanist(head=master, ref.master=d54cb072facd), deviantart(), phutil(head=master, ref.master=75f675747648) #0 PhutilErrorHandler::handleError(integer, string, string, integer, array) called at [<arcanist>/src/unit/parser/ArcanistPhpunitTestResultParser.php:95] #1 ArcanistPhpunitTestResultParser::parseTestResults(string, string) called at [<deviantart>/unit/DaUnitEngine.php:150] #2 DaUnitEngine::parseTestResults(string, TempFile, string, string) called at [<deviantart>/unit/DaUnitEngine.php:82] #3 DaUnitEngine::run() called at [<arcanist>/src/workflow/ArcanistUnitWorkflow.php:186] #4 ArcanistUnitWorkflow::run() called at [<arcanist>/scripts/arcanist.php:382] ``` Test Plan: Create a test file with skipped tests. Run `arc unit`. Make sure the exception is not thrown. Reviewers: joshuaspence, epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin, aurelijus Differential Revision: https://secure.phabricator.com/D13640
julkiewicz
pushed a commit
to julkiewicz/arcanist
that referenced
this pull request
Aug 7, 2015
Summary: Currently, the `ComprehensiveLintEngine` fails to lint `*.py` files with the following exception: ``` > arc lint foo.py [2014-05-22 01:17:12] ERROR 2: escapeshellarg() expects parameter 1 to be string, array given at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #0 escapeshellarg(Array { 0 => --ignore=E101,E501,W291,W292,W293 }) #1 array_map(escapeshellarg, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] phacility#2 xsprintf_command(Array { unmasked => false }, %s %s, 4, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] phacility#3 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] phacility#4 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] phacility#5 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:12] phacility#6 PhutilCommandString::__construct(Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:34] phacility#7 csprintf(%C %Ls, Object PhutilCommandString, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistExternalLinter.php:400] phacility#8 ArcanistExternalLinter::buildFutures(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistFutureLinter.php:17] phacility#9 ArcanistFutureLinter::willLintPaths(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/engine/ArcanistLintEngine.php:297] #10 ArcanistLintEngine::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/src/workflow/ArcanistLintWorkflow.php:336] phacility#11 ArcanistLintWorkflow::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/scripts/arcanist.php:322] [2014-05-22 01:17:12] ERROR 2: escapeshellarg() expects parameter 1 to be string, array given at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #0 escapeshellarg(Array { 0 => --ignore=E101,E501,W291,W292,W293 }) #1 array_map(escapeshellarg, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] phacility#2 xsprintf_command(Array { unmasked => false }, %s %s, 4, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] phacility#3 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] phacility#4 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] phacility#5 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:65] phacility#6 xsprintf_command(Array { unmasked => false }, %C %C, 1, Object PhutilCommandString, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] phacility#7 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] phacility#8 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] phacility#9 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:12] #10 PhutilCommandString::__construct(Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:34] phacility#11 csprintf(%C %C, Object PhutilCommandString, Object PhutilCommandString) phacility#12 call_user_func_array(csprintf, Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/exec/ExecFuture.php:72] phacility#13 ExecFuture::__construct(%C %C, Object PhutilCommandString, Object PhutilCommandString) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistExternalLinter.php:414] phacility#14 ArcanistExternalLinter::buildFutures(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistFutureLinter.php:17] phacility#15 ArcanistFutureLinter::willLintPaths(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/engine/ArcanistLintEngine.php:297] phacility#16 ArcanistLintEngine::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/src/workflow/ArcanistLintWorkflow.php:336] phacility#17 ArcanistLintWorkflow::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/scripts/arcanist.php:322] [2014-05-22 01:17:12] ERROR 2: escapeshellarg() expects parameter 1 to be string, array given at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #0 escapeshellarg(Array { 0 => --ignore=E101,E501,W291,W292,W293 }) #1 array_map(escapeshellarg, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] phacility#2 xsprintf_command(Array { unmasked => false }, %s %s, 4, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] phacility#3 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] phacility#4 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] phacility#5 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:65] phacility#6 xsprintf_command(Array { unmasked => false }, %C %C, 1, Object PhutilCommandString, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] phacility#7 xsprintf(xsprintf_command, Array { unmasked => false }, Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] phacility#8 PhutilCommandString::renderString(false) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:24] phacility#9 PhutilCommandString::getMaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:16] #10 PhutilCommandString::__toString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/exec/ExecFuture.php:611] phacility#11 ExecFuture::isReady() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/FutureIterator.php:322] phacility#12 FutureIterator::updateWorkingSet() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/FutureIterator.php:97] phacility#13 FutureIterator::addFuture(Object ExecFuture, foo.py) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistFutureLinter.php:18] phacility#14 ArcanistFutureLinter::willLintPaths(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/engine/ArcanistLintEngine.php:297] phacility#15 ArcanistLintEngine::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/src/workflow/ArcanistLintWorkflow.php:336] phacility#16 ArcanistLintWorkflow::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/scripts/arcanist.php:322] [2014-05-22 01:17:12] ERROR 2: escapeshellarg() expects parameter 1 to be string, array given at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] #0 escapeshellarg(Array { 0 => --ignore=E101,E501,W291,W292,W293 }) #1 array_map(escapeshellarg, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:87] phacility#2 xsprintf_command(Array { unmasked => true }, %s %s, 4, Array { 0 => Array { 0 => --ignore=E101,E501,W291,W292,W293 } }, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] phacility#3 xsprintf(xsprintf_command, Array { unmasked => true }, Array of size 3 starting with: { 0 => %C %Ls }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] phacility#4 PhutilCommandString::renderString(true) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:20] phacility#5 PhutilCommandString::getUnmaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/csprintf.php:63] phacility#6 xsprintf_command(Array { unmasked => true }, %C %C, 1, Object PhutilCommandString, 5) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/xsprintf.php:63] phacility#7 xsprintf(xsprintf_command, Array { unmasked => true }, Array of size 3 starting with: { 0 => %C %C }) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:33] phacility#8 PhutilCommandString::renderString(true) called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/xsprintf/PhutilCommandString.php:20] phacility#9 PhutilCommandString::getUnmaskedString() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/exec/ExecFuture.php:622] #10 ExecFuture::isReady() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/FutureIterator.php:322] phacility#11 FutureIterator::updateWorkingSet() called at [/home/joshua/dotfiles/modules/phabricator/libphutil/src/future/FutureIterator.php:97] phacility#12 FutureIterator::addFuture(Object ExecFuture, foo.py) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/linter/ArcanistFutureLinter.php:18] phacility#13 ArcanistFutureLinter::willLintPaths(Array { 0 => foo.py }) called at [/home/joshua/workspace/github.com/facebook/arcanist/src/lint/engine/ArcanistLintEngine.php:297] phacility#14 ArcanistLintEngine::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/src/workflow/ArcanistLintWorkflow.php:336] phacility#15 ArcanistLintWorkflow::run() called at [/home/joshua/workspace/github.com/facebook/arcanist/scripts/arcanist.php:322] ``` Test Plan: Ran `arc lint foo.py` on an empty file. Reviewers: epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin Differential Revision: https://secure.phabricator.com/D9251
julkiewicz
pushed a commit
to julkiewicz/arcanist
that referenced
this pull request
Aug 7, 2015
Summary: This is to fix `arc unit` when running a test file with no test results (e.g. skipped) ``` EXCEPTION: (RuntimeException) Undefined variable: last_test_finished at [<phutil>/src/error/PhutilErrorHandler.php:210] arcanist(head=master, ref.master=d54cb072facd), deviantart(), phutil(head=master, ref.master=75f675747648) #0 PhutilErrorHandler::handleError(integer, string, string, integer, array) called at [<arcanist>/src/unit/parser/ArcanistPhpunitTestResultParser.php:95] #1 ArcanistPhpunitTestResultParser::parseTestResults(string, string) called at [<deviantart>/unit/DaUnitEngine.php:150] phacility#2 DaUnitEngine::parseTestResults(string, TempFile, string, string) called at [<deviantart>/unit/DaUnitEngine.php:82] phacility#3 DaUnitEngine::run() called at [<arcanist>/src/workflow/ArcanistUnitWorkflow.php:186] phacility#4 ArcanistUnitWorkflow::run() called at [<arcanist>/scripts/arcanist.php:382] ``` Test Plan: Create a test file with skipped tests. Run `arc unit`. Make sure the exception is not thrown. Reviewers: joshuaspence, epriestley, #blessed_reviewers Reviewed By: epriestley, #blessed_reviewers Subscribers: epriestley, Korvin, aurelijus Differential Revision: https://secure.phabricator.com/D13640
epriestley
pushed a commit
that referenced
this pull request
Jan 5, 2016
Summary: Currently, `git show | arc diff --raw` and similar doesn't work because we try to figure out what the "Branch: feature (branched from whatever)" value is, which doesn't make sense. ``` $ git show | arc diff --raw --trace ARGV '/Users/epriestley/dev/core/lib/arcanist/bin/../scripts/arcanist.php' 'diff' '--raw' '--trace' LOAD Loaded "phutil" from "/Users/epriestley/dev/core/lib/libphutil/src". LOAD Loaded "arcanist" from "/Users/epriestley/dev/core/lib/arcanist/src". Config: Reading user configuration file "/Users/epriestley/.arcrc"... Config: Did not find system configuration at "/etc/arcconfig". Working Copy: Reading .arcconfig from "/Users/epriestley/dev/core/lib/arcanist/.arcconfig". Working Copy: Path "/Users/epriestley/dev/core/lib/arcanist" is part of `git` working copy "/Users/epriestley/dev/core/lib/arcanist". Working Copy: Project root is at "/Users/epriestley/dev/core/lib/arcanist". Config: Reading local configuration file "/Users/epriestley/dev/core/lib/arcanist/.git/arc/config"... Loading phutil library from '/Users/epriestley/dev/core/lib/arcanist/src'... >>> [0] <conduit> conduit.connect() <bytes = 489> >>> [1] <http> https://secure.phabricator.com/api/conduit.connect <<< [1] <http> 211,217 us <<< [0] <conduit> 212,001 us >>> [2] <event> diff.didCollectChanges <listeners = 0> <<< [2] <event> 140 us >>> [3] <event> diff.didBuildMessage <listeners = 0> <<< [3] <event> 46 us Reading diff from stdin... >>> [4] <conduit> differential.creatediff() <bytes = 10,542> >>> [5] <http> https://secure.phabricator.com/api/differential.creatediff <<< [5] <http> 120,215 us <<< [4] <conduit> 120,411 us >>> [6] <event> diff.wasCreated <listeners = 0> <<< [6] <event> 41 us SKIP STAGING Raw changes can not be pushed to a staging area. >>> [7] <conduit> harbormaster.queryautotargets() <bytes = 290> >>> [8] <http> https://secure.phabricator.com/api/harbormaster.queryautotargets <<< [8] <http> 217,717 us <<< [7] <conduit> 217,944 us >>> [9] <conduit> harbormaster.sendmessage() <bytes = 274> >>> [10] <http> https://secure.phabricator.com/api/harbormaster.sendmessage >>> [11] <conduit> harbormaster.sendmessage() <bytes = 274> >>> [12] <http> https://secure.phabricator.com/api/harbormaster.sendmessage <<< [10] <http> 123,821 us <<< [9] <conduit> 134,329 us <<< [12] <http> 227,580 us <<< [11] <conduit> 227,787 us [2016-01-05 10:08:58] EXCEPTION: (Exception) This workflow ('ArcanistDiffWorkflow') requires a Repository API, override requiresRepositoryAPI() to return true. at [<arcanist>/src/workflow/ArcanistWorkflow.php:804] arcanist(head=master, ref.master=b3e68c9f1793), phutil(head=stable, ref.master=adb8a9c074ba, ref.stable=7b8d38cd2d4e) #0 ArcanistWorkflow::getRepositoryAPI() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2421] #1 ArcanistDiffWorkflow::getDiffOntoTargets() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2411] #2 ArcanistDiffWorkflow::updateOntoDiffProperty() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:534] #3 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:392] ``` Test Plan: Ran `arc diff --raw` in `phabricator/`. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D14946
epriestley
pushed a commit
that referenced
this pull request
Jan 5, 2016
Summary: Currently, `git show | arc diff --raw` and similar doesn't work because we try to figure out what the "Branch: feature (branched from whatever)" value is, which doesn't make sense. ``` $ git show | arc diff --raw --trace ARGV '/Users/epriestley/dev/core/lib/arcanist/bin/../scripts/arcanist.php' 'diff' '--raw' '--trace' LOAD Loaded "phutil" from "/Users/epriestley/dev/core/lib/libphutil/src". LOAD Loaded "arcanist" from "/Users/epriestley/dev/core/lib/arcanist/src". Config: Reading user configuration file "/Users/epriestley/.arcrc"... Config: Did not find system configuration at "/etc/arcconfig". Working Copy: Reading .arcconfig from "/Users/epriestley/dev/core/lib/arcanist/.arcconfig". Working Copy: Path "/Users/epriestley/dev/core/lib/arcanist" is part of `git` working copy "/Users/epriestley/dev/core/lib/arcanist". Working Copy: Project root is at "/Users/epriestley/dev/core/lib/arcanist". Config: Reading local configuration file "/Users/epriestley/dev/core/lib/arcanist/.git/arc/config"... Loading phutil library from '/Users/epriestley/dev/core/lib/arcanist/src'... >>> [0] <conduit> conduit.connect() <bytes = 489> >>> [1] <http> https://secure.phabricator.com/api/conduit.connect <<< [1] <http> 211,217 us <<< [0] <conduit> 212,001 us >>> [2] <event> diff.didCollectChanges <listeners = 0> <<< [2] <event> 140 us >>> [3] <event> diff.didBuildMessage <listeners = 0> <<< [3] <event> 46 us Reading diff from stdin... >>> [4] <conduit> differential.creatediff() <bytes = 10,542> >>> [5] <http> https://secure.phabricator.com/api/differential.creatediff <<< [5] <http> 120,215 us <<< [4] <conduit> 120,411 us >>> [6] <event> diff.wasCreated <listeners = 0> <<< [6] <event> 41 us SKIP STAGING Raw changes can not be pushed to a staging area. >>> [7] <conduit> harbormaster.queryautotargets() <bytes = 290> >>> [8] <http> https://secure.phabricator.com/api/harbormaster.queryautotargets <<< [8] <http> 217,717 us <<< [7] <conduit> 217,944 us >>> [9] <conduit> harbormaster.sendmessage() <bytes = 274> >>> [10] <http> https://secure.phabricator.com/api/harbormaster.sendmessage >>> [11] <conduit> harbormaster.sendmessage() <bytes = 274> >>> [12] <http> https://secure.phabricator.com/api/harbormaster.sendmessage <<< [10] <http> 123,821 us <<< [9] <conduit> 134,329 us <<< [12] <http> 227,580 us <<< [11] <conduit> 227,787 us [2016-01-05 10:08:58] EXCEPTION: (Exception) This workflow ('ArcanistDiffWorkflow') requires a Repository API, override requiresRepositoryAPI() to return true. at [<arcanist>/src/workflow/ArcanistWorkflow.php:804] arcanist(head=master, ref.master=b3e68c9f1793), phutil(head=stable, ref.master=adb8a9c074ba, ref.stable=7b8d38cd2d4e) #0 ArcanistWorkflow::getRepositoryAPI() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2421] #1 ArcanistDiffWorkflow::getDiffOntoTargets() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2411] #2 ArcanistDiffWorkflow::updateOntoDiffProperty() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:534] #3 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:392] ``` Test Plan: Ran `arc diff --raw` in `phabricator/`. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D14946
newint33h
pushed a commit
to newint33h/arcanist
that referenced
this pull request
May 17, 2016
Summary: Currently, `git show | arc diff --raw` and similar doesn't work because we try to figure out what the "Branch: feature (branched from whatever)" value is, which doesn't make sense. ``` $ git show | arc diff --raw --trace ARGV '/Users/epriestley/dev/core/lib/arcanist/bin/../scripts/arcanist.php' 'diff' '--raw' '--trace' LOAD Loaded "phutil" from "/Users/epriestley/dev/core/lib/libphutil/src". LOAD Loaded "arcanist" from "/Users/epriestley/dev/core/lib/arcanist/src". Config: Reading user configuration file "/Users/epriestley/.arcrc"... Config: Did not find system configuration at "/etc/arcconfig". Working Copy: Reading .arcconfig from "/Users/epriestley/dev/core/lib/arcanist/.arcconfig". Working Copy: Path "/Users/epriestley/dev/core/lib/arcanist" is part of `git` working copy "/Users/epriestley/dev/core/lib/arcanist". Working Copy: Project root is at "/Users/epriestley/dev/core/lib/arcanist". Config: Reading local configuration file "/Users/epriestley/dev/core/lib/arcanist/.git/arc/config"... Loading phutil library from '/Users/epriestley/dev/core/lib/arcanist/src'... >>> [0] <conduit> conduit.connect() <bytes = 489> >>> [1] <http> https://secure.phabricator.com/api/conduit.connect <<< [1] <http> 211,217 us <<< [0] <conduit> 212,001 us >>> [2] <event> diff.didCollectChanges <listeners = 0> <<< [2] <event> 140 us >>> [3] <event> diff.didBuildMessage <listeners = 0> <<< [3] <event> 46 us Reading diff from stdin... >>> [4] <conduit> differential.creatediff() <bytes = 10,542> >>> [5] <http> https://secure.phabricator.com/api/differential.creatediff <<< [5] <http> 120,215 us <<< [4] <conduit> 120,411 us >>> [6] <event> diff.wasCreated <listeners = 0> <<< [6] <event> 41 us SKIP STAGING Raw changes can not be pushed to a staging area. >>> [7] <conduit> harbormaster.queryautotargets() <bytes = 290> >>> [8] <http> https://secure.phabricator.com/api/harbormaster.queryautotargets <<< [8] <http> 217,717 us <<< [7] <conduit> 217,944 us >>> [9] <conduit> harbormaster.sendmessage() <bytes = 274> >>> [10] <http> https://secure.phabricator.com/api/harbormaster.sendmessage >>> [11] <conduit> harbormaster.sendmessage() <bytes = 274> >>> [12] <http> https://secure.phabricator.com/api/harbormaster.sendmessage <<< [10] <http> 123,821 us <<< [9] <conduit> 134,329 us <<< [12] <http> 227,580 us <<< [11] <conduit> 227,787 us [2016-01-05 10:08:58] EXCEPTION: (Exception) This workflow ('ArcanistDiffWorkflow') requires a Repository API, override requiresRepositoryAPI() to return true. at [<arcanist>/src/workflow/ArcanistWorkflow.php:804] arcanist(head=master, ref.master=b3e68c9f1793), phutil(head=stable, ref.master=adb8a9c074ba, ref.stable=7b8d38cd2d4e) #0 ArcanistWorkflow::getRepositoryAPI() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2421] phacility#1 ArcanistDiffWorkflow::getDiffOntoTargets() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:2411] phacility#2 ArcanistDiffWorkflow::updateOntoDiffProperty() called at [<arcanist>/src/workflow/ArcanistDiffWorkflow.php:534] phacility#3 ArcanistDiffWorkflow::run() called at [<arcanist>/scripts/arcanist.php:392] ``` Test Plan: Ran `arc diff --raw` in `phabricator/`. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D14946
josh-newman
pushed a commit
to josh-newman/arcanist
that referenced
this pull request
Oct 23, 2016
Lint paths per Coursera frontend file organization
chiragb1994
pushed a commit
to rivigo-labs/arcanist
that referenced
this pull request
Jun 9, 2021
upstream changes
chiragb1994
pushed a commit
to rivigo-labs/arcanist
that referenced
this pull request
Jun 9, 2021
Update .arcconfig
reet-
pushed a commit
to codelabs-ch/arcanist
that referenced
this pull request
Mar 22, 2024
Summary: Premising that "arc commit" is a beautiful Workflow dedicated to svn repositories, I tried it at work, causing the usual PHP 8.1 deprecation warning: $ arc diff $ arc commit ERROR 8192: preg_replace(): Passing null to parameter phacility#3 ($subject) of type array|string is deprecated at [arcanist/src/workflow/ArcanistWorkflow.php:1520] arcanist(head=master, ref.master=e46025f7a914) #0 preg_replace(string, string, NULL) called at [<arcanist>/src/workflow/ArcanistWorkflow.php:1520] phacility#1 ArcanistWorkflow::normalizeRevisionID(NULL) called at [<arcanist>/src/workflow/ArcanistCommitWorkflow.php:68] phacility#2 ArcanistCommitWorkflow::run() called at [<arcanist>/scripts/arcanist.php:427] Usage Exception: Unable to identify the revision in the working copy. Use '--revision <revision_id>' to select a revision. This bug happens at least when Arcanist does not find any related Revision ID. It seems there is a method that always normalizes the Revision ID, but sometime that is unknown (null). And so, NULL ends inside a preg_replace(). It's probably OK to have a normalize method that accept wild things, including NULL. So, fixed that specific method. Closes T15693 Test Plan: This revision was tested in production in my company. Take a random Subversion repository. Edit a line. Run "arc diff". Then run "arc commit". No warnings. Reviewers: O1 Blessed Committers, aklapper Reviewed By: O1 Blessed Committers, aklapper Subscribers: tobiaswiese, Matthew, Cigaryno Maniphest Tasks: T15693 Differential Revision: https://we.phorge.it/D25498
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
Use $interface_name instead of $class_name when dealing with
interfaces. Problem happens when you extend an interface:
Test Plan: phutil_mapper.php works!