profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/nohwnd/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Jakub Jareš nohwnd @Microsoft Prague, Czech Republic jakubjares.com

nohwnd/Assert 84

A set of advanced assertions for Pester to simplify how you write tests.

nohwnd/azure-devops-docs 1

This repo is the home of the official Azure DevOps documentation for Microsoft. GitHub Issues filed in this repository should be for problems with the documentation.

nohwnd/Calculator 1

An enterprisey implementation of our calculator problem

nohwnd/.github 0

Global settings.

nohwnd/2019 0

Code, Materials and Slides for psconf.eu 2019

nohwnd/AdventOfCode2017 0

My solutions to advent of code

nohwnd/arcade 0

Tools that provide common build infrastructure for multiple .NET Foundation projects.

nohwnd/aspnet-identity-mongo 0

A mongodb provider for the new ASP.NET Identity framework.

nohwnd/AttendanceCore 0

ASP.NET Core 1.0 Demo for Indeed SMART Talk.

pull request commentpester/Pester

Feature json support

If you are still interested in adding this, please fix the merge conflicts and then we can talk. But is this really necessary when you have the result object and ConvertTo-Json cmdlet?

wow, this one goes a while back. I actually think I am. My whole point of the PR was that it would be nice to have a 'standard' and 'official' way to dehydrate the pester object. More as a convenvience for the engineer that has to use pester.

Ultimatley the format doesn't matter to be honnest (I have actually built a wrapper at work that exports to CLIXML, as I had some issues with JSON). This function could easily be updated for that format - if desired.

Should i push against the same branch again or change it to another one?

Stephanevg

comment created time in 4 hours

issue commentpester/Pester

How to access the TestDrive from within TestCases?

Unfortunately this is a limitation of running discovery and run in separate phases. The testdrive is unique per container (ex. file) and created during Run, which makes it unavailable during Discovery where your testcases are evaluated. This is necessary as discovery can go through hundreds of containers while due to filtering, the run-phase might just have to process a couple of them. Creating the testdrive in discovery could lead to lots of unnecessary overhead.

I think your workaround might be as good as it gets. Personally I'd provide the testdrive-path in BeforeDiscovery and pass the variable to the run-phase using -Foreach on the Describe-block. Then I'd resolve the paths in your testcase to ProviderPath prior to comparing them. The latter would give you the translated (not using the PSDrive) fullname of the testcase-paths so it's identical to the result of Get-ChildItem. It's a bit slower, but at the same time fixes any slash/backslash conflicts it the tests should work in both unix and windows. Ex.

BeforeDiscovery {
    $testfolder = 'TestDrive:\folder'
}

Describe 'ignored folders' -Foreach @{ testFolder = $testFolder } {
    BeforeAll {
        New-Item -Path $testFolder -ItemType Directory
        $testParams = @{
            path = $testFolder
            permissions = $null
        }

        # create environment
        @('a', 'b' , 'c') | ForEach-Object {
            New-Item -Path (Join-Path $testFolder $_) -ItemTyp Directory
        }
    }

    BeforeDiscovery {
        $testCases = @(
            @{
                name        = 'when no folder is ignored'
                permissions = @(
                    @{Path = 'a'; ACL = @{$env:USERNAME = 'Read' } }
                    @{Path = 'b'; ACL = @{$env:USERNAME = 'Write' } }
                    @{Path = 'c'; ACL = @{$env:USERNAME = 'Read' } }
                )
                expected    = @{
                    nonInheritanceTested = @(
                        "$testFolder\a",
                        "$testFolder\b",
                        "$testFolder\c"
                    )
                    inheritanceTested    = @(
                        "$testFolder\a",
                        "$testFolder\b",
                        "$testFolder\c"
                    )
                }
            }
        )
    }

    Context '<name>' -ForEach $testCases {
        BeforeAll {
            $testParams.permissions = $permissions
            # call the script and run expensive code
            # .$testScript @testParams
        }
        It 'all non inherited folders are checked' {
            $scriptVariable = (Get-ChildItem $testFolder).FullName

            # Resolve TestDrive:\... paths to providerpath /tmp/guid/.. before comparing
            $expected.nonInheritanceTested | Resolve-Path | % ProviderPath | ForEach-Object {
                $scriptVariable | Should -Contain $_
            }
        }
        It 'all files and folders that should be inherited are checked' {
            $scriptVariable = (Get-ChildItem $testFolder).FullName

            $expected.inheritanceTested | Resolve-Path | % ProviderPath | ForEach-Object {
                $scriptVariable | Should -Contain $_
            }
        }
    }
}
DarkLite1

comment created time in 5 hours

PR opened microsoft/vstest

Update README.md

Fixed casing.

Description

Please add a meaningful description for this change. Ensure the PR has required unit tests.

Related issue

Kindly link any related issues. E.g. Fixes #xyz.

+1 -1

0 comment

1 changed file

pr created time in 5 hours

issue commentpester/Pester

Improve Get-ShouldOperator

So I guess the step forward would be just modifying the command name in the help output as outlined in the related issue.

Originally posted by @nohwnd in https://github.com/pester/Pester/issues/1272#issuecomment-488244227

Should we implement this? Quick modification to $help.details.name could make it look something like:

PS /workspaces/Pester/tst/functions> Get-ShouldOperator be                     

NAME
    Should-Be
    
    ALIASES: EQ
    
SYNOPSIS
    Compares one object with another for equality
    and throws if the two objects are not the same.

An option to explore would be to convert the help object to a custom type with ToString or formatdata and customcontrols to format it however we'd like. That way we could possibly recreate this and maybe also provide syntax help to show custom parameters in assertions like -ExceptionType in Should-Throw, the fact that it expect a scriptblock for ActualValue etc.

nohwnd

comment created time in 7 hours

PR opened pester/Pester

Allow positional parameter in get-shouldoperator

This PR allows positional value to used for Name in Get-ShouldOperator to make it more user-friendly so users can type e.g. Get-ShouldOperator Be

PR Checklist

  • [x] PR has meaningful title
  • [x] Summary describes changes
  • [x] PR is ready to be merged
    • If not, use the arrow next to Create Pull Request to mark it as a draft. PR can be marked Ready for review when it's ready.
  • [x] Tests are added/update (if required)
  • [ ] Documentation is updated/added (if required)
