kelseyhightower / envconfig

Golang library for managing configuration data from environment variables
MIT License
5.01k stars 377 forks source link

Incorrectly reading long strings #186

Open bkielbasa opened 3 years ago

bkielbasa commented 3 years ago

I have a base64 string that I put into the env variable The problem is when I try to read it - it's corrupted. Here's a test for the code in master

type base64Test struct {
    Base64      string `envconfig:"default=LS0tLS1CRUdJTiBQR1AgUFJJVkFURSBLRVkgQkxPQ0stLS0tLQoKbFFXR0JGL0dHWFFCREFDaWR5aCt3OFd1RzhIWkZWUkRZWHRUT3NGdzZ1bzJtMzhzYi9VUEdVQ25sVWlNUVNacgpjQ1pWQVBxcFQrQmdzS1Zyem5kK1pSaVd5aXQ1bkpsT0ZncGE1YUxMTDVsK2Q4Uzh6aWlzSDRSVUN5cVJqYWhVCmpLd0g0NE5mb1hwRkh4d3U3UDVMbjNMVGJraG81bHN5KytUVFpJbWZSQld5bXNUazBidFRuQ01MZ0xaZ0dReGYKcnRhOFhLY0ZwSm1WK3hWSHV3MnJXdWJxdFYrbk1oM2VRQTlYTTNFVlpGU0pZQjlKM0RWN2xwTURXcmN6b09aWApvaVNmbW45eHNXRFh2MjduSldoc2drc1I4T1h3S0xvMS9kQmFFNklMODR1MjZZT0NCZzhwQUdBeEJwSVQyVmRVCkxBdktjcitHWHdDV2VTTHJRNXkrVjltUThCTjZRSU9xVUp3Q3lUV3RWbWRpcTVWOUZIMm9RQlZPZzNQTUFWV3AKc1U5b2V1MWJkZlBwdDBrN0RDMlY2NUdSTHhZRGl1MTJhaVlIN0JCOTlET2cycTVlMEJteHBybUlYY09CVGMxawpDUXlpcGp6MWkyN3lLSDFNL1BVRHp1UHlobGtaVTd1dHFUK3I3VGlDSE9LM0I3TzNZeFJncGM2WkhpeFVmclRVCjEwTW9EVVdpR2s0cE1lVUFFUUVBQWY0SEF3S05nVU9zNzV4Tk5PV0QxdFlpd3luZFdmU3ZhczVPcWFHdlFnUTMKdmIxb3pIaitRb2U5Sjc5c2xheXBEekkvd1hWelJCcFNtOWdZckk2eVB2aGxNRUZaUEtsanlqMU4wREh1UFNpNQpGaEs0dmdwM0wxYk5uS1g5UC93Tk5mWlJsa0pFYmhuUFVZanExQTJJbTk0REZJM1d5QWpWNFdWV1h5YkFEVXRxCnBuemZBUkFtK3Vuc0lUTVpGNWxJRUlWV1o1U3IwVmZvMXVpdWx1NUNWS1lTandIdExldWRTSjc0TGhieG9iOXUKcWNFdGdlYVZJaGpIOHVKQloxSXQrSWh0bFo1YndsWUtYckNzMWVaN0xSR3hhSEZHTThBeTVPZTliYWpPZ015UwpabmN6QnY3V01oOTVOK2JxTS9OWjRxNEhYb1RxSmkzdFp4dUZPd201TkEycHY0T3BuVzBPMHMxeElnWFVOMi8rCm81R0U1UmQ1R2hJT1pjTUloTDE0T1I4VDEwMUQvdU9lV2doMHZqNkcxUkMydGd5Q0ZaZzRrN0RQWnU4bGpIY2oKeFh5aTNiK3dHQlVMVGhIODFhN2Y4ZTJ6alNsWUlhdFkyZXFra2NrUTFBQk5pWmdxdndXUmV6ZkxiZkNSclh3egpYbUhNT1pIN1dzMHRoUFVFaVNneFlpL2svTXFDMEZPVXVwZnFMSWxGbU5BcnFmS1JrejRPRzV4OEJmL2Q3RFczCnYwdTV6ZFRnQXVJMHh6bndvZnRUK29OOTdOOG5TcW9HYjI2RnZzOXpYemZjNkl4WVNPWHF3eHJ6WkpOb0pnL1UKTmd1VDNQNW1IRTcvZ0U5NC9iU09TOGw3enZiZW41MmZaOUZGVm9LWTRreGh6V1g5QXpKR3lIK3FESUZjaEtEZApiYzR0TVZ3MHltdlJsTldFRUNkRFJobzF3UUMwUURMcGpqK08rOHVodzhUU3l4MFh1RDZXUXVGekRoZ0h3Q2tGCmkwZEVRSUQyemxTaWkvb2ZrNlh5bzV3UXJZMGtkcXcyM1RaRkpDYWhyYXhuN2l6eGo3MExFUmNhYi9WbUlQSWEKVCtmN2x6Y2tRRG5IS1VLWHRnLzJCU1dPTVVBRkNvdG1leXI3SUVVTkFpdENEMU0ybUx1QkhJenowelAxQUVveQpTWEdGanFLUzlUeWFiYVdRdkVmWjVmc3JqTjNYdTczMFRwN1RZVGlZQjRuelRvVVZSZk40Sk1jRUlJNlQzRFdlCm1hMy9BVHJQQWh1d0lxSEZkMmNrYzlJZkkvOHdGRGhYSWN0QjhyY1ZTbmF6NFVBMHA4c1NOQzBrWnJvbzJ6S00KaUJWcXc4dDZLa2dWaWVuUjdyUTRzbWNzY3dmWlVCZWM4UHFCQVNFQmx1WWRLQjhqeWlpczhGYVRWUE9YTUFacQpxTUo4bFhMS3pJS2Y2K3dUa2g2QlJtYklFRmUwajU5MWNIU0VNZ2FZNURDZWVTb2ZIZzRjbEsyK3ZXYWFadHpNCkFKVlZmQXVpbFliNGhiSnhpNjVxeWovSXV1am9WTGFFck9zbmM0WVJaK0o5TWtJbmxHNHJpelBnOEFYN2xPN0sKR29PYzNOeDdCTXBSQm4zL1IvZUpVWHRkam80RktYaVZYRk5zbEhzUkYyYkxlZkd3V0xNRnI5VG83SHBMQzlWTApJR29MSWxYeEpOeVVTSlQxNVY4MzkxY3R0ZkJxQW9JSnRZYTBsS24raC9ROEFld0VxK0FrRGF0MGtWQTdmQWJDCmV4VUhsVzJhRkVSMk9QWlJ1SU9UaUQva0hzMmdvUlcxbmJRRmRHVnpkSFNKQWRRRUV3RUlBRDRXSVFSWU9WK3AKRHNtWWRON3R2ejdYaERKb0x1dTRIQVVDWDhZWmRBSWJBd1VKQThKbkFBVUxDUWdIQWdZVkNna0lDd0lFRmdJRApBUUllQVFJWGdBQUtDUkRYaERKb0x1dTRISzh3Qy80NEpSWFVLU0V3UlduSTV4N25RQ3djVWlTODNoOW1KbXJVCmxNTmNySSsxc29STXpkNlVXUTgydHkzZVBhcHJyVDF1SVBqWFF6UXhUNVhHUm9aRlhhK0Q5MkQ2MUh2Mks3US8KTXF1M05NcnF2LzlxNXNBZW5zUE9jQk5nVitKOFU3NjRHdzFaUXA5QSt5Qzh6Q0U3VG1oRkhtQzFqT2Nsd2piMwptNmhIRlU0NUxUMXFSZlJ6MmF0cU5rckozUlJSR3I1UmZiSkd4N1YycmlDeDF4ZEJwMlNadHFRQ1Y3UTN4Tmw1CkVGa1F5VUxhVWZPT0RjZ1JHc3VXOGMvMnJiR3R5blFhNnpDVUlJY3RXUkZGUy9YRWp1VHJWRGg2QnQrMFJXcTYKKzdZUHBOZHpCQ1I3K3E2Q3ZWd2RYRzdQZzQxQklrZFg3SjZkMzJCWEdwOGxwaFFqNDhxWUZ2MEZ3d2lzVnh1TwpIdlhYZTFXTEpIaC9BbS9hWDgyQ1FicEk0dWtaOUhQY2VwQkhDYnZHOHhueFVSbE85RGYvdWdJL1V4TG9KeUo4Ci93ZXloZDBQUndLdnU5M2ZaUS9HMnR4eVpJMTg1My9PdmFlb2lOd2lNakhwLzFDYmlVSUVEV3IwYWpxR1pYd2oKbDgyM09VZWp2VFp0dlhUemVwL21lTm9wTlY3OU5xeWRCWVlFWDhZWmRBRU1BTUxlbGMrT2ErWVRqbkZncG9VVgp2Y0FVU0ZqVWFSMjlKSHd3aFlkVjFvUkJPVkNsS1VxZGNvKy9NdjRrZ1F1eXh3WVIzYmJtYTRTL0R5bFNheDFZCmVZT1p2ZnJidWx0OVZHbFVYNzdxLzFKSWZqV2Q1YTdOaVZPbS9yVHhLM1RaT3hqRXNDSW8wY2R0TENYY2xJMGUKZHhieWZmMTYzUnp1V1ZPQ2p1NzZaMEVtVUx3bEg0WDkxNFZETjd6QTI2anBKRENvMHNBNzhMZXFXZmFYSmg1VgpNL0ZSY2wyVVNBZ09pU2RkZHd0OGpEWjVGMEwyeVdFSEhlRmhoOXNuVGVkZ2ZSKzJINHRwaldETWlxZnZRdE5lCnZKZTBNYlFpeHREb21qMytPWWlSckpUanQzK3JUQlJYa0N4eCtwMGp2MHRIc2puZ21LOFFNQzlkbTlTNWNuakcKMkhnZTdQL2ZjV21UUUtJV3JsRERGOTdhdEZrVFlja09VVXRXQzhVN05XMUdWTkJTdVJOUmpBWlJlMGx0MG5uQwpDeVBMenZyOC9PdmtXQWt2dENDY0hCNEdUY3crZEpHQkZGSTZ0ckJwaDF3WVdIazk4dlNRQUtnZjNWQnl5V3FYClFFaVo0dDVSMytpTTY5VlY1SEIyWFFmYVJuTDBFRUVXckRvTmNIMFdJTjVWcndBUkFRQUIvZ2NEQXNrenVQalYKV3JmVDVWbUc3VW1pYVV1UHM2S3Z2UzRaU3dnK1VHY3BJWmk4YU9qRVRVb3JYS2pua25JMjAwd0pBUjFtOEluTwo5M09TSDJtREYwV3J4dE1EU08yUXYyUzNIQ0U1c2haNXVlR1l3cjVJRitKdjZRWWFhL1RFakVya1R0YzJOYUZKCkVRVnB1SE1ZZHN3ME0rRjUrNmFYanJyY084WENoVlR1ekxaQUJlaWovK293L3Q4cG9PZFlqczIyT0xzcGd6R0oKeXdYdDZFRFFJaW5pV21SWjRMaHBMbmJaeklyc09aa1Jjd0RNanZLSzQ0QWJRRkRTbVdsRFRQVERxM0Mzc3pPVwpYVFZGKzFnSUtGNS8zcFhLcjJ3M3g1SGhoMmQ3aXZWWllBcm5KNW5wSS82OFBnd2Jqczh6dWVHWitBWlp1Q0tMCm8wVFFZNVlJLzNqMTB2dmc0MGZYcFcwNFJBcHgxUFFIM2ZWWUhqRkllNG94L0dpOVJBNTFJaXFZOUJvakdRamMKNmd4SXpMOEF5V01JdmlTS3FtM0NVK05qU1hVMDF2bzdRYVQwcGJjNFpQUUxHZE92eXRzZlR5d3NoMlN4ZDYrVAoyWmVucy9iVlh4R1FJRTdVc1ZLVmhrdGQ4SHBkV0V5dmlydFdPclNrKzQzMGdaelVaMzkwbjdIRXJsQ0ZldGl0CjcrakhLUEVmYVo1T1RRR3I4bXIrd2pnZnY5SklTZjJuQXNTOFVkMnBJQlJ5cjYwc0piVWhYV1U5SjJiVWNhVTcKUDNzdTZSVTE4Q212NW4xb0JLdXErQTJFbHNuSzVqblVmWlQxQU9RWDFwVmhkK0pBellZczdQQTd6bTZoZzZJaQpoMWtzOW5teThneW1kQzZYMklsb0cwSUZxSzhtbWJ3cy8wSlVnaFFrcEN5aWo1cUNXcDNBZTh0TXoza0ZWc2gzCkQyd1puMkl4akJIYUhaUlNsNjdOL2xDNTNMQTN2bVBQdzRhQWRIaSszYUpVRkZkNFZmTGltK0pYYTJMWjdSM0oKVnRXdndhcHRTT2QvVGtKSGliR0VtVjZFOHRLK3FXU1FINU0xQ3JrZEl0TU5aY3l5UmR2UEpPNzVVSE50Nk1mcgpTUm5HbjZOZmNKMDI3U1F3dDYvUnZWSmM5cEdNclBmQ0RwektrRUZQVXdiNVFPenZIZnZYN3ZpOFRVeENYRk8zCnZBTzRpM292QXpkTXFNQTZDZW1GNGhJWEJEeWpKVW5lWHhVWFAzWXlKaFBrb0xZbXFJVU1OQVlhbDVnemZZbksKbWdGUENXRnZ3a3Z3NUNHbHBDSWtoQURGUkdtRURnYTdrMkJvNlcxSDQzY0RaMjJ3OWc1bTViVnJ2NmRtejNyNgpiWS9ZQ0pjQnNRMnllQm9wU3l2Ti95MTkxdDZDSGtPNkszQXlpdndHd25MS2tpcHpqR0JvWGlzTGYwb1NHcUx0CkYxQXBaU0c5eTN4MWpGUloyaUs0dytpRGVUcFpyR2JjM1hLZzFKMnpIWldka1JxVTJWaXE4YjJrd21YVS8wdWwKVUVvdHc1L1I4Y1NUd3pGYS9KUkp1RUlBSDVuWE5pbWhhS05adU9Wa0V3TkVZclQ3SXgzY3c3YlhSeFppSmJBdwpIaE1ycEhqZHUraHFWODVUcFU1SE5OWkJ2cjM2TUNjQlhUYWZvUkZWTW9LdmJDRy9KT1BTQ3puVFFPYnRMRVY1CmtWUHdSWmNZU2JzLzZhYXllUC9qZ3o1SFp5Nk1IQXlFS3FzK2VKaHR1ZTgydzJrdlFyYngvOTN6MUJZb3p4RFgKaVFHOEJCZ0JDQUFtRmlFRVdEbGZxUTdKbUhUZTdiOCsxNFF5YUM3cnVCd0ZBbC9HR1hRQ0d3d0ZDUVBDWndBQQpDZ2tRMTRReWFDN3J1Qnkwand2L2ZRL0pMeDdPcjY5VUZsSlAyMk84K3hsdmFqMGtNTTkxaUoyVGJyUTRSTy9DCmNKODYxcVNGbzlpbnFZRkVEOVhvTW8ycEhwbnVsZEFOWjdvV3NEKzFxSUQrTTBFMzNaZUtMZjM3aGgxbUU4UDYKZHhWSG1HRHRORWpycnY5NEZBdFJGY1U2NkdydndteTJDVVlJMkhabW1EUkJzRkp2RWVUQkIvSWkwL2IvYStISApkTEtpeEJJb1JPK25IaWdoWTFWcWFCc2FWd1ZFeUF5b3d3NWRuQ1FZT1hONW54OTRKbTNzNEc5R082clMvMGNQClN4bWlBbjd0NUFvNjViWVVNSlFIdlRqbDFMOTJsQTMvMnlKdkErUzRjZ1Y5d3RnQlY2dGlwZU1Hb3RleUd6ZVcKa0dJcysvQTNReFdkRjdrSzFwSlNXZ2xSRUUyQUNld3JzdHU1bWsxM0xkKzI3OURCNlNyZkp1QzIrQUdIenlwcQpLWkFTcmxkU0ZQcGRuQXUrNjdIK0hkM3BuS3poL0pQQUJJVUMrblA3N0wvcW8xNlVYbUZJc1JPVllCK2pSV21zCjVDcVBSNzdNL0E1M3JHK25GNmFLRWtlemplMEcyMHVSZG1FdURoak0wb1c5S2lMU1MrT0k5SHA0WDlDMjArclYKK3FCWnlxZzQvUmprcFlZWCtaZWMKPUorQ2YKLS0tLS1FTkQgUEdQIFBSSVZBVEUgS0VZIEJMT0NLLS0tLS0=="`
}

func TestBase64Decode(t *testing.T) {
    var s base64Test
    base64 := `LS0tLS1CRUdJTiBQR1AgUFJJVkFURSBLRVkgQkxPQ0stLS0tLQoKbFFXR0JGL0dHWFFCREFDaWR5aCt3OFd1RzhIWkZWUkRZWHRUT3NGdzZ1bzJtMzhzYi9VUEdVQ25sVWlNUVNacgpjQ1pWQVBxcFQrQmdzS1Zyem5kK1pSaVd5aXQ1bkpsT0ZncGE1YUxMTDVsK2Q4Uzh6aWlzSDRSVUN5cVJqYWhVCmpLd0g0NE5mb1hwRkh4d3U3UDVMbjNMVGJraG81bHN5KytUVFpJbWZSQld5bXNUazBidFRuQ01MZ0xaZ0dReGYKcnRhOFhLY0ZwSm1WK3hWSHV3MnJXdWJxdFYrbk1oM2VRQTlYTTNFVlpGU0pZQjlKM0RWN2xwTURXcmN6b09aWApvaVNmbW45eHNXRFh2MjduSldoc2drc1I4T1h3S0xvMS9kQmFFNklMODR1MjZZT0NCZzhwQUdBeEJwSVQyVmRVCkxBdktjcitHWHdDV2VTTHJRNXkrVjltUThCTjZRSU9xVUp3Q3lUV3RWbWRpcTVWOUZIMm9RQlZPZzNQTUFWV3AKc1U5b2V1MWJkZlBwdDBrN0RDMlY2NUdSTHhZRGl1MTJhaVlIN0JCOTlET2cycTVlMEJteHBybUlYY09CVGMxawpDUXlpcGp6MWkyN3lLSDFNL1BVRHp1UHlobGtaVTd1dHFUK3I3VGlDSE9LM0I3TzNZeFJncGM2WkhpeFVmclRVCjEwTW9EVVdpR2s0cE1lVUFFUUVBQWY0SEF3S05nVU9zNzV4Tk5PV0QxdFlpd3luZFdmU3ZhczVPcWFHdlFnUTMKdmIxb3pIaitRb2U5Sjc5c2xheXBEekkvd1hWelJCcFNtOWdZckk2eVB2aGxNRUZaUEtsanlqMU4wREh1UFNpNQpGaEs0dmdwM0wxYk5uS1g5UC93Tk5mWlJsa0pFYmhuUFVZanExQTJJbTk0REZJM1d5QWpWNFdWV1h5YkFEVXRxCnBuemZBUkFtK3Vuc0lUTVpGNWxJRUlWV1o1U3IwVmZvMXVpdWx1NUNWS1lTandIdExldWRTSjc0TGhieG9iOXUKcWNFdGdlYVZJaGpIOHVKQloxSXQrSWh0bFo1YndsWUtYckNzMWVaN0xSR3hhSEZHTThBeTVPZTliYWpPZ015UwpabmN6QnY3V01oOTVOK2JxTS9OWjRxNEhYb1RxSmkzdFp4dUZPd201TkEycHY0T3BuVzBPMHMxeElnWFVOMi8rCm81R0U1UmQ1R2hJT1pjTUloTDE0T1I4VDEwMUQvdU9lV2doMHZqNkcxUkMydGd5Q0ZaZzRrN0RQWnU4bGpIY2oKeFh5aTNiK3dHQlVMVGhIODFhN2Y4ZTJ6alNsWUlhdFkyZXFra2NrUTFBQk5pWmdxdndXUmV6ZkxiZkNSclh3egpYbUhNT1pIN1dzMHRoUFVFaVNneFlpL2svTXFDMEZPVXVwZnFMSWxGbU5BcnFmS1JrejRPRzV4OEJmL2Q3RFczCnYwdTV6ZFRnQXVJMHh6bndvZnRUK29OOTdOOG5TcW9HYjI2RnZzOXpYemZjNkl4WVNPWHF3eHJ6WkpOb0pnL1UKTmd1VDNQNW1IRTcvZ0U5NC9iU09TOGw3enZiZW41MmZaOUZGVm9LWTRreGh6V1g5QXpKR3lIK3FESUZjaEtEZApiYzR0TVZ3MHltdlJsTldFRUNkRFJobzF3UUMwUURMcGpqK08rOHVodzhUU3l4MFh1RDZXUXVGekRoZ0h3Q2tGCmkwZEVRSUQyemxTaWkvb2ZrNlh5bzV3UXJZMGtkcXcyM1RaRkpDYWhyYXhuN2l6eGo3MExFUmNhYi9WbUlQSWEKVCtmN2x6Y2tRRG5IS1VLWHRnLzJCU1dPTVVBRkNvdG1leXI3SUVVTkFpdENEMU0ybUx1QkhJenowelAxQUVveQpTWEdGanFLUzlUeWFiYVdRdkVmWjVmc3JqTjNYdTczMFRwN1RZVGlZQjRuelRvVVZSZk40Sk1jRUlJNlQzRFdlCm1hMy9BVHJQQWh1d0lxSEZkMmNrYzlJZkkvOHdGRGhYSWN0QjhyY1ZTbmF6NFVBMHA4c1NOQzBrWnJvbzJ6S00KaUJWcXc4dDZLa2dWaWVuUjdyUTRzbWNzY3dmWlVCZWM4UHFCQVNFQmx1WWRLQjhqeWlpczhGYVRWUE9YTUFacQpxTUo4bFhMS3pJS2Y2K3dUa2g2QlJtYklFRmUwajU5MWNIU0VNZ2FZNURDZWVTb2ZIZzRjbEsyK3ZXYWFadHpNCkFKVlZmQXVpbFliNGhiSnhpNjVxeWovSXV1am9WTGFFck9zbmM0WVJaK0o5TWtJbmxHNHJpelBnOEFYN2xPN0sKR29PYzNOeDdCTXBSQm4zL1IvZUpVWHRkam80RktYaVZYRk5zbEhzUkYyYkxlZkd3V0xNRnI5VG83SHBMQzlWTApJR29MSWxYeEpOeVVTSlQxNVY4MzkxY3R0ZkJxQW9JSnRZYTBsS24raC9ROEFld0VxK0FrRGF0MGtWQTdmQWJDCmV4VUhsVzJhRkVSMk9QWlJ1SU9UaUQva0hzMmdvUlcxbmJRRmRHVnpkSFNKQWRRRUV3RUlBRDRXSVFSWU9WK3AKRHNtWWRON3R2ejdYaERKb0x1dTRIQVVDWDhZWmRBSWJBd1VKQThKbkFBVUxDUWdIQWdZVkNna0lDd0lFRmdJRApBUUllQVFJWGdBQUtDUkRYaERKb0x1dTRISzh3Qy80NEpSWFVLU0V3UlduSTV4N25RQ3djVWlTODNoOW1KbXJVCmxNTmNySSsxc29STXpkNlVXUTgydHkzZVBhcHJyVDF1SVBqWFF6UXhUNVhHUm9aRlhhK0Q5MkQ2MUh2Mks3US8KTXF1M05NcnF2LzlxNXNBZW5zUE9jQk5nVitKOFU3NjRHdzFaUXA5QSt5Qzh6Q0U3VG1oRkhtQzFqT2Nsd2piMwptNmhIRlU0NUxUMXFSZlJ6MmF0cU5rckozUlJSR3I1UmZiSkd4N1YycmlDeDF4ZEJwMlNadHFRQ1Y3UTN4Tmw1CkVGa1F5VUxhVWZPT0RjZ1JHc3VXOGMvMnJiR3R5blFhNnpDVUlJY3RXUkZGUy9YRWp1VHJWRGg2QnQrMFJXcTYKKzdZUHBOZHpCQ1I3K3E2Q3ZWd2RYRzdQZzQxQklrZFg3SjZkMzJCWEdwOGxwaFFqNDhxWUZ2MEZ3d2lzVnh1TwpIdlhYZTFXTEpIaC9BbS9hWDgyQ1FicEk0dWtaOUhQY2VwQkhDYnZHOHhueFVSbE85RGYvdWdJL1V4TG9KeUo4Ci93ZXloZDBQUndLdnU5M2ZaUS9HMnR4eVpJMTg1My9PdmFlb2lOd2lNakhwLzFDYmlVSUVEV3IwYWpxR1pYd2oKbDgyM09VZWp2VFp0dlhUemVwL21lTm9wTlY3OU5xeWRCWVlFWDhZWmRBRU1BTUxlbGMrT2ErWVRqbkZncG9VVgp2Y0FVU0ZqVWFSMjlKSHd3aFlkVjFvUkJPVkNsS1VxZGNvKy9NdjRrZ1F1eXh3WVIzYmJtYTRTL0R5bFNheDFZCmVZT1p2ZnJidWx0OVZHbFVYNzdxLzFKSWZqV2Q1YTdOaVZPbS9yVHhLM1RaT3hqRXNDSW8wY2R0TENYY2xJMGUKZHhieWZmMTYzUnp1V1ZPQ2p1NzZaMEVtVUx3bEg0WDkxNFZETjd6QTI2anBKRENvMHNBNzhMZXFXZmFYSmg1VgpNL0ZSY2wyVVNBZ09pU2RkZHd0OGpEWjVGMEwyeVdFSEhlRmhoOXNuVGVkZ2ZSKzJINHRwaldETWlxZnZRdE5lCnZKZTBNYlFpeHREb21qMytPWWlSckpUanQzK3JUQlJYa0N4eCtwMGp2MHRIc2puZ21LOFFNQzlkbTlTNWNuakcKMkhnZTdQL2ZjV21UUUtJV3JsRERGOTdhdEZrVFlja09VVXRXQzhVN05XMUdWTkJTdVJOUmpBWlJlMGx0MG5uQwpDeVBMenZyOC9PdmtXQWt2dENDY0hCNEdUY3crZEpHQkZGSTZ0ckJwaDF3WVdIazk4dlNRQUtnZjNWQnl5V3FYClFFaVo0dDVSMytpTTY5VlY1SEIyWFFmYVJuTDBFRUVXckRvTmNIMFdJTjVWcndBUkFRQUIvZ2NEQXNrenVQalYKV3JmVDVWbUc3VW1pYVV1UHM2S3Z2UzRaU3dnK1VHY3BJWmk4YU9qRVRVb3JYS2pua25JMjAwd0pBUjFtOEluTwo5M09TSDJtREYwV3J4dE1EU08yUXYyUzNIQ0U1c2haNXVlR1l3cjVJRitKdjZRWWFhL1RFakVya1R0YzJOYUZKCkVRVnB1SE1ZZHN3ME0rRjUrNmFYanJyY084WENoVlR1ekxaQUJlaWovK293L3Q4cG9PZFlqczIyT0xzcGd6R0oKeXdYdDZFRFFJaW5pV21SWjRMaHBMbmJaeklyc09aa1Jjd0RNanZLSzQ0QWJRRkRTbVdsRFRQVERxM0Mzc3pPVwpYVFZGKzFnSUtGNS8zcFhLcjJ3M3g1SGhoMmQ3aXZWWllBcm5KNW5wSS82OFBnd2Jqczh6dWVHWitBWlp1Q0tMCm8wVFFZNVlJLzNqMTB2dmc0MGZYcFcwNFJBcHgxUFFIM2ZWWUhqRkllNG94L0dpOVJBNTFJaXFZOUJvakdRamMKNmd4SXpMOEF5V01JdmlTS3FtM0NVK05qU1hVMDF2bzdRYVQwcGJjNFpQUUxHZE92eXRzZlR5d3NoMlN4ZDYrVAoyWmVucy9iVlh4R1FJRTdVc1ZLVmhrdGQ4SHBkV0V5dmlydFdPclNrKzQzMGdaelVaMzkwbjdIRXJsQ0ZldGl0CjcrakhLUEVmYVo1T1RRR3I4bXIrd2pnZnY5SklTZjJuQXNTOFVkMnBJQlJ5cjYwc0piVWhYV1U5SjJiVWNhVTcKUDNzdTZSVTE4Q212NW4xb0JLdXErQTJFbHNuSzVqblVmWlQxQU9RWDFwVmhkK0pBellZczdQQTd6bTZoZzZJaQpoMWtzOW5teThneW1kQzZYMklsb0cwSUZxSzhtbWJ3cy8wSlVnaFFrcEN5aWo1cUNXcDNBZTh0TXoza0ZWc2gzCkQyd1puMkl4akJIYUhaUlNsNjdOL2xDNTNMQTN2bVBQdzRhQWRIaSszYUpVRkZkNFZmTGltK0pYYTJMWjdSM0oKVnRXdndhcHRTT2QvVGtKSGliR0VtVjZFOHRLK3FXU1FINU0xQ3JrZEl0TU5aY3l5UmR2UEpPNzVVSE50Nk1mcgpTUm5HbjZOZmNKMDI3U1F3dDYvUnZWSmM5cEdNclBmQ0RwektrRUZQVXdiNVFPenZIZnZYN3ZpOFRVeENYRk8zCnZBTzRpM292QXpkTXFNQTZDZW1GNGhJWEJEeWpKVW5lWHhVWFAzWXlKaFBrb0xZbXFJVU1OQVlhbDVnemZZbksKbWdGUENXRnZ3a3Z3NUNHbHBDSWtoQURGUkdtRURnYTdrMkJvNlcxSDQzY0RaMjJ3OWc1bTViVnJ2NmRtejNyNgpiWS9ZQ0pjQnNRMnllQm9wU3l2Ti95MTkxdDZDSGtPNkszQXlpdndHd25MS2tpcHpqR0JvWGlzTGYwb1NHcUx0CkYxQXBaU0c5eTN4MWpGUloyaUs0dytpRGVUcFpyR2JjM1hLZzFKMnpIWldka1JxVTJWaXE4YjJrd21YVS8wdWwKVUVvdHc1L1I4Y1NUd3pGYS9KUkp1RUlBSDVuWE5pbWhhS05adU9Wa0V3TkVZclQ3SXgzY3c3YlhSeFppSmJBdwpIaE1ycEhqZHUraHFWODVUcFU1SE5OWkJ2cjM2TUNjQlhUYWZvUkZWTW9LdmJDRy9KT1BTQ3puVFFPYnRMRVY1CmtWUHdSWmNZU2JzLzZhYXllUC9qZ3o1SFp5Nk1IQXlFS3FzK2VKaHR1ZTgydzJrdlFyYngvOTN6MUJZb3p4RFgKaVFHOEJCZ0JDQUFtRmlFRVdEbGZxUTdKbUhUZTdiOCsxNFF5YUM3cnVCd0ZBbC9HR1hRQ0d3d0ZDUVBDWndBQQpDZ2tRMTRReWFDN3J1Qnkwand2L2ZRL0pMeDdPcjY5VUZsSlAyMk84K3hsdmFqMGtNTTkxaUoyVGJyUTRSTy9DCmNKODYxcVNGbzlpbnFZRkVEOVhvTW8ycEhwbnVsZEFOWjdvV3NEKzFxSUQrTTBFMzNaZUtMZjM3aGgxbUU4UDYKZHhWSG1HRHRORWpycnY5NEZBdFJGY1U2NkdydndteTJDVVlJMkhabW1EUkJzRkp2RWVUQkIvSWkwL2IvYStISApkTEtpeEJJb1JPK25IaWdoWTFWcWFCc2FWd1ZFeUF5b3d3NWRuQ1FZT1hONW54OTRKbTNzNEc5R082clMvMGNQClN4bWlBbjd0NUFvNjViWVVNSlFIdlRqbDFMOTJsQTMvMnlKdkErUzRjZ1Y5d3RnQlY2dGlwZU1Hb3RleUd6ZVcKa0dJcysvQTNReFdkRjdrSzFwSlNXZ2xSRUUyQUNld3JzdHU1bWsxM0xkKzI3OURCNlNyZkp1QzIrQUdIenlwcQpLWkFTcmxkU0ZQcGRuQXUrNjdIK0hkM3BuS3poL0pQQUJJVUMrblA3N0wvcW8xNlVYbUZJc1JPVllCK2pSV21zCjVDcVBSNzdNL0E1M3JHK25GNmFLRWtlemplMEcyMHVSZG1FdURoak0wb1c5S2lMU1MrT0k5SHA0WDlDMjArclYKK3FCWnlxZzQvUmprcFlZWCtaZWMKPUorQ2YKLS0tLS1FTkQgUEdQIFBSSVZBVEUgS0VZIEJMT0NLLS0tLS0==`
    os.Clearenv()
    err := Process("", &s)
    if err != nil {
        t.Error("failure while reading base64 string", err)
    }

    if s.Base64 != base64 {
        t.Error("base64 codes don't match")
    }
}
vfaronov commented 3 years ago

Your struct tag is wrong. As per the readme, it should be default:"LS0tLS1..."