1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-12-21 03:10:06 +01:00
Commit Graph

128 Commits

Author SHA1 Message Date
4b41704fdf ♻️ Improve debouncing mechanism 2025-11-29 14:38:28 +01:00
fc01755dfa ♻️ Rework FSNotifier and test it 2025-11-29 12:58:21 +01:00
3e1bd26b38 Document confirmed fix w/ Thread Sanitizer 2025-11-29 11:30:40 +01:00
a4cbbd28cc 🐛 Fix issue with RealShell.attach output being omitted 2025-11-29 10:53:12 +01:00
ccc6aaf06d 🐛 Fix issue with concurrent output in RealShell.attach 2025-11-29 10:25:07 +01:00
89a83bcb4e 🔧 Add TODO, bump build 2025-11-27 14:13:50 +01:00
e437b1c5c7 Update TestableConfiguration for UI Tests
- Added missing apps (to be refactored)
- Added output for `brew info shivammathur/php/php --json`
2025-11-27 14:13:20 +01:00
a61eea34fa ♻️ Update copyright messages 2025-11-23 17:37:46 +01:00
93e203be50 🐛 Use NSLock with PhpEnvironments 2025-11-23 17:31:59 +01:00
50dff89405 🔧 Bump build, use concurrency everywhere 2025-11-20 15:03:32 +01:00
24d2aa115e Fix UI tests w/ new WebApi interactions 2025-11-19 09:54:17 +01:00
d6fa3fc364 ♻️ Reworked how getting a CaskFile via URL works 2025-11-18 15:39:43 +01:00
ec9102618c RealShellTest runs .serialized tests (for timing) 2025-11-18 14:03:23 +01:00
ea6d7ca457 Add testable WebApi 2025-11-18 14:02:16 +01:00
7a60435421 ♻️ Improvements to Container
- RealShell is not reloaded during runtime (bugfix?)
- Container variables are now private(set)
- Initialization now also sets `webApi` property (new)
- It is only possible to run `bind` on a `Container` once now
  (previously known as `prepare`)
- Preparation for upcoming WebApi to replace `curl` command
  (for checking for updates)
2025-11-18 12:04:37 +01:00
38b3c108bf ♻️ Use replacing(with:) instead of .replacingOccurrences(of:with:)
The newer Swift native method is broadly supported and can properly
handle complex UTF-8 characters like emoji, whereas the old API does
not work correctly with emoji.

In most cases, this likely wouldn't have caused any issues but it does
make things a little cleaner now, and ensures we won't encounter emoji
trouble in the future.
2025-11-11 12:55:23 +01:00
c43f16d0d5 Fix unit tests 2025-10-16 19:00:02 +02:00
515f7d59a4 🔧 Enable only Unit Tests (for now) 2025-10-16 18:58:56 +02:00
fa403b5a99 ♻️ Refactor tests to Swift Testing 2025-10-16 15:57:41 +02:00
a314eef3f7 Unit tests can now run in parallel 2025-10-16 14:54:50 +02:00
a0e2907fae All tests pass again 2025-10-16 14:43:29 +02:00
546f01d55d ♻️ Update preferences 2025-10-16 14:13:47 +02:00
91d7a4bf44 ♻️ Cleanup phase 1 2025-10-16 14:04:53 +02:00
5b63211746 ♻️ All unit tests pass w/ DI container 2025-10-16 14:03:16 +02:00
79a23a2af2 ♻️ The app can build again (again)! 2025-10-16 11:48:16 +02:00
8af304979b 🚧 WIP: Test refactoring 2025-10-09 16:21:46 +02:00
85b12d1aec ♻️ Prevent unit tests from running concurrently
The way the testing classes are built with the singletons currently
prevents various test structs from being run at the same time.

I've adjusted the tests in the PHP Monitor EAP test configuration so
that they are not executed concurrently. This does slow down the test
suite but prevents odd crashes from individual tests interfering with
other tests.

It's not an ideal solution and I would like to address this in the
future, but I suspect this will be rather cumbersome. Since the app
does not actually suffer from this particular issue, this is something
worth investigating later.
2025-09-30 16:14:17 +02:00
db8df8575d ♻️ Migrate more tests to Swift Testing (3/?) 2025-09-29 17:59:33 +02:00
ceff52ed11 ♻️ Migrate more tests to Swift Testing (2/?) 2025-09-29 17:12:43 +02:00
5b27d9f0ea ♻️ Migrate more tests to Swift Testing 2025-09-29 16:39:32 +02:00
9c9720de42 🚧 Add fake API abstraction 2025-09-29 13:40:01 +02:00
cfb72d1781 All tests pass again 2025-09-26 21:58:19 +02:00
7973f12531 Adjust UI tests because Xcode is weird 2025-09-26 21:46:08 +02:00
af13913d9e Improve tests 2025-09-26 21:13:06 +02:00
13013f2513 ♻️ Lint tests, add background update check 2025-09-26 17:00:43 +02:00
5b6a804667 Fix some more tests 2025-09-25 17:38:00 +02:00
3d403f5ef6 ⬆️ Modernize test suite files 2025-09-25 17:05:32 +02:00
0afbf0ddd4 Address testable configurations for fake Valet sites 2025-09-25 16:38:33 +02:00
8abd775eea Fix tests, cleanup 2025-09-25 16:33:10 +02:00
4e7c8ac624 ♻️ WIP: Updates related to Valet version change
- Centralized logic related to fetching Valet version.
- Updating global dependencies now updates the version number of Valet
  in the driver section.
- The latest version of Valet is now determined by checking Packagist.
  (This only occurs when the app starts up.)
2025-08-27 11:23:18 +02:00
88b2495c87 ♻️ WIP: Change some tests to Swift Testing, add TestBundle 2025-08-25 17:45:56 +02:00
8925fc4f90 Query latest version of Valet via Packagist
This makes it possible for PHP Monitor to request what the latest
version of Valet is. This isn't wired up to the UI currently, so
this feature isn't enabled yet.

To enable this feature, I would need to add:
- Conditional check for Valet updates (via setting)
- Decide when to run this check (either every X time and at launch)?

Additionally, PHP Monitor should be aware of its own uptime in order
to make periodic checks if the app hasn't been restarted. A check
should ideally occur every week or so if the app is not restarted.

The relevant app update check should also be adjusted to run in a very
similar way. How frequently the app checks for updates might also be
a setting but I don't want to query too often.
2025-08-25 14:38:38 +02:00
9f1761d68e Checked and updated tests 2024-11-26 13:44:08 +01:00
e3ea712a99 Ensure all tests run and pass 2024-07-16 18:38:56 +02:00
b3b509409a Fix test 2024-03-20 10:47:52 +01:00
b26fc3bc4b 🚀 Version 7.0 2024-02-11 21:35:40 +01:00
2f119d4332 Fix even more tests 2024-01-13 13:22:21 +01:00
d83c629a7b Fix some tests 2024-01-13 12:46:33 +01:00
a7d5950aa0 Test synchronous shell output 2023-11-26 21:48:40 +01:00
da41673855 Fix broken tests 2023-11-24 23:29:25 +01:00