+8 -0

0 comment

2 changed files

pr created time in 9 hours

pull request commentpester/Pester

(GH-1817) Trigger a GH Action once published

All good @nohwnd . Thanks!

glennsarti

comment created time in 10 hours

pull request commentpester/Pester

Update New-PesterConfiguration help

Sounds good. Thanks for the free rebase 😄

fflaten

comment created time in 10 hours

issue commentpester/Pester

Mocking CimInstance does not work

The exception is caused by ToString() looking for an internal member, but you'd get the same with GetType() ++ as the object really is incomplete. Mocking a generic CimInstance by itself isn't very useful. You get the shell, but every CimInstance is by itself generic. It's first when you link it to a CIM-class and properties that it gives any value.

New-MockObject creates uninitialized instances of the named class, which won't work well out-of-the-box for types like this that rely on unknown internal state/properties.

You'd be better of creating a real ciminstance-object for the class (without saving it ofc) or you could use the CimInstance-constructor and generate what you need manually.

# Real CIM-object as reference
$realProc = Get-CimInstance Win32_Process | Select -first 1
$realProc

ProcessId Name                HandleCount WorkingSetSize VirtualSize
--------- ----                ----------- -------------- -----------
0         System Idle Process 0           8192           8192


$realProc.CimInstanceProperties.Count
45

# Mock
$procMock = [Microsoft.Management.Infrastructure.CimInstance]::new('Win32_Process','root/cimv2')
$procMock

ProcessId Name HandleCount WorkingSetSize VirtualSize
--------- ---- ----------- -------------- -----------


$procMock.CimInstanceProperties.Count
0

# No properties exists by default, only the extended aliasproperties from ETS in PowerShell
$procMock | Get-Member

   TypeName: Microsoft.Management.Infrastructure.CimInstance#root/cimv2/Win32_Process

Name                      MemberType     Definition
----                      ----------     ----------
Handles                   AliasProperty  Handles = Handlecount
ProcessName               AliasProperty  ProcessName = Name
VM                        AliasProperty  VM = VirtualSize
WS                        AliasProperty  WS = WorkingSetSize
#.... only base class stuff, none of the cim-properties

$name = [Microsoft.Management.Infrastructure.CimProperty]::Create('Name','MyProcess', [cimtype]::String, 'Property, ReadOnly')
$handlecount = [Microsoft.Management.Infrastructure.CimProperty]::Create('Handlecount', 123, [cimtype]::UInt32 , 'Property, ReadOnly')
$procMock.CimInstanceProperties.Add($name)
$procMock.CimInstanceProperties.Add($handlecount)

$procMock

ProcessId Name      HandleCount WorkingSetSize VirtualSize
--------- ----      ----------- -------------- -----------
          MyProcess 123


$procMock.CimInstanceProperties.Count
2
rifftual

comment created time in 10 hours

issue openedmicrosoft/vstest

testhost.net472 leaks 4GB memory chunks when TargetPlatform=x64

When running the tests in a specific test dll, if we set the TargetPlatform to x64, testhost.net472 private memory steps up in 4GB increments. This soon makes the OS unresponsive, and makes the tests take much longer than expected. If I let the target platform default to x86, no such issue is observed. This is the command I use:

vstest.console MyTest.dll /tests:SomeTests /platform:x64

Running 9 tests (with platform=x64) causes the active private working set to rise to 24GB. With platform=x86, the workingset stays well below 1GB. This does not happen with every test assembly, just a select few.

What steps can I take to diagnose this issue? We're not sure when it started, though we only noticed it recently. It's possible devs have been running the tests using x86 platform and so not noticed. I tried connecting to the testhost process with windbg, and the managed heap is very small.

Diagnostic logs

log.txt log.host.21-05-15_12-06-03_22758_1.txt log.host.21-05-15_12-06-00_14123_1.txt

Environment

OS: Windows 10 Enterprise Version 1909 [18363.1500] Version: Microsoft (R) Test Execution Command Line Tool Version 15.9.1 Target framework is Net472, though I have also observed it when targeting Net461 32 GB Ram

created time in 11 hours

issue openedmicrosoft/vstest

Running VSTest via MSBUILD fails to log error output

Description

I am not sure if this is the best place for this issue but I can't see anywhere else to post questions related to VSTest in MSBUILD. I am running VSTest via a custom project file (included below). The intention of the custom project file is to only build and test the projects that are required, instead of all projects in the solution. One of the Test projects deliberately has a failing test. When running the command dotnet msbuild .\build\build.proj -m -verbosity:m -clp:summary -bl:build\build.binlog -r the build shows as failed but does not show any errors or warnings. See below. image

Running dotnet test .\build\build.proj -m -verbosity:m -clp:summary -bl:build\test.binlog seem to produce the expected output. image

I am hoping this is as simple as a missing property or similar. Thanks!

Steps to reproduce

