Skip to content
Snippets Groups Projects
Commit e73abb21 authored by catch's avatar catch
Browse files

Issue #3281193 by neclimdul: Improve GenerateThemeTest

parent df6d9bda
No related branches found
No related tags found
28 merge requests!54479.5.x SF update,!5014Issue #3071143: Table Render Array Example Is Incorrect,!4868Issue #1428520: Improve menu parent link selection,!4289Issue #1344552 by marcingy, Niklas Fiekas, Ravi.J, aleevas, Eduardo Morales...,!4114Issue #2707291: Disable body-level scrolling when a dialog is open as a modal,!4100Issue #3249600: Add support for PHP 8.1 Enums as allowed values for list_* data types,!3630Issue #2815301 by Chi, DanielVeza, kostyashupenko, smustgrave: Allow to create...,!3600Issue #3344629: Passing null to parameter #1 ($haystack) of type string is deprecated,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2334Issue #3228209: Add hasRole() method to AccountInterface,!2062Issue #3246454: Add weekly granularity to views date sort,!1591Issue #3199697: Add JSON:API Translation experimental module,!1484Exposed filters get values from URL when Ajax is on,!1255Issue #3238922: Refactor (if feasible) uses of the jQuery serialize function to use vanillaJS,!1162Issue #3100350: Unable to save '/' root path alias,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!925Issue #2339235: Remove taxonomy hard dependency on node module,!877Issue #2708101: Default value for link text is not saved,!872Draft: Issue #3221319: Race condition when creating menu links and editing content deletes menu links,!844Resolve #3036010 "Updaters",!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493,!485Sets the autocomplete attribute for username/password input field on login form.,!30Issue #3182188: Updates composer usage to point at ./vendor/bin/composer
...@@ -45,7 +45,7 @@ protected function setUp(): void { ...@@ -45,7 +45,7 @@ protected function setUp(): void {
* @return \Symfony\Component\Process\Process * @return \Symfony\Component\Process\Process
* The PHP process * The PHP process
*/ */
private function generateThemeFromStarterkit() : Process { private function generateThemeFromStarterkit($env = NULL) : Process {
$install_command = [ $install_command = [
$this->php, $this->php,
'core/scripts/drupal', 'core/scripts/drupal',
...@@ -54,7 +54,7 @@ private function generateThemeFromStarterkit() : Process { ...@@ -54,7 +54,7 @@ private function generateThemeFromStarterkit() : Process {
'--name="Test custom starterkit theme"', '--name="Test custom starterkit theme"',
'--description="Custom theme generated from a starterkit theme"', '--description="Custom theme generated from a starterkit theme"',
]; ];
$process = new Process($install_command, NULL); $process = new Process($install_command, NULL, $env);
$process->setTimeout(60); $process->setTimeout(60);
return $process; return $process;
} }
...@@ -262,20 +262,23 @@ public function testContribStarterkitDevSnapshotWithGitNotInstalled(): void { ...@@ -262,20 +262,23 @@ public function testContribStarterkitDevSnapshotWithGitNotInstalled(): void {
SH; SH;
file_put_contents($unavailableGitPath . '/git', $bash); file_put_contents($unavailableGitPath . '/git', $bash);
chmod($unavailableGitPath . '/git', 0755); chmod($unavailableGitPath . '/git', 0755);
$oldPath = getenv('PATH');
putenv('PATH=' . $unavailableGitPath . ':' . getenv('PATH'));
// Confirm that 'git' is no longer available. // Confirm that 'git' is no longer available.
$output = []; $env = [
exec('git --help', $output, $status); 'PATH' => $unavailableGitPath . ':' . getenv('PATH'),
$this->assertEquals(127, $status); 'COLUMNS' => 80,
];
$process = $this->generateThemeFromStarterkit(); $process = new Process([
'git',
'--help',
], NULL, $env);
$process->run();
$this->assertEquals(127, $process->getExitCode(), 'Fake git used by process.');
$process = $this->generateThemeFromStarterkit($env);
$result = $process->run(); $result = $process->run();
$this->assertEquals("[ERROR] The source theme starterkit_theme has a development version number \n (7.x-dev). Determining a specific commit is not possible because git is\n not installed. Either install git or use a tagged release to generate a\n theme.", trim($process->getOutput()), $process->getErrorOutput()); $this->assertEquals("[ERROR] The source theme starterkit_theme has a development version number \n (7.x-dev). Determining a specific commit is not possible because git is\n not installed. Either install git or use a tagged release to generate a\n theme.", trim($process->getOutput()), $process->getErrorOutput());
$this->assertSame(1, $result); $this->assertSame(1, $result);
$this->assertFileDoesNotExist($this->getWorkspaceDirectory() . "/themes/test_custom_theme"); $this->assertFileDoesNotExist($this->getWorkspaceDirectory() . "/themes/test_custom_theme");
putenv('PATH=' . $oldPath . ':' . getenv('PATH'));
} }
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment