Add new posts and GPG page
This commit is contained in:
parent
9c8a4b0047
commit
e9859a904e
|
@ -9,37 +9,39 @@ title: GPG Public Key
|
|||
## Proof of identity
|
||||
|
||||
As far as you can trust this website, this is a proof of my identity.
|
||||
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
Yes, I use GPG. This message is here to prove my identity to you.
|
||||
My name is Ariejan de Vroom and I use GPG.
|
||||
|
||||
My public key information is:
|
||||
ID: 0xF713697B
|
||||
Fingerprint: 8450 D928 4373 164E 25CC 7E0D AD73 9154 F713 697B
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
||||
Comment: GPGTools - https://gpgtools.org
|
||||
|
||||
iQQcBAEBCgAGBQJTPUABAAoJEK1zkVT3E2l7CyEf/iFXQ+hl8As1oNpHoNKLnIie
|
||||
wpyWBbhOj0YAuxoYA1fmFn3IASq3+st+VZEX82M3FedBLXozxFdFRE6OzLIKlx5i
|
||||
ulbTtjq9gpiPcTO6n9P8hAdn672LAc0Hgo2CDZLg+SGkeseMzrFE5Pki9j7PHUP8
|
||||
3SEk7j/iPQumfoJtPKRqzsnamViFonHorJGY9pso7hHPIaQlw7hQARkU5/OkADKM
|
||||
BjlfqTxcgId9da9Y+yro3MnVWtAR8j1GWZDF90t/xipOQ9Bdj86jPiF16HEtM539
|
||||
VPOsayxry24gEmVMsk4cERgysxUIp2js2v/ETL0udxk+7mP2EILVtUipYGR3jSYJ
|
||||
2ByhPag9LgbqSttXzyrFs3aGl/mp65xZhOuWE/RJexcSa+opB2lQX1YEY3FmgTua
|
||||
cL13rALwd4oa4WSh6nSXlQX6886tV6QQLLUp76Kdss/zBIzTdfmJy51nMhV0dBx9
|
||||
hN8eCAZCGBXS9fBww4Se7xPJppJvSLQbIfpmrTgL3hLaaI0P/B9vlQ0/T+bU/rxX
|
||||
TGukCrM3AQ0viYjw8UvYqvYX86rf0LWzMTKeIJqvId8T4MPceWpxAkUlR64W9J/X
|
||||
/B19rrn+QhOwm/yu0vo7c+LmEpdhvX/6B1Gl7B2FTtzZc1fXTLVPuWSz9s/9K+XX
|
||||
wxbCX4xrNocAfM+ZjR5CpDOPYAhCSlgiTsZBFQ2InN96TjgfgtsBD0oscrFLun6b
|
||||
qKCFScWGRy6ieYkpYi33Rs+UdIGyzf6MezoMmdGTJFlMdCWP8RPBZvvzA7qSfYth
|
||||
HycPonFXnuRm8kjzgQWw7XTYenaaZIe/Cl9w2KtCzXF1dMpBD5SPCqejP7fPLOoW
|
||||
wU3qyiHvDFwsY8dZyi1DqSMHDO0GmYc4g9vJ5jgn/j5PBPEYVnzvjwgiFHT1vTaC
|
||||
rMhKZb5fVq1uLtNxpHLGDPfYIE+XwcKq/wTg7Sq4tPOiM8Hpfa3Ard5z19K9ONJK
|
||||
Ks2k3YHZY/EWSQV6iPMXXogY9chc9wnJaNSMMAvrMMFkQRm1Dqbl8DQXNVn4Qe9G
|
||||
3ZMS5vudACrQgr+oRuvN6sK2T7ezXrZoYorM/1Q4U24to6zk7zJJMJ7Yb1YTISck
|
||||
rpveLzor1PGa9VPxVs1eNGfLwd2zWs15HG/uLNxs0oC8yC+1Hh/7kzunlFd3bLrX
|
||||
MGDDfW/BBqCc5MrxXUMnG+SnKJ56juv8G5VTMe2bKtalbNPinp5BnmWC0QRf9ThN
|
||||
MjIP9n/N7bdLddQjel8x3yFvma2etB+fKLvmsbSYJ3khKCO7858qWQEnur84QrCW
|
||||
letzIrjldL6419I5z6CtOe8JzWwEn5j2uq7i3xy4Ss5qsNG9RM0nWqzJx6o+/mU=
|
||||
=x5b0
|
||||
iQQcBAEBCgAGBQJTTjZQAAoJEK1zkVT3E2l74YYgAJJ4avLqKmWcCKbaHk2uMFo8
|
||||
kE947m1XZ+s45U9wEAVJXNS+zbAc/RzD/Q+Gs3qJpVLx8wECw/6E6yjXODlGbDIG
|
||||
sY4cC/RKbavvW5f2eSoKKL7H5Ptmhx9O8HCPvLMg/fDA1RNUWckoTQvyzZ6XTJWb
|
||||
g1z2uXzL4aQZ50k1UC0dcD0qiErl6LAk0wU+bIEYdLh8y3IH88aRhMZoG0YV5xFC
|
||||
mQXkfsXu7kUHsDJsfX5nmMY6+j+qP/hNVggsOQZ65smhI6WfLyTSzXX4J8fiB3FH
|
||||
cihDVB+lhzUceOFY3J0WdIOCiIxG6r/xa71cCGYFMh/BvMeYEzKU6O9KU6m8YqiH
|
||||
+RPH8+km1A+2LAP9kGB9des55YJd9mivDwFRNMReYcypfs6FsXVsBU4M1H1pY62I
|
||||
IejCYZxlmrHlVLdfkPls1pwO5KMy92foVlcm+TCRtSsEQrYhcVVKSFvh8U1qUJqw
|
||||
GB5HrkYzlkRMQwd0DcIoNXr7NeVL0Haot/ZeQYSgc7FVBJt3Uq82erjkPaeaGQCv
|
||||
D7UO7agPJy7hzeVeiJreTHwM1L48zmpv+qseLh6LAJH14r4piKZwxYxFgvGi0fp9
|
||||
cH27lHi4IwLGJaeOufpCwvCE98eAxr5zYxKfCeCNNCK4abMJgYPrepnbEb1I/LDD
|
||||
Wjri+BzdtUMh2GBl8ZYoVBm07XN2o1tLh1WoEpp/gV+tLTikkAIyWnJ2Y5ISOl/5
|
||||
4yto5fqwB+3EBwvAsoFpclAmm7Ufr+J5jHvZ1Ea+xyc475W0DjpqNyUX3yj6rjP6
|
||||
rbCwvqnvvCcrG49LOrg8cu4/WxKia+MTz8/wZboQnZLAmgxdFh+M9vvolR5UP1ao
|
||||
TBtVXUQa43VLMHuYxcbUeh37L480RyMdyyDkvBNl18r9rGZCuZosa9BTRyoY45rs
|
||||
Jr0HpWZGSTmSF2nej1Cg3MU8VT1ywsQARHdVwPYmNlklxI81PGcelSlqqyjFvmSH
|
||||
wvRp2pokygpN4SBzoUCsHt+UStM12tbg5k3SQWG4Jb5OcVl2PMnE1eNoPeleVw+8
|
||||
W3EdpMoiwzv6KPstIvnBdLe24pdLWvHzeBTI7p0CgS0qitmDIBQhGsB7Du3Nn57+
|
||||
Sk6IK32/9Qn2PXiyeTMdE8NOfj52WKVD3rFaMPsjU/XeqA/nWKoJCbISQ3yp0c8J
|
||||
D62HQpKhxRRcRuesVRhbFdyK+1ssLQ5ZUcx7kKPzLn2amBQzG80XNZbjb24CbY2X
|
||||
CXRh3R0DoSuAnDbYefT9p1ZXiLYMamMkX2UQYavrW3rWh2oA4oJwoTbqJrWtSvjg
|
||||
wXNyc35IivZxfZHegHUmtfEuVX/cFTRLpoIUOWEpZpVLC6pjVfRznVapExr8X5o=
|
||||
=1VS2
|
||||
-----END PGP SIGNATURE-----
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
title: "Dealing With Technical Debt"
|
||||
created_at: 2014-04-04 12:38:41 +0200
|
||||
kind: article
|
||||
published: false
|
||||
tags:
|
||||
- programming
|
||||
- craftsmanship
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
---
|
||||
title: "Testing $HOME with Cucumber and Aruba"
|
||||
created_at: 2014-04-15 21:42:43 +0200
|
||||
kind: article
|
||||
published: true
|
||||
tags:
|
||||
- programming
|
||||
- cucumber
|
||||
- aruba
|
||||
summary: |
|
||||
Cucumber and Aruba make it awesome to write acceptance tests for your
|
||||
command line programs. But how do you test your program interacting with
|
||||
files from a user's <code>$HOME</code> directory?
|
||||
---
|
||||
[Cucumber][1] and [Aruba][2] are awesome tools to write acceptance tests for your command line application. The allow you to do things like this:
|
||||
|
||||
```
|
||||
:::gherkin
|
||||
Scenario: Exit with 0 when no examples are run
|
||||
Given a file named "a_no_examples_spec.rb" with:
|
||||
"""ruby
|
||||
"""
|
||||
When I run `rspec a_no_examples_spec.rb`
|
||||
Then the exit status should be 0
|
||||
And the output should contain "0 examples"
|
||||
```
|
||||
_This example was taken rspec-core._
|
||||
|
||||
Aruba basically does three things for you:
|
||||
|
||||
* Create and inspect files and directories
|
||||
* Run commands
|
||||
* Inspect output and exit status
|
||||
|
||||
## The problem
|
||||
|
||||
Now, if you are writing a CLI that interacts with a configuration file in the user's home directory, you'd write a cucumber like this:
|
||||
|
||||
```
|
||||
:::gherkin
|
||||
Scenario: use .my-app configuration
|
||||
Given a file named "~/.my-app" with:
|
||||
"""
|
||||
awesome_enabled: true
|
||||
"""
|
||||
When I run `my-app`
|
||||
Then the output should contain "AWESOME"
|
||||
```
|
||||
|
||||
But how does your app and Aruba differentiate between this generated test file and your actual configration file in your home directory? It doens't.
|
||||
|
||||
## The answer
|
||||
|
||||
The solution is quite easy and elegant, in your `Before` set the `$HOME` environment variable to a custom location inside the `tmp/aruba` directory.
|
||||
|
||||
In `features/support/env.rb`:
|
||||
|
||||
```
|
||||
:::ruby
|
||||
Before do
|
||||
set_env 'HOME', File.expand_path(File.join(current_dir, 'home'))
|
||||
FileUtils.mkdir_p ENV['HOME']
|
||||
end
|
||||
```
|
||||
|
||||
This will set `$HOME` to `tmp/aruba/home` in the context of your cucumbers (and execute binary). `current_dir` automatically points to the right location for the aruba temporary directory.
|
||||
|
||||
[1]: https://github.com/cucumber/cucumber
|
||||
[2]: https://github.com/cucumber/aruba
|
Loading…
Reference in New Issue
Block a user