All source is available at https://github.com/jachin84/repo-example.

  1. Clone the repo
  2. Run dotnet msbuild .\build\build.proj -m -verbosity:m -clp:summary -bl:build\build.binlog -r
  3. Then run `dotnet msbuild .\build\build.proj -m -verbosity:m -clp:summary -bl:build\build.binlog -t:Test
  4. The second command produces the expected output.

Expected behavior

I'm expecting that the error for the build will be output to the console in the same way as when running dotnet test.

Actual behavior

No errors are shown in the console.

Diagnostic logs

Trace logs are available in the repo under the test projects.

Environment

 dotnet msbuild --version
Microsoft (R) Build Engine version 16.9.0+57a23d249 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

16.9.0.11203

Custom Project File

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<!-- Import our standard properties	-->
	<Import Project="Common.props" />

	<!-- Properties required for build process -->
	<PropertyGroup>
		<Configuration Condition="'$(Configuration)'==''">Release</Configuration>
		<OutputRoot Condition="'$(OutputRoot)' == ''">$(SolutionRoot)\artifacts</OutputRoot>
		<BuildFolder Condition="'$(BuildFolder)' == ''">$(SolutionRoot)\build</BuildFolder>
		<BuildTools Condition="'$(BuildTools)' == ''">$(BuildFolder)\tools</BuildTools>
		<TestsFailBuild Condition="'$(TestsFailBuild)' == ''">True</TestsFailBuild>
		<!-- <VSTestPlatform Condition="'$(VSTestPlatform)' == ''">TestCategory=CommitTest</VSTestPlatform>-->
	</PropertyGroup>


	<!-- Delivery Projects -->
	<ItemGroup>
		<DeliveryProjects Include="$(SolutionRoot)/src/Delivery/**/*.csproj" />
	</ItemGroup>

	<!-- Test Projects -->
	<ItemGroup>
		<TestProjects Include="$(SolutionRoot)/tests/**/*.csproj" />
	</ItemGroup>

	<!-- The complete list of projects to build -->
	<ItemGroup>
		<ProjectsToBuild Include="@(DeliveryProjects)" />
		<ProjectsToBuild Include="@(TestProjects)" />
	</ItemGroup>


	<!-- ********************************************************************************* -->

	<!-- Bootstrap Build Environment -->
	<Import Project="$(MSBuildProjectDirectory)\Bootstrap.targets" />

	<!-- The restore target here is for compatibility with the -restore parameter in dotnet build/msbuild cli -->
	<Target Name="Restore">
		<MSBuild Projects="$(SolutionPath)" Targets="Restore" />
	</Target>

	<Target Name="_GenerateBuildParameters" >
		<PropertyGroup>
			<BuildProperties>Configuration=$(Configuration)</BuildProperties>
			<TestResultsFolder Condition="'$(TestResultsFolder)' == ''">$(OutputRoot)\TestResults</TestResultsFolder>
		</PropertyGroup>
	</Target>

	<!-- Setup Build Order -->
	<PropertyGroup>
		<PrepareBuildDependsOn>
			BootstrapBuild
		</PrepareBuildDependsOn>
	</PropertyGroup>
	<Target Name="PrepareBuild" DependsOnTargets="$(PrepareBuildDependsOn)" />

	<PropertyGroup>
		<BuildAllDependsOn>
			PrepareBuild;
			BuildProjects;
			Test
		</BuildAllDependsOn>
	</PropertyGroup>
	<Target Name="BuildAll" DependsOnTargets="$(BuildAllDependsOn)" />

	<!-- Add for compatibility with dotnet build -->
	<Target Name="Build" DependsOnTargets="BuildAll" />

	<Target Name="BuildProjects" DependsOnTargets="_GenerateBuildParameters">
		<MSBuild Projects="@(ProjectsToBuild)"
				 BuildInParallel="True"
				 Targets="Build"
				 Properties="$(BuildProperties)">
		</MSBuild>
	</Target>

	<Target Name="Test" DependsOnTargets="VSTest" />

	<Target Name="VSTest" DependsOnTargets="_GenerateBuildParameters">
		<MSBuild Projects="@(TestProjects)" BuildInParallel="True" Targets="VSTest" Properties="$(BuildProperties);VSTestNoBuild=true;VSTestLogger=trx%3BLogFileName=%(Filename)_TestResults.trx;VSTestResultsDirectory=$(TestResultsFolder)" ContinueOnError="ErrorAndContinue" />
	</Target>

</Project>

created time in 19 hours

push eventmicrosoft/testfx

Medeni Baykal

commit sha 2cc6cf527261d99b90c07c0bb4cdc3fe01cc390b

Moved projects to use PackageReference.

view details

push time in 21 hours

PR opened microsoft/testfx

Moved projects to use PackageReference.

Modified our projects to use PackageReference instead of packages.config files.

+364 -741

0 comment

46 changed files

pr created time in 21 hours

create barnchmicrosoft/testfx

branch : Arcade-Project-Refactor

created branch time in 21 hours

issue commentmicrosoft/vstest

Discover tests in parallel

@Sanan07 This is NOT about running tests in parallel. This is about discovering tests in multiple projects in parallel.

Please do me a favour and reread this issue form the start.

  1. I supplied a log file that clearly shows that test discovery takes a long time.
  2. I supplied a repo of the issue. After denying that is was a problem, I finally convinced someone who works on vstest tried out and they agreed that there is an issue.
JamesNK

comment created time in a day

issue commentpester/Pester

Mocking 'Get-PhysicalDisk' fails

I know this issue is currently closed, but I'm having this same exact problem in Pester v5.0.4 today. Was there a regression?

Test:

# this is a Pester test file

$ScriptRoot = Split-Path -Path (Get-Variable -Name MyInvocation -Scope 0).Value.MyCommand.Path

Describe 'WcsDiskInfo Tests' {
    BeforeAll {
        $SKU = 'SRV-WCS-S2130-EXO-BALANCED-MBX-GEN7.0-INTEL-WIWYNN-FULL-FY20Q3-MSF-053038'

        Set-Alias -Name Write-ScriptOutput -Value Write-Output

        Mock Get-Disk {
            Start-Job {Import-CliXML 'D:\Tests\DeserializedDisks\Gen7Balanced_MSF-053038_WinPE_GetDisk.xml'}
        }

        Mock Get-CimInstance {
            Import-Clixml "D:\Tests\DeserializedDisks\Gen7Balanced_MSF-053038_WinPE_Win32_DiskDrive.xml"
        }

        Mock Get-PhysicalDisk {
            Import-Clixml "D:\Tests\DeserializedDisks\Gen7Balanced_MSF-053038_WinPE_GetPhysDisk.xml"
        }
    }
    Context 'Gen7 Balanced - WinPE' {
        It 'It should run' {
            $Test = & "$ScriptRoot\WcsDiskInfo.ps1" -SKU $Sku
        }
    }
}

Result image

peppekerstens

comment created time in a day

issue closedpester/Pester

Mocking a certain cmdlet works in v5.1.1 but in v5.2.1

General summary of the issue

Using Pester v5.1.1 I am able to mock a call to Get-AzApiManagement but not when using v5.2.0 and v5.2.1.

Describe your environment

<!-- Please provide the output of this script: The script collects Operating System, Pester version and PowerShell version. You can open the URL in a browser to view the code before running it. --> Pester version : 5.1.1 C:\Program Files\PowerShell\Modules\pester\5.1.1\Pester.psm1 PowerShell version : 7.1.3 OS version : Microsoft Windows NT 10.0.19042.0

and

Pester version : 5.2.1 C:\Program Files\PowerShell\Modules\pester\5.2.1\Pester.psm1 PowerShell version : 7.1.3 OS version : Microsoft Windows NT 10.0.19042.0

Steps to reproduce

<!-- Provide steps and/or sample code to reproduce the issue. Try to make it as concise as possible, removing irrelevant steps/code and providing sample data where possible. This will enable us to help you faster. Tip: Placing Powershell code in a codeblock like below makes it more readable. --> Install the PowerShell Az module. Instructions are available at https://docs.microsoft.com/en-us/powershell/azure/install-az-ps?view=azps-5.9.0.

Both Pester version 5.1.1 and version 5.2.1 should be installed.

Create a file with the following content:

import-module Az.ApiManagement

function Test-Mock {
    Get-AzApiManagement -ResourceGroupName "NotExisting" -Name "Neither"
}   

Save it in an empty directory. Call it PesterRepro.psm1

Create another file and put the following content in it:

$pesterVersion = (Get-module -Name Pester).Version.ToString()
Write-Host "Using Pester version $pesterVersion"

Import-Module "$PSScriptRoot\PesterRepro.psm1" 

Describe "Works in 5.1.1 but not in 5.2.1" {

    Context " when mocking a call Get-AzApiManagement" {
        BeforeAll {
            Mock -CommandName Get-AzApiManagement  -MockWith {
                Write-Host "Mocked call to Get-AzApiManagement"
                return  $null
            }
        }

        It " should mock" {
            Write-Host "Going to call Get-AzApiManagement"
            Test-Mock
        }
    }
}

Save it as PesterRepro.Test.ps1 in the same directory.

For the working scenario start a new PowerShell session and enter:

    cd <directory where the files are>
    import-module pester -RequiredVersion 5.1.1
    invoke-pester

For the scenario that does not work start a new PowerShell session and enter:

    cd <directory where the files are>
    import-module pester -RequiredVersion 5.2.1
    invoke-pester

It does not work with Pester 5.2.0 either.

Expected Behavior

<!-- A clear and concise description of what you expected to happen. --> I expected the Pester versions 5.2.0 and 5.2.1 to mock the call to Get-AzApiManagement just like Pester version 5.1.1 does.

Current Behavior

<!-- What happens instead of the expected behavior. --> When using Pester version 5.2.0 or 5.2.1 the call to Get-AzApiManagement is not mocked.

closed time in a day

ErikMogensen

issue commentpester/Pester

Mocking a certain cmdlet works in v5.1.1 but in v5.2.1

You are absolutely right. Thanks for the super-quick reply and for making a great tool!

ErikMogensen

comment created time in a day

PR opened pester/docs

fix broken links

Updating some of the broken links. Primarily powershell.org forum links that broke after they migrated to new website+forum.

+10 -11

0 comment

8 changed files

pr created time in a day

issue commentmicrosoft/vstest

Vstest hangs after "Cancelling the operation as requested." message

Thats awesome news! Please keep me up to date as this is still a pressing matter for us at Stryker. Thanks for the update :+1:

richardwerkman

comment created time in a day

issue commentmicrosoft/vstest

Vstest hangs after "Cancelling the operation as requested." message

Just quick update : recently we made investigation on discovery flow and found potential issues with it. Also related to aborting flow. So we are planning to fix it in near future.

richardwerkman

comment created time in a day

PR opened pester/Pester

Update New-PesterConfiguration help

Also noticed that we should wrap the auto-generated pesterconfiguration-docs in a codeblock to keep it's format. Will look into that in pester-repo incl. updating the help for Hashtable-parameter to mention that all options are visible in description (no longer need to inspect).

Source https://github.com/pester/docs/pull/112#pullrequestreview-659872259

Wraps generated config-docs in markdown codeblock to keep formatting on website. Also updates some of the help text

+22 -11

0 comment

2 changed files

pr created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

 This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable  [https://pester.dev/docs/usage/assertions](https://pester.dev/docs/usage/assertions) +[about_Should]()++[about_Pester]()+

Manually remove empty links causing build failure. Pending pester/pester#1805

github-actions[bot]

comment created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

+---+id: New-PesterConfiguration+title: New-PesterConfiguration+description: Help page for the Powershell Pester "New-PesterConfiguration" command+keywords:+  - Powershell+  - Pester+  - Help+  - Documentation+hide_title: false+hide_table_of_contents: false+custom_edit_url: null+---++## SYNOPSIS++Creates a new [PesterConfiguration] object for advanced configuration of Invoke-Pester.++## SYNTAX++```powershell+New-PesterConfiguration [[-Hashtable] <IDictionary>] [<CommonParameters>]+```++## DESCRIPTION++The New-PesterConfiguration function creates a new [PesterConfiguration] object+to enable advanced configurations for runnings tests using Invoke-Pester.++Without parameters, the function generates a configuration-object with default+options.+The returned [PesterConfiguration] object can be modified to suit your+requirements.++Calling New-PesterConfiguration is equivalent to calling [PesterConfiguration]::Default which was used in early versions of Pester 5.++Sections and options:++Run:+  Path: Directories to be searched for tests, paths directly to test files, or combination of both.+  Default value: @('.')++  ExcludePath: Directories or files to be excluded from the run.+  Default value: @()++  ScriptBlock: ScriptBlocks containing tests to be executed.+  Default value: @()++  Container: ContainerInfo objects containing tests to be executed.+  Default value: @()++  TestExtension: Filter used to identify test files.+  Default value: '.Tests.ps1'++  Exit: Exit with non-zero exit code when the test run fails.+When used together with Throw, throwing an exception is preferred.+  Default value: $false++  Throw: Throw an exception when test run fails.+When used together with Exit, throwing an exception is preferred.+  Default value: $false++  PassThru: Return result object to the pipeline after finishing the test run.+  Default value: $false++  SkipRun: Runs the discovery phase but skips run.+Use it with PassThru to get object populated with all tests.+  Default value: $false++Filter:+  Tag: Tags of Describe, Context or It to be run.+  Default value: @()++  ExcludeTag: Tags of Describe, Context or It to be excluded from the run.+  Default value: @()++  Line: Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names.+Example: 'C:\tests\file1.Tests.ps1:37'+  Default value: @()++  FullName: Full name of test with -like wildcards, joined by dot.+Example: '*.describe Get-Item.test1'+  Default value: @()++CodeCoverage:+  Enabled: Enable CodeCoverage.+  Default value: $false++  OutputFormat: Format to use for code coverage report.+Possible values: JaCoCo, CoverageGutters+  Default value: 'JaCoCo'++  OutputPath: Path relative to the current directory where code coverage report is saved.+  Default value: 'coverage.xml'++  OutputEncoding: Encoding of the output file.+  Default value: 'UTF8'++  Path: Directories or files to be used for codecoverage, by default the Path(s) from general settings are used, unless overridden here.+  Default value: @()++  ExcludeTests: Exclude tests from code coverage.+This uses the TestFilter from general configuration.+  Default value: $true++  RecursePaths: Will recurse through directories in the Path option.+  Default value: $true++  CoveragePercentTarget: Target percent of code coverage that you want to achieve, default 75%.+  Default value: 75++  SingleHitBreakpoints: Remove breakpoint when it is hit.+  Default value: $true++TestResult:+  Enabled: Enable TestResult.+  Default value: $false++  OutputFormat: Format to use for test result report.+Possible values: NUnitXml, NUnit2.5 or JUnitXml+  Default value: 'NUnitXml'++  OutputPath: Path relative to the current directory where test result report is saved.+  Default value: 'testResults.xml'++  OutputEncoding: Encoding of the output file.+  Default value: 'UTF8'++  TestSuiteName: Set the name assigned to the root 'test-suite' element.+  Default value: 'Pester'++Should:+  ErrorAction: Controls if Should throws on error.+Use 'Stop' to throw on error, or 'Continue' to fail at the end of the test.+  Default value: 'Stop'++Debug:+  ShowFullErrors: Show full errors including Pester internal stack.+  Default value: $false++  WriteDebugMessages: Write Debug messages to screen.+  Default value: $false++  WriteDebugMessagesFrom: Write Debug messages from a given source, WriteDebugMessages must be set to true for this to work.+You can use like wildcards to get messages from multiple sources, as well as * to get everything.+  Default value: @('Discovery', 'Skip', 'Filter', 'Mock', 'CodeCoverage')++  ShowNavigationMarkers: Write paths after every block and test, for easy navigation in VSCode.+  Default value: $false++  ReturnRawResultObject: Returns unfiltered result object, this is for development only.+Do not rely on this object for additional properties, non-public properties will be renamed without previous notice.+  Default value: $false++Output:+  Verbosity: The verbosity of output, options are None, Normal, Detailed and Diagnostic.+  Default value: 'Normal'++## EXAMPLES
  Default value: 'Normal'
```

