Commit Graph
100 Commits
Author SHA1 Message Date
Steve Lee ff59be3c61 fix detection of whether -LiteralPath was used to suppress wildcardexpansion for navigation cmdlets (#5038)
* [feature]
fix detection of whether `-LiteralPath` was used to suppress wildcardexpansion

* [feature]
skip -literalpath test with asterisk in filename as that's not valid on Windows

* [feature]
added more variations of tests
2017-10-09 09:33:22 -07:00
Steve Lee 50607b9751 Enable support of folders and files with colon in name on Unix (#4959)
* [feature]
support folders and files with colon in name

* [feature]
only check separator in relation to colon if a colon is found

* [feature]
added comment to clarify algorithm

* added more tests
2017-10-06 11:27:15 -07:00
Steve Lee c83cf72dbf change logo in readme to current black logo (#5030) 2017-10-06 08:00:23 -07:00
Steve Lee b7f3dfee81 Treat .rtf files as binary so EOL don't get changed (#5020) 2017-10-05 15:49:31 -07:00
Steve Lee ba7dfcc0d0 Fix powershell to update the PATH environment variable only if PATH exists (#5021) 2017-10-05 14:23:52 -07:00
Steve Lee 5eee6a8f38 Increase timing on test service side to avoid a race condition in the webcmdlet timeout test (#5005)
increase timing on test service side to avoid a race condition for the test
2017-10-05 09:46:33 -07:00
Steve Lee ffec170b22 Update Pi demo instructions if libunwind8 is not installed (#4974)
* added instructions to install libunwind8

* added missing period
2017-10-04 12:51:06 -07:00
Steve Lee 7f94412170 removed leading whitespace (#4991)
Add an optional extended description…
2017-10-04 08:14:26 +04:00
Steve Lee 464d6879b7 added demo for using Windows PowerShell modules (#4886)
* added demo for using Windows PowerShell modules

* fix spelling

* address PR feedback

* address PR feedback

* added WindowsPSModulePath to dictionary
2017-10-03 10:47:05 -07:00
Steve Lee ee902a649e New icon for PowerShell Core (#4848)
* added new icon

* added new icon

* update icon to new version of console image with avatar colors

* added svg for blue Windows PowerShell icon

* changed default to the black icon

* added custom bitmaps to the installer

* fixed `launch powershell` checkbox so it shows up more nicely as the default checkbox
has a grey background

also reformatted the xml using a xml formatter to make it easier to read

* address PR feedback
2017-10-03 10:35:32 -07:00
Steve Lee 74df9c2d46 added instructions to get permission to use assets (#4938) 2017-10-02 13:44:41 -07:00
Steve Lee d73e97464c Fix incorrect position of a parameter which resulted in the args passed as input instead of as args (#4963) 2017-10-02 12:15:42 -07:00
Steve Lee 2e901e53c3 fix powershell -version and help (#4958)
PowerShell -v  behavior updated to align with other tools like git, curl, and bash where args after  -v  are silently ignored.

Built-in help updated to reflect changes we've made to the console host in PSCore6 removing unsupported parameters.

* [feature]
removed test that is no longer valid due to change in -version behavior to return error

* [feature]
fixed `-v X` so that it errors out correctly with proper exit code
updated test to catch this

* [feature]
address PR feedback

* [feature]
make -v have behavior consistent with other tools like git, curl, bash where args after -v are ignored
removed duplicate but not exactly help text that wasn't being used in the resource file
removed parameters from help that are not support in PSCore6
2017-10-01 07:39:18 +04:00
Steve Lee a82f6376ab Change CRLF to LF for files that are already in repository (#4956) 2017-09-29 17:43:57 -07:00
Steve Lee 2639cd89ce Autocorrected CRLF to LF (#4943)
Also, fix `Parser.Tests.ps1` after correcting CRLF.
2017-09-29 16:28:15 -07:00
Steve Lee 8fdd68fbaa [feature] (#4954)
remove unnecessary error messages from output
2017-09-29 14:35:13 -07:00
Steve Lee 99e3fe586e Enable transcription of native commands on non-Windows (#4871)
Transcription was relying on reading the screen buffer to record output from native commands.
This resulted in an unhandled exception calling an unimplemented API on non-Windows.
The fix is to use redirected output/error if reading the screen buffer is not supported.
We check whether screen scraping is supported or not only when the application is running standalone.
2017-09-28 17:15:37 -07:00
Steve Lee ffa0701200 remove unsupported -showwindow switch (#4903) 2017-09-27 17:51:56 -07:00
Steve Lee efbdea5cfe Fix importing remote module using version filters and added tests (#4900)
- Add tests for remote import-module
- Fix issue with remotely importing module where it was checking the version filter incorrectly against the proxy module
   - The filters are applied when importing the module remotely
   - After proxy module is generated it always has a module version of 1.0, so the filters will always fail when importing the proxy locally
2017-09-25 21:37:56 -07:00
Steve Lee 901a61bcc1 Enable auto EOL on git repo side, fix some character encoding issues (#4912)
- add ending newline to files missing it using:
`awk -F: '$2 ~ / no line terminators/ {print $1}' ~/text-files.txt | xargs -I{} sh -c 'printf "\n" >> "$1"' - {}`
- update .gitattributes to enforce autocrlf on all text files
- added <copyright> opening element where it was missing
removed file attribute pointing to wrong filename
- fix mis-encoded character to apostrophe
- replace incorrect encoding of copyright symbol with (c)
- updated file hashes in the test
2017-09-25 15:14:39 -07:00
Steve Lee 65415c3b9e allow * to be used in registry path for remove-item (#4866)
* [feature]
allow * to be used in registry path for remove-item

* [feature]
address PR feedback
have remove-item return error if -literalpath doesn't resolve to path

* [feature]
fix in navigation exposed an issue with WSMan Config Provider tests
that require -Recurse to be used otherwise a confirmation prompt shows
up
2017-09-25 10:15:38 -07:00
Steve Lee 1c921cdf85 instructions to demo PowerShell Core on Raspbian (#4882) 2017-09-23 16:38:27 -07:00
Steve Lee 25a32284dd fix tests not setting back $psdefaultparametervalues back correctly (#4892) 2017-09-23 13:48:51 -07:00
Steve Lee 646b6a6c41 Add setup steps for MacOS to use PSRP over SSH (#4872) 2017-09-20 15:09:13 -07:00
Steve Lee 9791116979 reduce output of pester for CI (#4855) 2017-09-19 14:56:32 -07:00
Steve Lee 66552a430f Add CDXML CIM DateTime test (#4796) 2017-09-18 17:10:58 -07:00
Steve Lee 23420643e3 Added WSMan Config provider tests (#4756)
* [Feature]
fixed issues in WSMan Config Provider
added tests for get-item, get-childitem, set-item, new-item remove-item, clear-item, dynamic parameters
merged CoreClr and FullClr code

* [feature]
address PR feedback

* [feature]
revert to using microsoft.powershell plugin as base for test
keeps it simple rather than relying on additional scripts or cmdlets since these tests don't require remoting

* [feature]
address Aditya's feedback

* [feature]
address some cosmetic feedback

* [feature]
based on discussion with Jim, we should skip resx checks on non-Windows
2017-09-18 15:44:09 -07:00
Steve Lee b723d6b7f2 fix set-service failing test (#4802)
* Add '-ErrorAction Stop' in Set-Service.Tests.ps1 to correctly test exceptions.
* Refactor StartupType service code and add a throw for disabled startup types (System, Boot).
* Made StartupType(-1) equivalent to Win32 SERVICE_NO_CHANGE.
2017-09-15 12:24:40 +04:00
Steve Lee 5fedd9c54f added tests for start/stop/suspend/resume/restart service cmdlets (#4774) 2017-09-13 10:24:04 -07:00
Steve Lee 4ad313aafb Add tests for Get-Module over remoting (#4787)
Some additional tests that are remoting specific based on code coverage
2017-09-12 17:12:52 -07:00
Steve Lee 1e4cbe15ff Added tests for get-service based on code coverage analysis (#4773)
* reformated test cases

* added whitespace to format the test cases
2017-09-12 08:48:37 +04:00
Steve Lee 6b684bb7dd The PSSessionConfiguration tests were putting many repeated warning messages into the log, changed warnings to be silent (#4794) 2017-09-11 17:45:21 -07:00
Steve Lee 3815a95242 validate the expected output package exists (#4795) 2017-09-11 12:36:24 -07:00
Steve Lee 625717493b added tests for test-wsman (#4771) 2017-09-11 12:31:08 -07:00
Steve Lee 6f1c7a05c6 Enable cross compiling for raspberry-pi arm32 (#4742) 2017-09-11 12:16:58 -07:00
Steve Lee 2761c3ff21 Increase Set-Service and New-Service test coverage (#4785)
* reformatted file to be consistent

* manual fix formatting
2017-09-09 20:19:16 +04:00
Steve Lee 7c9b188c13 Rename $IsOSX to $IsMacOS (#4757) 2017-09-07 10:34:40 -07:00
Steve Lee fb286e6cf8 Removed double spaces from .cs and .ps1 files (#4743) 2017-09-04 19:45:51 -07:00
Steve Lee efa320cdf8 Update docs about the pull-request-process (#4710)
Update pull-request-process to clarify role/responsibility of author and reviewers based on recent feedback from team and community. Also moved it to `.github/CONTRIBUTING.md` so that all related information can be found at one place.
2017-09-04 10:29:20 -07:00
Steve Lee 2f34009328 added new approved Build and Deploy verbs (#4725)
- Added Build and Deploy verbs, updated suggestions
- Reorganized verbs to be in alphabetical order making it easier to compare against https://msdn.microsoft.com/en-us/library/ms714428(VS.85).aspx
2017-09-01 17:41:07 -07:00
Steve Lee dc399a121b clean up coreclr/fullclr statements in tracesource (#4684) 2017-08-29 09:09:24 -07:00
Steve Lee deb8c4485d Remove alternate file stream code from non-Windows (#4567)
* AlternateStreams support relies on pinvoke to win32 APIs which don't work on non-Windows and produces errors about not loading a DLL in the case of copy-item
* Address PR feedback, remove -Stream parameter for Unix added new -stream tests
* if/def out alternate stream syntax checks not applicable to Unix
2017-08-28 15:39:42 -07:00
Steve Lee 1e0acfac5e removed appending WindowsPowerShell PSModulePath (#4656) 2017-08-25 11:05:23 -07:00
Steve Lee 23f91c0236 Update WritingPesterTests.md to reflect recommended use of ShouldBeErrorId
* added spelling word

* added sample to inspect details of the errorrecord
2017-08-25 07:24:49 +04:00
Steve Lee [MSFT] 26f7db720c Enable -WindowStyle to work 2017-08-16 15:04:34 -07:00
Steve Lee [MSFT] 4c22b10a38 Update powershell console exit codes to match Unix standards 2017-08-16 15:04:03 -07:00
Steve Lee [MSFT] d9c63b7218 Make invalid arg to -File consistent with -Command
Improve error message if ambiguous arg is passed to -File
2017-08-16 15:02:43 -07:00
Steve Lee feed7004c7 added tests for primitive types, dictionary type, and enumerable type for convertto-xml (#4503)
* added tests for primitive types, dictionary type, and enumerable type

* address PR feedback
2017-08-16 12:13:07 -07:00
Steve Lee 7b8c6e7f54 fix intermittent failures in filesystem tests (#4566) 2017-08-14 08:53:04 -07:00
Steve Lee eea3885242 Enable WSManCredSSP cmdlets (#4336)
* [Feature]
Fixed error message using a null resourcemanager
With most recent CoreFx supporting STA, removed special CoreClr code paths
Added test coverage
Removed some dead commented out code that was never used

* [Feature]
merged tests to one file, use runas to have relevant tests run as non-elevated

* [Feature]
Get-CredSSP returns text so only run that test if current culture is en-US

* [Feature] Update test to fix code exclusion

* [Feature] Fix Skipping on test cases that already had a Skip value
2017-08-10 13:31:54 -07:00
Steve Lee d17aaad4a0 Ensure running powershell within PowerShell starts instance of currently running PowerShell (#4481)
Modify PATH env var at startup so that $PSHOME is in front
2017-08-04 09:23:15 -07:00
Steve Lee e64e68bcdc Allow passing $true/$false as parameter to script using -File (#4178)
Using powershell.exe to execute a PowerShell script using -File currently provides no way to pass $true/$false as parameter values. Current behavior is that -File accumulates passed parameters as strings only.

Fix is to special case this based on discussion with PS-Committee to support $true/$false as parsed values to parameters. Switch values is also supported as currently documented syntax doesn't work.
2017-08-01 14:41:31 -07:00
Steve Lee e38f0e7149 Make ShellExecuteEx use STA (#4362) 2017-08-01 11:27:40 -07:00
Steve Lee [MSFT] ec65a466e2 set deviceguard test to pending as it keeps failing in CI 2017-07-31 17:11:45 -07:00
Steve Lee cf9f8c8574 Give error instead of crashing if WSMan client lib not available (#4387) 2017-07-31 16:26:24 -07:00
Steve Lee ab764eeac1 Length script property for List View didn't include a name for the property so it defaulted to using the script as the property name (#4437) 2017-07-31 12:56:41 -07:00
Steve Lee 7667f05da7 Fix Invoke-Item test on macOS (#4435)
add defensive measures to have TextEdit start explicitly bypassing restoring previously open docs and to explicitly close TextEdit after the test.
2017-07-31 12:41:32 -07:00
Steve Lee 21f7f36756 Make invoke-item test Feature and increase timeout (#4382) 2017-07-28 17:47:56 -07:00
SteveL-MSFT 48625af83e added check to device guard not returning array 2017-07-28 11:28:02 -07:00
SteveL-MSFT d78e9ba19b [Feature]
In CI, notepad.exe isn't starting (or starting in time) when using start-process with .txt based on file association.
Since the test is validating opening files by association, fix is to create our own association that is predictable.
2017-07-28 10:58:12 -07:00
Steve Lee 03d4e9120b Support Invoke-Item -Path <folder> (#4262)
On CoreFx, UseShellExecute for Process start is false by default to be cross platform compatible.
In the case of a folder, Process.Start() returns Access Denied as it's not an executable.
On Windows, we can use the ShellExecute path to have explorer open the folder. On Unix, we use `xdg-open` and `open` for Linux and macOS respectively.
2017-07-27 22:17:38 -07:00
SteveL-MSFT 700a1c41ff [Feature]
fix Get-ComputerInfo return of status for DeviceGuard
fix corresponding tests
2017-07-26 15:08:24 -07:00
Steve Lee cf7b9f3de1 Fix Implicit Remoting test failure on nightly run (#4323)
Retry setting winrm config if it fails with MaxConcurrentUsers > 100
2017-07-26 10:08:52 -07:00
Steve Lee 0cd7a4a0c9 Fix error message when 'HelpMessage' property of 'ParameterAttribute' is set to empty string (#4334)
- Fix invalid value error message on some properties of ParameterAttribute to point to the specific properties.
- Avoid wrapping argument exception into not a useful 'requires' exception.
2017-07-26 09:20:43 -07:00
Steve Lee c145866821 Update doc about the process to become a Maintainer (#4311) 2017-07-21 21:10:15 -07:00
Steve Lee e23d2e53d5 Add Test coverage for XmlCommand.cs (#4201) 2017-07-21 13:50:14 -07:00
Steve Lee 76413addac Run CI and Feature tests by default with Start-PSPester (#4273) 2017-07-18 14:20:14 -07:00
Steve Lee b70460fb93 updated webcmdlets CI tests to not depend on external website (#4279)
* updated webcmdlets CI tests to not depend on external website

* When used in background runspace, validate listener is working before returning

* fix possible infinite loop waiting for listener to start
2017-07-18 12:33:40 -07:00
Steve Lee 44e377525b Register-PSSessionConfiguration fails if SesionConfig folder doesn't exist (#4271) 2017-07-18 10:07:05 -07:00
Steve Lee 06274095ea Enable upgrades rather than side-by-side install (#4259) 2017-07-17 11:12:36 -07:00
Steve Lee db813b6bae add test coverage for -notcontains, -is, -isnot operators (#4179)
* added test coverage for -notcontains, -is, -isnot operators

* cleaned up tests to use -TestCases, added missing -cnotcontains test
2017-07-11 12:27:04 -07:00
Steve Lee bb0cd656e4 Added section explaining Windows PowerShell vs PowerShell Core (#4186) 2017-07-08 15:20:09 -07:00
Steve Lee 7bce1653f3 Add Windows PowerShell PSModulePath by default on Windows (#4132)
This change is only for Windows and appends the Windows PowerShell PSModulePath on startup via a default profile. Depending on the data/feedback we get, we can decide what to do (opt-in vs opt-out) as we get closer to a release candidate.
2017-07-07 09:43:37 -07:00
Steve Lee 8f8580a408 Fix usage of -TestCases so that the parameters show up in the test case description (#4188) 2017-07-07 09:25:46 -07:00
Steve Lee 36eaab2809 Static analysis: Fix usage of XmlReader to ensure XmlResolver is null (#4108)
* the default XmlResolver will attempt to resolve external resources, recommendation is to explicitly set to null which
will raise exception if malicious xml attempts to cause xmlreader to access external resources

* added DTDProcessing and related to XmlReaderSettings
2017-07-06 09:09:57 -07:00
Steve Lee dda482eaac Add markdown lint errors as test failure message (#4189) 2017-07-05 21:47:42 -07:00
Steve Lee 40c479d071 Address static analysis issues in SSH remoting (#4083)
* address static analysis issues
- remoteRunspaces is not used TFS:10618323
- not checking return value of ResumeThread() TFS:10618344

* fixed magic number use

* changed magic number to Uint.MaxValue
2017-06-28 16:27:54 -07:00
Steve Lee 3fbaf41c1a add CODE_OF_CONDUCT.md (#4109)
* add CODE_OF_CONDUCT.md

* updated spelling for CODE_OF_CONDUCT.md

* Fixed markdown lint error

* added link to CODE_OF_CONDUCT.md as expected by GitHub
2017-06-28 10:34:09 -07:00
Steve Lee 042a6f2534 Need explicit -command to execute command in Read-Host output test (#4103) 2017-06-28 10:13:37 -07:00
Steve Lee 18cddc99eb with change of positional parameter to powershell.exe from -command to -file, need to update some feature tests (#4058) 2017-06-21 18:47:56 -07:00
Steve Lee 3543498ee3 Adding a slightly bigger window to 'Start-Sleep' test. (#4049) 2017-06-20 09:49:49 -07:00
Steve Lee a66cd0b620 Remove ClrVersion property from $PSVersionTable (#4027)
* ClrVersion property of $PSVersionTable is not useful with CoreCLR and end users should not be using it
that value to determine compatibility.  Recommendation from dotnet team is to remove that property.

* Removed internal members used for CLRVersion

* removed CLRVersion from FullCLR build as well

* added additional information to run `start-psbootstrap -buildnative` if cmake is not found
2017-06-19 15:10:36 -07:00
Steve Lee 41f65de57c Change positional parameter for powershell.exe from -Command to -File (#4019)
Previously powershell.exe treated unknown arguments as a command line to execute. To align with POSIX so that things like shebang scripts work correctly, we are changing powershell.exe so that it treats unknown arguments (aka positional argument) as a file. This means that `powershell foo` will now attempt to use `foo` as a PowerShell script whereas previously `foo` would be treated as a command to execute. This doesn't affect existing usage of either -File nor -Command. Fixed tests that didn't explicitly use -Command parameter.
2017-06-19 12:17:56 -07:00
Steve Lee ea0082ab8d Consolidated the two test exes into one (#3982)
Combined the previous echoargs and createchildprocess test exes into a single TestExe that can be extended for other tests.
2017-06-13 17:49:56 -07:00
Steve Lee bebf487d10 fixed link to download C++ Redist (#3983) 2017-06-12 14:33:35 -07:00
Steve Lee af0600ded2 Fix non-fatal (red) errors in test output (#3968) 2017-06-09 16:29:59 -07:00
Steve Lee 9eed401427 Add code cleanup and documentation labels to issue-management.md (#3908)
* Update issue-management.md to add `code cleanup` and `documentation needed` labels

* changed label to `Documentation Needed` based on feedback
2017-06-06 08:56:26 -07:00
Steve Lee 22a3a896ee Silently ignore failure on GetConsoleFontInfoEx() api call (#3937)
The api is available on ServerCore but fails (returns false) running in container.
Silently ignoring the failure allows PSReadline to work.
2017-06-05 13:17:26 -07:00
Steve Lee 00a11d9201 On Mac, when the httplistener is stopped, it takes time for the system to clean it up. It also appears that on Mac, http reservation (#3872)
Use different HttpListener for Invoke-WebRequest and Invoke-RestMethod tests
2017-05-31 15:56:32 -07:00
Steve Lee ee45650660 Enable PSReadline to work on NanoServer (#3815)
NanoServer is missing some console APIs that PSReadline uses which causes PSReadline to not be usable on NanoServer docker images.

For the missing font/display APIs, the fix is to assume all characters use 1 cell which is not always correct for some languages.

For the missing keymap APIs - there is no workaround in this change and a small number of key bindings don't work, there is an open issue to track those.

Fixes #3463
2017-05-31 10:26:41 -07:00
Steve Lee bf59075a0c Fix daily test failure in set-content test (#3884) 2017-05-30 14:20:18 -07:00
Steve Lee 40446c80a7 Support Link Header pagination in WebCmdlets (#3828)
* Support Link Header pagination in WebCmdlets to make it easier for the end user implementing:
https://github.com/PowerShell/PowerShell-RFC/blob/master/2-Draft-Accepted/RFC0021-Link-header-based-pagination-for-WebCmdlets.md

When the response includes a Link Header (https://tools.ietf.org/html/rfc5988#page-6), for Invoke-WebRequest we
create a RelationLink property that is a Dictionary representing the URLs and rel attributes and ensure the
URLs are absolute to make it easier for the developer to use.  For Invoke-RestMethod, we expose a -FollowRelLink
switch to automatically follow 'next' rel links to the end until we hit the optional -MaxRelLink parameter value.

* removed unnecessary refs to namespaces

* addressed code review feedback
2017-05-24 15:54:02 -07:00
Steve Lee f0b03bc57d Test HttpListener so that PowerShell Core tests don't have to rely on an internet web service (#3778) 2017-05-18 15:02:19 -07:00
Steve Lee 96506f4cc1 Cross-gen the top assemblies with JIT times > 5ms (#3787)
Startup went from 1998 ms to 1067 ms.
Size went from 103 MB to 133 MB.
2017-05-15 23:34:32 -07:00
Steve Lee 6775031656 Update README.md (#3757)
Need to update the privacy statement link to the broader one
2017-05-11 10:32:10 -07:00
Steve Lee 63429445f9 Relax SemanticVersion constructors to not require minor and patch (#3696)
`$psversiontable.psversion -gt "3.0"` which is used by PowerShellGet to determine if a module is compatible with the current version of PowerShell.

Change is to allow specifying only major or major+minor where the missing segments default to zero by providing overloaded constructors and allow
the string parsing method to not require major, minor, and patch segments to all be specified (only major is required).

Based on the [response](https://github.com/mojombo/semver/issues/368) from the maintainer of semver, there is no requirement to have strict
conformance for the inputs to the constructor and allowing "3.0" to result in a semver of 3.0.0 is reasonable.
2017-05-08 10:44:40 -07:00
Steve Lee 0187d9e110 Add statement to README.md covering the current telemetry implementation (#3673)
Add statement regarding the current telemetry implementation to address concerns from Privacy Review
2017-05-02 18:27:42 -07:00
Steve Lee ee9049b61f New-ModuleManifest was incorrectly checking if a Uri was well formed by using ToString() which just outputs the original (#3631)
string.  If the string was a uri with spaces, ToString() doesn't return the escaped version.  The AbsoluteUri property
should be used instead which returns an escaped absolute uri (if valid).

Also renamed TestModuleManfest.ps1 to TestModuleManifest.Tests.ps1 so that it gets picked up correctly as Pester test.

Since HelpInfoUri is just a string, ensure it is a valid absolute uri and escaped correctly whereas before it was just
an opaque string that wasn't validated.
2017-04-25 17:45:24 -07:00
Steve Lee 2851f7e800 Accept -i for an interactive shell (#3558)
On Unix, it is a convention for shells to accept `-i` for an interactive shell and many
tools expect this behavior (`script` for example, and when setting powershell as the
default shell) and calls the shell with the `-i` switch.  This change is breaking in
that `-i` previously could be used as short hand to match `-inputformat` which now will
need to be `-in`.
2017-04-13 18:35:26 -07:00
Steve Lee 753b1965a0 Fix crash at startup when env:HOME not set (#3437)
There are cases like using PowerShell via Puppet where the account being
used does not have a home directory.  Updated PowerShell to use a process
specific temporary directory if HOME, CONFIG, CACHE, and DATA directories
are not available.  Temporary directory is removed when last runspace
is disposed.
2017-04-09 09:23:06 -07:00