mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 14:14:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env python
 | 
						|
import os
 | 
						|
import sys
 | 
						|
import unittest
 | 
						|
 | 
						|
import pexpect
 | 
						|
 | 
						|
 | 
						|
class Test(unittest.TestCase):
 | 
						|
    def test_fish(self):
 | 
						|
        os.environ['TERM'] = 'vt100'
 | 
						|
        child = pexpect.spawn('fish -i')
 | 
						|
        with open(os.environ['IDF_PATH'] + '/fish' + str(sys.version_info.major) + '.out', 'wb') as output:
 | 
						|
            child.logfile = output
 | 
						|
            child.sendline('. ./export.fish')
 | 
						|
            result = child.expect(
 | 
						|
                ['Go to the project directory and run.*idf\\.py build', pexpect.EOF,
 | 
						|
                 pexpect.TIMEOUT], timeout=40)
 | 
						|
            self.assertEqual(result, 0, 'Export was not successful!')
 | 
						|
            child.send('idf.py \t\t')
 | 
						|
            result = child.expect(['all.*app.*app-flash.*bootloader.*', pexpect.EOF, pexpect.TIMEOUT], timeout=40)
 | 
						|
            self.assertEqual(result, 0, 'Autocompletion for idf.py failed in fish!')
 | 
						|
 | 
						|
    def test_bash(self):
 | 
						|
        os.environ['TERM'] = 'xterm-256color'
 | 
						|
        child = pexpect.spawn('bash -i')
 | 
						|
        with open(os.environ['IDF_PATH'] + '/bash' + str(sys.version_info.major) + '.out', 'wb') as output:
 | 
						|
            child.logfile = output
 | 
						|
            child.sendline('. ./export.sh')
 | 
						|
            child.send('idf.py \t\t')
 | 
						|
            result = child.expect(
 | 
						|
                ['Go to the project directory and run.*idf\\.py build', pexpect.EOF,
 | 
						|
                 pexpect.TIMEOUT], timeout=40)
 | 
						|
            self.assertEqual(result, 0, 'Export was not successful!')
 | 
						|
            result = child.expect(
 | 
						|
                ['all.*app.*app-flash.*bootloader.*bootloader-flash.*build-system-targets.*clean.*', pexpect.EOF,
 | 
						|
                 pexpect.TIMEOUT], timeout=40)
 | 
						|
            self.assertEqual(result, 0, 'Autocompletion for idf.py failed in bash!')
 | 
						|
 | 
						|
    def test_zsh(self):
 | 
						|
        child = pexpect.spawn('zsh -i')
 | 
						|
        with open(os.environ['IDF_PATH'] + '/zsh' + str(sys.version_info.major) + '.out', 'wb') as output:
 | 
						|
            child.logfile = output
 | 
						|
            child.sendline('. ./export.sh')
 | 
						|
            result = child.expect(
 | 
						|
                ['Go to the project directory and run.*idf\\.py build', pexpect.EOF,
 | 
						|
                 pexpect.TIMEOUT], timeout=40)
 | 
						|
            self.assertEqual(result, 0, 'Export was not successful!')
 | 
						|
            child.send('idf.py \t\t')
 | 
						|
            result = child.expect(
 | 
						|
                ['all.*app.*app-flash.*bootloader.*bootloader-flash.*build-system-targets.*clean.*', pexpect.EOF,
 | 
						|
                 pexpect.TIMEOUT], timeout=40)
 | 
						|
            self.assertEqual(result, 0, 'Autocompletion for idf.py failed in zsh!')
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    unittest.main()
 |