Adding codeblock
## EXAMPLES
github-actions[bot]

comment created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

+---+id: New-PesterConfiguration+title: New-PesterConfiguration+description: Help page for the Powershell Pester "New-PesterConfiguration" command+keywords:+  - Powershell+  - Pester+  - Help+  - Documentation+hide_title: false+hide_table_of_contents: false+custom_edit_url: null+---++## SYNOPSIS++Creates a new [PesterConfiguration] object for advanced configuration of Invoke-Pester.++## SYNTAX++```powershell+New-PesterConfiguration [[-Hashtable] <IDictionary>] [<CommonParameters>]+```++## DESCRIPTION++The New-PesterConfiguration function creates a new [PesterConfiguration] object+to enable advanced configurations for runnings tests using Invoke-Pester.++Without parameters, the function generates a configuration-object with default+options.+The returned [PesterConfiguration] object can be modified to suit your+requirements.++Calling New-PesterConfiguration is equivalent to calling [PesterConfiguration]::Default which was used in early versions of Pester 5.++Sections and options:++Run:+  Path: Directories to be searched for tests, paths directly to test files, or combination of both.+  Default value: @('.')++  ExcludePath: Directories or files to be excluded from the run.+  Default value: @()++  ScriptBlock: ScriptBlocks containing tests to be executed.+  Default value: @()++  Container: ContainerInfo objects containing tests to be executed.+  Default value: @()++  TestExtension: Filter used to identify test files.+  Default value: '.Tests.ps1'++  Exit: Exit with non-zero exit code when the test run fails.+When used together with Throw, throwing an exception is preferred.+  Default value: $false++  Throw: Throw an exception when test run fails.+When used together with Exit, throwing an exception is preferred.+  Default value: $false++  PassThru: Return result object to the pipeline after finishing the test run.+  Default value: $false++  SkipRun: Runs the discovery phase but skips run.+Use it with PassThru to get object populated with all tests.+  Default value: $false++Filter:+  Tag: Tags of Describe, Context or It to be run.+  Default value: @()++  ExcludeTag: Tags of Describe, Context or It to be excluded from the run.+  Default value: @()++  Line: Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names.+Example: 'C:\tests\file1.Tests.ps1:37'+  Default value: @()++  FullName: Full name of test with -like wildcards, joined by dot.+Example: '*.describe Get-Item.test1'+  Default value: @()++CodeCoverage:+  Enabled: Enable CodeCoverage.+  Default value: $false++  OutputFormat: Format to use for code coverage report.+Possible values: JaCoCo, CoverageGutters+  Default value: 'JaCoCo'++  OutputPath: Path relative to the current directory where code coverage report is saved.+  Default value: 'coverage.xml'++  OutputEncoding: Encoding of the output file.+  Default value: 'UTF8'++  Path: Directories or files to be used for codecoverage, by default the Path(s) from general settings are used, unless overridden here.+  Default value: @()++  ExcludeTests: Exclude tests from code coverage.+This uses the TestFilter from general configuration.+  Default value: $true++  RecursePaths: Will recurse through directories in the Path option.+  Default value: $true++  CoveragePercentTarget: Target percent of code coverage that you want to achieve, default 75%.+  Default value: 75++  SingleHitBreakpoints: Remove breakpoint when it is hit.+  Default value: $true++TestResult:+  Enabled: Enable TestResult.+  Default value: $false++  OutputFormat: Format to use for test result report.+Possible values: NUnitXml, NUnit2.5 or JUnitXml+  Default value: 'NUnitXml'++  OutputPath: Path relative to the current directory where test result report is saved.+  Default value: 'testResults.xml'++  OutputEncoding: Encoding of the output file.+  Default value: 'UTF8'++  TestSuiteName: Set the name assigned to the root 'test-suite' element.+  Default value: 'Pester'++Should:+  ErrorAction: Controls if Should throws on error.+Use 'Stop' to throw on error, or 'Continue' to fail at the end of the test.+  Default value: 'Stop'++Debug:+  ShowFullErrors: Show full errors including Pester internal stack.+  Default value: $false++  WriteDebugMessages: Write Debug messages to screen.+  Default value: $false++  WriteDebugMessagesFrom: Write Debug messages from a given source, WriteDebugMessages must be set to true for this to work.+You can use like wildcards to get messages from multiple sources, as well as * to get everything.+  Default value: @('Discovery', 'Skip', 'Filter', 'Mock', 'CodeCoverage')++  ShowNavigationMarkers: Write paths after every block and test, for easy navigation in VSCode.+  Default value: $false++  ReturnRawResultObject: Returns unfiltered result object, this is for development only.+Do not rely on this object for additional properties, non-public properties will be renamed without previous notice.+  Default value: $false
  ReturnRawResultObject: Returns unfiltered result object, this is for development only. Do not rely on this object for additional properties, non-public properties will be renamed without previous notice.
  Default value: $false
github-actions[bot]

comment created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

+---+id: New-PesterConfiguration+title: New-PesterConfiguration+description: Help page for the Powershell Pester "New-PesterConfiguration" command+keywords:+  - Powershell+  - Pester+  - Help+  - Documentation+hide_title: false+hide_table_of_contents: false+custom_edit_url: null+---++## SYNOPSIS++Creates a new [PesterConfiguration] object for advanced configuration of Invoke-Pester.++## SYNTAX++```powershell+New-PesterConfiguration [[-Hashtable] <IDictionary>] [<CommonParameters>]+```++## DESCRIPTION++The New-PesterConfiguration function creates a new [PesterConfiguration] object+to enable advanced configurations for runnings tests using Invoke-Pester.++Without parameters, the function generates a configuration-object with default+options.+The returned [PesterConfiguration] object can be modified to suit your+requirements.++Calling New-PesterConfiguration is equivalent to calling [PesterConfiguration]::Default which was used in early versions of Pester 5.++Sections and options:++Run:+  Path: Directories to be searched for tests, paths directly to test files, or combination of both.+  Default value: @('.')++  ExcludePath: Directories or files to be excluded from the run.+  Default value: @()++  ScriptBlock: ScriptBlocks containing tests to be executed.+  Default value: @()++  Container: ContainerInfo objects containing tests to be executed.+  Default value: @()++  TestExtension: Filter used to identify test files.+  Default value: '.Tests.ps1'++  Exit: Exit with non-zero exit code when the test run fails.+When used together with Throw, throwing an exception is preferred.+  Default value: $false++  Throw: Throw an exception when test run fails.+When used together with Exit, throwing an exception is preferred.+  Default value: $false++  PassThru: Return result object to the pipeline after finishing the test run.+  Default value: $false++  SkipRun: Runs the discovery phase but skips run.+Use it with PassThru to get object populated with all tests.+  Default value: $false++Filter:+  Tag: Tags of Describe, Context or It to be run.+  Default value: @()++  ExcludeTag: Tags of Describe, Context or It to be excluded from the run.+  Default value: @()++  Line: Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names.+Example: 'C:\tests\file1.Tests.ps1:37'+  Default value: @()++  FullName: Full name of test with -like wildcards, joined by dot.+Example: '*.describe Get-Item.test1'+  Default value: @()++CodeCoverage:+  Enabled: Enable CodeCoverage.+  Default value: $false++  OutputFormat: Format to use for code coverage report.+Possible values: JaCoCo, CoverageGutters+  Default value: 'JaCoCo'++  OutputPath: Path relative to the current directory where code coverage report is saved.+  Default value: 'coverage.xml'++  OutputEncoding: Encoding of the output file.+  Default value: 'UTF8'++  Path: Directories or files to be used for codecoverage, by default the Path(s) from general settings are used, unless overridden here.+  Default value: @()++  ExcludeTests: Exclude tests from code coverage.+This uses the TestFilter from general configuration.+  Default value: $true++  RecursePaths: Will recurse through directories in the Path option.+  Default value: $true++  CoveragePercentTarget: Target percent of code coverage that you want to achieve, default 75%.+  Default value: 75++  SingleHitBreakpoints: Remove breakpoint when it is hit.+  Default value: $true++TestResult:+  Enabled: Enable TestResult.+  Default value: $false++  OutputFormat: Format to use for test result report.+Possible values: NUnitXml, NUnit2.5 or JUnitXml+  Default value: 'NUnitXml'++  OutputPath: Path relative to the current directory where test result report is saved.+  Default value: 'testResults.xml'++  OutputEncoding: Encoding of the output file.+  Default value: 'UTF8'++  TestSuiteName: Set the name assigned to the root 'test-suite' element.+  Default value: 'Pester'++Should:+  ErrorAction: Controls if Should throws on error.+Use 'Stop' to throw on error, or 'Continue' to fail at the end of the test.+  Default value: 'Stop'++Debug:+  ShowFullErrors: Show full errors including Pester internal stack.+  Default value: $false++  WriteDebugMessages: Write Debug messages to screen.+  Default value: $false++  WriteDebugMessagesFrom: Write Debug messages from a given source, WriteDebugMessages must be set to true for this to work.+You can use like wildcards to get messages from multiple sources, as well as * to get everything.+  Default value: @('Discovery', 'Skip', 'Filter', 'Mock', 'CodeCoverage')
  WriteDebugMessagesFrom: Write Debug messages from a given source, WriteDebugMessages must be set to true for this to work. You can use like wildcards to get messages from multiple sources, as well as * to get everything.
  Default value: @('Discovery', 'Skip', 'Filter', 'Mock', 'CodeCoverage')
github-actions[bot]

comment created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

 the requried ContainerInfo-object that enables us to do this directly.  ### -Path -Specifies one or more paths to files containing tests. The value is a path\file-    name or name pattern. Wildcards are permitted.+Specifies one or more paths to files containing tests.+The value is a path\file+name or name pattern.+Wildcards are permitted.
Specifies one or more paths to files containing tests. The value is a path\file name or name pattern. Wildcards are permitted.
github-actions[bot]

comment created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

+---+id: New-PesterConfiguration+title: New-PesterConfiguration+description: Help page for the Powershell Pester "New-PesterConfiguration" command+keywords:+  - Powershell+  - Pester+  - Help+  - Documentation+hide_title: false+hide_table_of_contents: false+custom_edit_url: null+---++## SYNOPSIS++Creates a new [PesterConfiguration] object for advanced configuration of Invoke-Pester.++## SYNTAX++```powershell+New-PesterConfiguration [[-Hashtable] <IDictionary>] [<CommonParameters>]+```++## DESCRIPTION++The New-PesterConfiguration function creates a new [PesterConfiguration] object+to enable advanced configurations for runnings tests using Invoke-Pester.++Without parameters, the function generates a configuration-object with default+options.+The returned [PesterConfiguration] object can be modified to suit your+requirements.++Calling New-PesterConfiguration is equivalent to calling [PesterConfiguration]::Default which was used in early versions of Pester 5.++Sections and options:++Run:+  Path: Directories to be searched for tests, paths directly to test files, or combination of both.+  Default value: @('.')++  ExcludePath: Directories or files to be excluded from the run.+  Default value: @()++  ScriptBlock: ScriptBlocks containing tests to be executed.+  Default value: @()++  Container: ContainerInfo objects containing tests to be executed.+  Default value: @()++  TestExtension: Filter used to identify test files.+  Default value: '.Tests.ps1'++  Exit: Exit with non-zero exit code when the test run fails.+When used together with Throw, throwing an exception is preferred.+  Default value: $false++  Throw: Throw an exception when test run fails.+When used together with Exit, throwing an exception is preferred.+  Default value: $false++  PassThru: Return result object to the pipeline after finishing the test run.+  Default value: $false++  SkipRun: Runs the discovery phase but skips run.+Use it with PassThru to get object populated with all tests.+  Default value: $false++Filter:+  Tag: Tags of Describe, Context or It to be run.+  Default value: @()++  ExcludeTag: Tags of Describe, Context or It to be excluded from the run.+  Default value: @()++  Line: Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names.+Example: 'C:\tests\file1.Tests.ps1:37'+  Default value: @()++  FullName: Full name of test with -like wildcards, joined by dot.+Example: '*.describe Get-Item.test1'+  Default value: @()++CodeCoverage:+  Enabled: Enable CodeCoverage.+  Default value: $false++  OutputFormat: Format to use for code coverage report.+Possible values: JaCoCo, CoverageGutters+  Default value: 'JaCoCo'++  OutputPath: Path relative to the current directory where code coverage report is saved.+  Default value: 'coverage.xml'++  OutputEncoding: Encoding of the output file.+  Default value: 'UTF8'++  Path: Directories or files to be used for codecoverage, by default the Path(s) from general settings are used, unless overridden here.+  Default value: @()++  ExcludeTests: Exclude tests from code coverage.+This uses the TestFilter from general configuration.+  Default value: $true
  ExcludeTests: Exclude tests from code coverage. This uses the TestFilter from general configuration.
  Default value: $true
github-actions[bot]

comment created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

+---+id: New-PesterConfiguration+title: New-PesterConfiguration+description: Help page for the Powershell Pester "New-PesterConfiguration" command+keywords:+  - Powershell+  - Pester+  - Help+  - Documentation+hide_title: false+hide_table_of_contents: false+custom_edit_url: null+---++## SYNOPSIS++Creates a new [PesterConfiguration] object for advanced configuration of Invoke-Pester.++## SYNTAX++```powershell+New-PesterConfiguration [[-Hashtable] <IDictionary>] [<CommonParameters>]+```++## DESCRIPTION++The New-PesterConfiguration function creates a new [PesterConfiguration] object+to enable advanced configurations for runnings tests using Invoke-Pester.++Without parameters, the function generates a configuration-object with default+options.+The returned [PesterConfiguration] object can be modified to suit your+requirements.++Calling New-PesterConfiguration is equivalent to calling [PesterConfiguration]::Default which was used in early versions of Pester 5.++Sections and options:++Run:+  Path: Directories to be searched for tests, paths directly to test files, or combination of both.+  Default value: @('.')++  ExcludePath: Directories or files to be excluded from the run.+  Default value: @()++  ScriptBlock: ScriptBlocks containing tests to be executed.+  Default value: @()++  Container: ContainerInfo objects containing tests to be executed.+  Default value: @()++  TestExtension: Filter used to identify test files.+  Default value: '.Tests.ps1'++  Exit: Exit with non-zero exit code when the test run fails.+When used together with Throw, throwing an exception is preferred.+  Default value: $false++  Throw: Throw an exception when test run fails.+When used together with Exit, throwing an exception is preferred.+  Default value: $false++  PassThru: Return result object to the pipeline after finishing the test run.+  Default value: $false++  SkipRun: Runs the discovery phase but skips run.+Use it with PassThru to get object populated with all tests.+  Default value: $false++Filter:+  Tag: Tags of Describe, Context or It to be run.+  Default value: @()++  ExcludeTag: Tags of Describe, Context or It to be excluded from the run.+  Default value: @()++  Line: Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names.+Example: 'C:\tests\file1.Tests.ps1:37'+  Default value: @()++  FullName: Full name of test with -like wildcards, joined by dot.+Example: '*.describe Get-Item.test1'+  Default value: @()++CodeCoverage:+  Enabled: Enable CodeCoverage.+  Default value: $false++  OutputFormat: Format to use for code coverage report.+Possible values: JaCoCo, CoverageGutters+  Default value: 'JaCoCo'++  OutputPath: Path relative to the current directory where code coverage report is saved.+  Default value: 'coverage.xml'++  OutputEncoding: Encoding of the output file.+  Default value: 'UTF8'++  Path: Directories or files to be used for codecoverage, by default the Path(s) from general settings are used, unless overridden here.+  Default value: @()++  ExcludeTests: Exclude tests from code coverage.+This uses the TestFilter from general configuration.+  Default value: $true++  RecursePaths: Will recurse through directories in the Path option.+  Default value: $true++  CoveragePercentTarget: Target percent of code coverage that you want to achieve, default 75%.+  Default value: 75++  SingleHitBreakpoints: Remove breakpoint when it is hit.+  Default value: $true++TestResult:+  Enabled: Enable TestResult.+  Default value: $false++  OutputFormat: Format to use for test result report.+Possible values: NUnitXml, NUnit2.5 or JUnitXml+  Default value: 'NUnitXml'
  OutputFormat: Format to use for test result report. Possible values: NUnitXml, NUnit2.5 or JUnitXml
  Default value: 'NUnitXml'
github-actions[bot]

comment created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

+---+id: New-PesterConfiguration+title: New-PesterConfiguration+description: Help page for the Powershell Pester "New-PesterConfiguration" command+keywords:+  - Powershell+  - Pester+  - Help+  - Documentation+hide_title: false+hide_table_of_contents: false+custom_edit_url: null+---++## SYNOPSIS++Creates a new [PesterConfiguration] object for advanced configuration of Invoke-Pester.++## SYNTAX++```powershell+New-PesterConfiguration [[-Hashtable] <IDictionary>] [<CommonParameters>]+```++## DESCRIPTION++The New-PesterConfiguration function creates a new [PesterConfiguration] object+to enable advanced configurations for runnings tests using Invoke-Pester.++Without parameters, the function generates a configuration-object with default+options.+The returned [PesterConfiguration] object can be modified to suit your+requirements.++Calling New-PesterConfiguration is equivalent to calling [PesterConfiguration]::Default which was used in early versions of Pester 5.++Sections and options:++Run:+  Path: Directories to be searched for tests, paths directly to test files, or combination of both.+  Default value: @('.')++  ExcludePath: Directories or files to be excluded from the run.+  Default value: @()++  ScriptBlock: ScriptBlocks containing tests to be executed.+  Default value: @()++  Container: ContainerInfo objects containing tests to be executed.+  Default value: @()++  TestExtension: Filter used to identify test files.+  Default value: '.Tests.ps1'++  Exit: Exit with non-zero exit code when the test run fails.+When used together with Throw, throwing an exception is preferred.+  Default value: $false++  Throw: Throw an exception when test run fails.+When used together with Exit, throwing an exception is preferred.+  Default value: $false++  PassThru: Return result object to the pipeline after finishing the test run.+  Default value: $false++  SkipRun: Runs the discovery phase but skips run.+Use it with PassThru to get object populated with all tests.+  Default value: $false++Filter:+  Tag: Tags of Describe, Context or It to be run.+  Default value: @()++  ExcludeTag: Tags of Describe, Context or It to be excluded from the run.+  Default value: @()++  Line: Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names.+Example: 'C:\tests\file1.Tests.ps1:37'+  Default value: @()++  FullName: Full name of test with -like wildcards, joined by dot.+Example: '*.describe Get-Item.test1'+  Default value: @()++CodeCoverage:+  Enabled: Enable CodeCoverage.+  Default value: $false++  OutputFormat: Format to use for code coverage report.+Possible values: JaCoCo, CoverageGutters+  Default value: 'JaCoCo'
  OutputFormat: Format to use for code coverage report. Possible values: JaCoCo, CoverageGutters
  Default value: 'JaCoCo'
github-actions[bot]

comment created time in a day

Pull request review commentpester/docs

Automatic update for Pester 5.2.1

+---+id: New-PesterConfiguration+title: New-PesterConfiguration+description: Help page for the Powershell Pester "New-PesterConfiguration" command+keywords:+  - Powershell+  - Pester+  - Help+  - Documentation+hide_title: false+hide_table_of_contents: false+custom_edit_url: null+---++## SYNOPSIS++Creates a new [PesterConfiguration] object for advanced configuration of Invoke-Pester.++## SYNTAX++```powershell+New-PesterConfiguration [[-Hashtable] <IDictionary>] [<CommonParameters>]+```++## DESCRIPTION++The New-PesterConfiguration function creates a new [PesterConfiguration] object+to enable advanced configurations for runnings tests using Invoke-Pester.++Without parameters, the function generates a configuration-object with default+options.+The returned [PesterConfiguration] object can be modified to suit your+requirements.++Calling New-PesterConfiguration is equivalent to calling [PesterConfiguration]::Default which was used in early versions of Pester 5.++Sections and options:++Run:+  Path: Directories to be searched for tests, paths directly to test files, or combination of both.+  Default value: @('.')++  ExcludePath: Directories or files to be excluded from the run.+  Default value: @()++  ScriptBlock: ScriptBlocks containing tests to be executed.+  Default value: @()++  Container: ContainerInfo objects containing tests to be executed.+  Default value: @()++  TestExtension: Filter used to identify test files.+  Default value: '.Tests.ps1'++  Exit: Exit with non-zero exit code when the test run fails.+When used together with Throw, throwing an exception is preferred.+  Default value: $false++  Throw: Throw an exception when test run fails.+When used together with Exit, throwing an exception is preferred.+  Default value: $false++  PassThru: Return result object to the pipeline after finishing the test run.+  Default value: $false++  SkipRun: Runs the discovery phase but skips run.+Use it with PassThru to get object populated with all tests.+  Default value: $false++Filter:+  Tag: Tags of Describe, Context or It to be run.+  Default value: @()++  ExcludeTag: Tags of Describe, Context or It to be excluded from the run.+  Default value: @()++  Line: Filter by file and scriptblock start line, useful to run parsed tests programatically to avoid problems with expanded names.+Example: 'C:\tests\file1.Tests.ps1:37'+  Default value: @()++  FullName: Full name of test with -like wildcards, joined by dot.+Example: '*.describe Get-Item.test1'+  Default value: @()
  FullName: Full name of test with -like wildcards, joined by dot. Example: '*.describe Get-Item.test1'
  Default value: @()
github-actions[bot]

comment created time in a day